Browse Source

+ sigfpe -> runerror 200

peter 27 years ago
parent
commit
98f3f733a3
1 changed files with 17 additions and 8 deletions
  1. 17 8
      rtl/linux/syslinux.pp

+ 17 - 8
rtl/linux/syslinux.pp

@@ -701,26 +701,32 @@ end;
                          SystemUnit Initialization
                          SystemUnit Initialization
 *****************************************************************************}
 *****************************************************************************}
 
 
-Procedure SegFaultHandler (Sig : longint);
+Procedure SignalToRunError(Sig:longint);
 begin
 begin
-  if sig=11 then
-   HandleError (216);
+  case sig of
+    8 : HandleError(200);
+   11 : HandleError(216);
+  end;
 end;
 end;
 
 
 
 
-Procedure InstallSegFaultHandler;
+Procedure InstallSignals;
 var
 var
   sr : syscallregs;
   sr : syscallregs;
 begin
 begin
+  sr.reg3:=longint(@SignalToRunError);
+  { sigsegv }
   sr.reg2:=11;
   sr.reg2:=11;
-  sr.reg3:=longint(@SegFaultHandler);
+  syscall(syscall_nr_signal,sr);
+  { sigfpe }
+  sr.reg2:=8;
   syscall(syscall_nr_signal,sr);
   syscall(syscall_nr_signal,sr);
 end;
 end;
 
 
 
 
 Begin
 Begin
-{ Set up segfault Handler }
-  InstallSegFaultHandler;
+{ Set up signals handlers }
+  InstallSignals;
 { Setup heap }
 { Setup heap }
   InitHeap;
   InitHeap;
 { Setup stdin, stdout and stderr }
 { Setup stdin, stdout and stderr }
@@ -733,7 +739,10 @@ End.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.16  1998-09-14 10:48:27  peter
+  Revision 1.17  1998-10-15 08:30:00  peter
+    + sigfpe -> runerror 200
+
+  Revision 1.16  1998/09/14 10:48:27  peter
     * FPC_ names
     * FPC_ names
     * Heap manager is now system independent
     * Heap manager is now system independent