#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].