Przeglądaj źródła

* fixed solaris siginfo structure

git-svn-id: trunk@5621 -
Jonas Maebe 18 lat temu
rodzic
commit
e62b7ae4b1
1 zmienionych plików z 24 dodań i 22 usunięć
  1. 24 22
      rtl/solaris/signal.inc

+ 24 - 22
rtl/solaris/signal.inc

@@ -93,36 +93,38 @@ type
   psigset_t=psigset;
   TSigSet = SigSet;
 
+  t_pdata = record
+    case longint of
+      1 : ( _kill : record
+              _uid   : uid_t;
+              _value : cint; { signal sent? }
+            end );
+      2 : ( _cld : record
+              _utime  : clock_t;
+              _status : cint;
+              _stime  : clock_t;
+            end );
+  end;
+
+  t_proc = record
+    _pid: pid_t;
+    _pdata: t_pdata;
+  end;
+
   psiginfo = ^tsiginfo;
   tsiginfo = record
        si_signo : cint;
-       si_errno : cint;
        si_code  : cint;
+       si_errno : cint;
 {$ifdef cpu64}
        si_pad   : cint;
 {$endif cpu64}
        _sifields : record
            case longint of
-              0 : ( _pad : array[0..(SI_PAD_SIZE)-1] of longint );
-              1 : ( _kill : record
-                   _pid : pid_t;
-                   _uid : uid_t;
-                end );
-              2 : ( _timer : record
-                   _timer1 : dword;
-                   _timer2 : dword;
-                end );
-              3 : ( _rt : record
-                   _pid : pid_t;
-                   _uid : uid_t;
-                   _sigval : pointer;
-                end );
-              4 : ( _sigchld : record
-                   _pid : pid_t;
-                   _uid : uid_t;
-                   _status : longint;
-                   _utime : clock_t;
-                   _stime : clock_t;
+              0 : ( _pad : array[0..(SI_PAD_SIZE)-1] of cint );
+              1 : ( _proc : t_proc);
+              3 : ( _rctl : record
+                   _entity : longint; { int32_t }
                 end );
               5 : ( _sigfault : record
                    _addr : pointer;
@@ -130,8 +132,8 @@ type
                    _pc    : pointer;
                 end );
               6 : ( _sigpoll : record
-                   _band : longint;
                    _fd : longint;
+                   _band : longint;
                 end );
            end;
     end;