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:
parent
c556f14e66
commit
722581ecee
1 changed files with 10 additions and 0 deletions
|
@ -28,6 +28,15 @@ _raise:
|
|||
sta jmpvec+1
|
||||
lda sigtable+1,x
|
||||
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
|
||||
|
||||
|
@ -42,3 +51,4 @@ _raise:
|
|||
invalidsig:
|
||||
rts
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue