This repository was archived by the owner on Feb 13, 2025. It is now read-only.
This repository was archived by the owner on Feb 13, 2025. It is now read-only.
Make an atomic context manager #13
Closed

Description
Originally reported by: RMTEW FULL NAME (Bitbucket: rmtew, GitHub: rmtew)
(originally reported in Trac by @ctismer on 2013-01-27 03:16:39)
Thinking of this example of atomic (taken as-is)
#!python
def acquire_lock(self):
old = stackless.setatomic(1)
if self.free:
self.free = False:
else:
self.channel.receive()
stackless.setatomic(old)
I felt it would make sense to make a context manager:
#!python
def acquire_lock(self):
with stackless.atomic()
if self.free:
self.free = False:
else:
self.channel.receive()
See http://www.python.org/dev/peps/pep-0343/
What do you think:
- Does it make sense to add that?
- do we need any arguments?
- makes sense as a builtin?
Does the syntax make sense, or is there a usecase that operates on anything else than
//stackless.getcurrent()//?