Browse Source

* Fix emptying sa_mask

marco 23 years ago
parent
commit
9413936786
1 changed files with 12 additions and 3 deletions
  1. 12 3
      fcl/freebsd/thread.inc

+ 12 - 3
fcl/freebsd/thread.inc

@@ -71,9 +71,15 @@ begin
   GetMem(Act, SizeOf(SigActionRec));
   GetMem(Act, SizeOf(SigActionRec));
   GetMem(OldAct, SizeOf(SigActionRec));
   GetMem(OldAct, SizeOf(SigActionRec));
 
 
-  Act^.handler.sh := @SIGCHLDHandler;
+  {$ifndef ver_1_0}
+    Act^.sa_handler := @SIGCHLDHandler;
+    fillchar(Act^.sa_mask,sizeof(sigset_t),#0);
+  {$else}
+    Act^.handler.sh := @SIGCHLDHandler;
+    Act^.sa_mask := 0; 
+  {$endif}
   Act^.sa_flags := SA_NOCLDSTOP {or SA_NOMASK or SA_RESTART};
   Act^.sa_flags := SA_NOCLDSTOP {or SA_NOMASK or SA_RESTART};
-  Act^.sa_mask := 0; //Do not block all signals ??. Don't need if SA_NOMASK in flags
+			//Do not block all signals ??. Don't need if SA_NOMASK in flags
 
 
   SigAction(SIGCHLD, Act, OldAct);
   SigAction(SIGCHLD, Act, OldAct);
 
 
@@ -284,7 +290,10 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.6  2002-09-07 15:15:24  peter
+  Revision 1.7  2002-10-24 12:47:54  marco
+   * Fix emptying sa_mask
+
+  Revision 1.6  2002/09/07 15:15:24  peter
     * old logs removed and tabs fixed
     * old logs removed and tabs fixed
 
 
 }
 }