|
@@ -916,10 +916,9 @@ VAR
|
|
|
PROCEDURE {C} SigHandler ( sig: LONGINT; scp: ADDRESS; ucp: Ucontext ); (* reversed arguments !! *)
|
|
|
BEGIN
|
|
|
IF trap # NIL THEN
|
|
|
- Trace.Address( ucp ); Trace.Ln;
|
|
|
trap( sig, S.VAL( Mcontext, ADDRESSOF( ucp.mc ) ) )
|
|
|
ELSE
|
|
|
- TRACE( sig, scp, ucp )
|
|
|
+ Trace.String( "Unix.SigHandler: sig = " ); Trace.Int( sig, 0 ); Trace.Ln; exit( -1 );
|
|
|
END;
|
|
|
END SigHandler;
|
|
|
|
|
@@ -964,9 +963,14 @@ VAR
|
|
|
VAR i: LONGINT;
|
|
|
BEGIN
|
|
|
FOR i := 1 TO 15 DO
|
|
|
- IF i # 9 THEN InstallHandler(i) END;
|
|
|
+ IF ~(i IN {SIGINT, SIGKILL}) THEN InstallHandler(i) END;
|
|
|
END;
|
|
|
END InitSignalHandler;
|
|
|
+
|
|
|
+ PROCEDURE HandleSignal*( sig: LONGINT );
|
|
|
+ BEGIN
|
|
|
+ InstallHandler( sig )
|
|
|
+ END HandleSignal;
|
|
|
|
|
|
PROCEDURE errno*(): LONGINT;
|
|
|
VAR loc: ADDRESS;
|