Subject: Re: 24.1.50; a regression with pselect(2) on FreeBSD after r108687

From: Paul Eggert <[email-masked]>
Date: Mon, 16 Jul 2012 19:20:42 -0700

Thanks for that bug report.  Herbert J. Skuhra also
privately reported the same bug, and was gracious enough to
give me a login on a FreeBSD host where I could reproduce
your test case and debug the problem.

I found two related bugs.  First, Emacs's 'configure' script
incorrectly assumed that pthread_sigmask wasn't working on
FreeBSD; this is fixed in Emacs trunk bzr 109107.

Second, the gnulib fallback code for pthread_sigmask
incorrectly assumed that FreeBSD's pthread_sigmask (1729,
NULL, NULL) returns a nonzero error number, which it does
not -- it returns 0.  This is arguably a POSIX-compliance
bug in FreeBSD, but a bug like this is something that should
not make Emacs hang.  This is fixed by Emacs trunk bzr
109099.

I'm marking the bug as done; please feel free to reopen it if
this fix does not work for you.

Here's some URLs if you want to see diffs:

http://bzr.savannah.gnu.org/lh/emacs/trunk/revision/109099

http://bzr.savannah.gnu.org/lh/emacs/trunk/revision/109107