[Python-Dev] cygwin errors
Tim Peters
tim.one@comcast.net
Mon, 21 Jul 2003 15:55:31 -0400
[Jason Tishler]
> Ding, ding, ding! We have a winner:
Congratulations!
> http://sf.net/tracker/?group_id=5470&atid=305470&func=detail&aid=742741
>
> The above patch enables HAVE_PTHREAD_SIGMASK under Cygwin which was
> not enabled before.
>
> ...
>
> Scanning the Cygwin code, I found the following:
>
> extern "C" int
> pthread_sigmask (int operation, const sigset_t *set, sigset_t
> *old_set)
> {
> pthread *thread = pthread::self ();
>
> // lock this myself, for the use of thread2signal
> ***> // two differt kills might clash: FIXME
> [snip]
> }
>
> Hence, it seems that my hypothesis that a Python change was tickling a
> Cygwin bug (i.e., the above FIXME or another issue) is correct.
>
> So, the question is how should we deal with this issue?
>
> 1. Leave the Python code base alone and assume that Cygwin's
> pthread_sigmask() will get fixed. Additionally, assume I will
> patch around this problem until that happens.
> 2. Patch the Python code base so that HAVE_PTHREAD_SIGMASK is
> undefined under Cygwin.
>
> I recommend option #1. Do others agree?
I don't know. It seems the only effect of HAVE_PTHREAD_SIGMASK is to decide
whether Python uses pthread_sigmask() or sigprocmask(). If the latter works
but the former doesn't, I would have guessed you'd like to use the latter
<wink>.
> Did I miss any other options?
>
> BTW, does anyone know if Python is triggering the FIXME in Cygwin's
> pthread_sigmask()?
Sorry, no idea.
> Or, should I look elsewhere?
Ditto.