[Python-Dev] Add an optional timeout to lock operations
Jesse Noller
jnoller at gmail.com
Wed Nov 18 13:45:42 CET 2009
On Nov 18, 2009, at 5:38 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
> Antoine Pitrou wrote:
>> Guido van Rossum <guido <at> python.org> writes:
>>> Will locks be interruptible with ^C? That is an oft-requested
>>> feature
>>> which also wasn't supported at that time; what's the situation
>>> nowadays?
>>
>> They still aren't interruptible. From what I can read it may be
>> possible to make
>> them interruptible in the POSIX semaphore-based implementation, not
>> in the POSIX
>> condition variable-based implementation (which is used as a
>> fallback when POSIX
>> semaphores are not available, but I don't know whether this
>> fallback is still
>> useful).
>
> I'm pretty sure at least some variants of *BSD still don't have OS
> level
> semaphores - their lack is the reason multiprocessing doesn't
> necessarily work everywhere that the threading module works (since mp
> needs semaphores in order to work its magic).
>
> Jesse would probably know the gory details.
>
> Cheers,
> Nick.
>
Nick is right, many of the BSDs and FreeBSD up until fairly recently
did not have named shared semaphore support. Still yet, the behavior
is broken on some OSes such as OS X which you have to work around.
I wouldn't recommend using them for threading right now, there's an
assumption that threading "just works" unlike multiprocessing, which
people understand has caveats.
Jesse
More information about the Python-Dev
mailing list