This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author tim.peters
Recipients Kevin Shweh, SnoopJeDi, bjs, eryksun, pitrou, serhiy.storchaka, tim.peters, vstinner
Date 2022-02-12.18:58:50
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1644692330.68.0.487421460638.issue46726@roundup.psfhosted.org>
In-reply-to
Content
Eryk, I don't think that workaround is solid on Windows in all cases. For example, if .join() is called with a timeout, the same timeout is passed to lock.acquire(block, timeout). If the acquire() in fact times out, but the store to the `acquired` variable is interrupted, `if _WINDOWS and acquired is None` will succeed, despite that the lock is still locked. Then we go on to - again - incorrectly release the lock and call _stop().

But please don't "repair" that: platform-specific tricks aren't on a path to an actual solution ;-) If the latter requires some new C code, fine.
History
Date User Action Args
2022-02-12 18:58:50tim.peterssetrecipients: + tim.peters, pitrou, vstinner, serhiy.storchaka, eryksun, Kevin Shweh, bjs, SnoopJeDi
2022-02-12 18:58:50tim.peterssetmessageid: <1644692330.68.0.487421460638.issue46726@roundup.psfhosted.org>
2022-02-12 18:58:50tim.peterslinkissue46726 messages
2022-02-12 18:58:50tim.peterscreate