Message133910
One solution to fix this problem is to use pthread_sigmask() on the _read() thread to not handle SIGARLM. For example, the faulthandler uses the following code to not handle any thread in its timeout thread:
#ifdef HAVE_PTHREAD_H
sigset_t set;
/* we don't want to receive any signal */
sigfillset(&set);
#if defined(HAVE_PTHREAD_SIGMASK) && !defined(HAVE_BROKEN_PTHREAD_SIGMASK)
pthread_sigmask(SIG_SETMASK, &set, NULL);
#else
sigprocmask(SIG_SETMASK, &set, NULL);
#endif
#endif |
|
Date |
User |
Action |
Args |
2011-04-16 23:23:54 | vstinner | set | recipients:
+ vstinner, pitrou |
2011-04-16 23:23:54 | vstinner | set | messageid: <1302996234.67.0.791286078375.issue11859@psf.upfronthosting.co.za> |
2011-04-16 23:23:54 | vstinner | link | issue11859 messages |
2011-04-16 23:23:54 | vstinner | create | |
|