mirror of
https://github.com/cc65/cc65.git
synced 2025-08-10 04:25:21 +00:00
Reset signal handler to SIG_DFL on a call to raise()
git-svn-id: svn://svn.cc65.org/cc65/trunk@2018 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -29,6 +29,15 @@ _raise:
|
|||||||
lda sigtable+1,x
|
lda sigtable+1,x
|
||||||
sta jmpvec+2
|
sta jmpvec+2
|
||||||
|
|
||||||
|
; Reset the signal handler to SIG_DFL (I don't like this because it may
|
||||||
|
; introduce race conditions, but it's the simplest way to satisfy the
|
||||||
|
; standard).
|
||||||
|
|
||||||
|
lda #<__sig_dfl
|
||||||
|
sta sigtable,x
|
||||||
|
lda #>__sig_dfl
|
||||||
|
sta sigtable+1,x
|
||||||
|
|
||||||
; Restore the signal number and call the function
|
; Restore the signal number and call the function
|
||||||
|
|
||||||
pla ; Low byte
|
pla ; Low byte
|
||||||
@@ -42,3 +51,4 @@ _raise:
|
|||||||
invalidsig:
|
invalidsig:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user