#55: blocked signals --------------------------------+------------------------------------------- Reporter: heller | Owner: somebody Type: defect | Status: new Priority: major | Milestone: Component: Core | Version: 20c Keywords: signals interrupts | --------------------------------+------------------------------------------- I think there is a problem related to blocked signals and garbage collection:
1. Start {{{cmucl -noinit -eval '(loop (ext:gc :full t))'}}} in a terminal and let it run.
2. Under Linux, {{{cat /proc/<pid>/status}}} shows that !SigBlk is 0 i.e. no signals are blocked.
3. Interrupt the loop with C-c (SIGINT) and wait for the debugger.
4. !SigBlk is still 0.
5. Type c to continue the loop.
6. !SigBlk is now 000000001fc90000
That's a bug, right? It should again be zero.
The problem doesn't occur if the loop is empty, so I figure this has something to do with GC.
#55: blocked signals ---------------------+------------------------------------------------------ Reporter: heller | Owner: somebody Type: defect | Status: closed Priority: major | Milestone: Component: Core | Version: 20c Resolution: fixed | Keywords: signals interrupts ---------------------+------------------------------------------------------ Changes (by toy.raymond@…):
* status: new => closed * resolution: => fixed
Comment:
commit d6cb31e417a1f73fcd326de8534f6a3da0f2cc89 Author: Raymond Toy toy.raymond@gmail.com Date: Fri Feb 3 19:47:29 2012 -0800
Fix ticket:55. Copy all of the sigmask instead of just a few. This only affected linux which uses an array for the sigmask.