public
/
ack.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5891ec1
)
improved trap handling
author
ceriel
<none@none>
Wed, 27 Apr 1988 18:11:33 +0000
(18:11 +0000)
committer
ceriel
<none@none>
Wed, 27 Apr 1988 18:11:33 +0000
(18:11 +0000)
lang/m2/libm2/Traps.def
patch
|
blob
|
history
lang/m2/libm2/head_m2.e
patch
|
blob
|
history
diff --git
a/lang/m2/libm2/Traps.def
b/lang/m2/libm2/Traps.def
index
3c380f8
..
5b010c6
100644
(file)
--- a/
lang/m2/libm2/Traps.def
+++ b/
lang/m2/libm2/Traps.def
@@
-23,6
+23,8
@@
DEFINITION MODULE Traps;
PROCEDURE InstallTrapHandler(t: TrapHandler): TrapHandler;
(* Install a new trap handler, and return the previous one.
Parameter of trap handler is the trap number.
+ When a trap occurs, the default trap handler is re-installed before
+ calling the new handler.
*)
PROCEDURE Message(str: ARRAY OF CHAR);
diff --git
a/lang/m2/libm2/head_m2.e
b/lang/m2/libm2/head_m2.e
index
6e4c02d
..
c2a77a4
100644
(file)
--- a/
lang/m2/libm2/head_m2.e
+++ b/
lang/m2/libm2/head_m2.e
@@
-92,12
+92,14
@@
mainroutine
end
pro $trap_handler,0
+ lpi $trap_handler
+ sig
lol 0 ; trap number
lae handler
loi EM_PSIZE
+ lpi $catch
+ sti EM_PSIZE
cai
- lpi $trap_handler
- sig
asp EM_PSIZE+EM_WSIZE
rtt
end 0