Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Fri, 7 Sep 2018 09:57:21 -0400
From: "Joseph C. Sible" <josephcsible@...il.com>
To: musl@...ts.openwall.com
Subject: Re: Compile-time flag to enable optional EINTR's?

On Fri, Sep 7, 2018 at 9:15 AM Rich Felker <dalias@...c.org> wrote:
> I seem to recall Python's testsuite having a test asserting that POSIX
> semaphores respond to interrupting signals, so it sounds like the
> underlying problem is that Python is implementing some of its
> primitives with a non-portable assumption. I'll take a look or see if
> someone else from the community wants to.

You're correct. I agree that they're in the wrong here. I opened
https://bugs.python.org/issue34004 about it a while ago. I'm not sure
what the best way is to fix it though. The only way I know of to get
rid of the race condition is pselect/ppoll/etc. (all way heavier than
futex), something nonportable like signalfd or eventfd, or having
another thread to do all the signal handling and wake up all the
futexes (and the associated complexity of making sure they never get
the two wakeup cases mixed up). Do you have an opinion as to the best
solution that could be done on their end?

Joseph C. Sible

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.