#304 closed defect (fixed)
The --enable-ptrace option does not work with threads
Reported by: | rainer | Owned by: | rainer |
---|---|---|---|
Priority: | major | Milestone: | 3.0.6 |
Component: | main | Version: | |
Keywords: | Cc: |
Description
The --enable-ptrace option does not work with threads, because it uses raise(), which will deliver the signal to the current thread. Need to unblock the signal (reported by [anonymous]).
--- src/sh_pthread.c~ 2011-04-24 22:42:24.000000000 +0200 +++ src/sh_pthread.c 2012-08-08 21:50:45.380332741 +0200 @@ -84,6 +84,12 @@ /* block all signals */ sigfillset( &signal_set ); +#if defined(SCREW_IT_UP) + /* The SIGTRAP signal is used to detect a connected debugger + via sh_sigtrap_handler(), so we want our thread to still + have this signal handler. */ + sigdelset( &signal_set, SIGTRAP ); +#endif pthread_sigmask( SIG_BLOCK, &signal_set, NULL ); /* find a free slot in threads[]
Note:
See TracTickets
for help on using tickets.
Believed to be fixed by changeset [405].