+2011-07-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ pselect: Use pthread_sigmask, not sigprocmask.
+ * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
+ multithreaded apps better than sigprocmask does.
+ * modules/pselect (Depends-on): Depend on pthread_sigmask, not
+ sigprocmask directly.
+
2011-07-05 Paul Eggert <eggert@cs.ucla.edu>
* lib/pselect.c (pselect): Use plain name, without "rpl_".
/* Signal mask munging should be atomic, but this is the best we can
do in this emulation. */
if (sigmask)
- sigprocmask (SIG_SETMASK, sigmask, &origmask);
+ pthread_sigmask (SIG_SETMASK, sigmask, &origmask);
select_result = select (nfds, rfds, wfds, xfds, tvp);
if (sigmask)
{
int select_errno = errno;
- sigprocmask (SIG_SETMASK, &origmask, NULL);
+ pthread_sigmask (SIG_SETMASK, &origmask, NULL);
errno = select_errno;
}