summaryrefslogtreecommitdiffstats
path: root/chksum.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2020-04-14 06:17:21 -0700
committerKaz Kylheku <kaz@kylheku.com>2020-04-14 06:17:21 -0700
commita506664be6f93a51152cb7c25fad1f9466ebc78c (patch)
tree77d7123e096fe41aaf01fe9aea6ba96e01b3cb48 /chksum.h
parent386d7143b677979e02392bb8750aea1da00fb687 (diff)
downloadtxr-a506664be6f93a51152cb7c25fad1f9466ebc78c.tar.gz
txr-a506664be6f93a51152cb7c25fad1f9466ebc78c.tar.bz2
txr-a506664be6f93a51152cb7c25fad1f9466ebc78c.zip
unwind: regression: signal mask restoring.
We have a regression introduced in TXR 230, as part of the bugfix for the extended_setjmp crash caused by PIE executables. This bug (for instance) causes signal handling to misbehave after TXR handles a single asynchronous signal. In the REPL, if the user interrupts a (usleep ...) operation with Ctrl-C, it is afterward not possible to issue any more Ctrl-C interrupts, asynchronous or not. The reason is that an asynchronous interrupt directly throws an exception out of the signal handler. Then the botched restoring of the signal mask in extjmp_restore will install the wrong signal mask, causing the signal to be blocked. * unwind.c (extjmp_restore): Remove stray statement that clobbers the saved mask of blocked signals. This was accidentally been copy-and-pasted from extjmp_save.
Diffstat (limited to 'chksum.h')
0 files changed, 0 insertions, 0 deletions