Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #75903

Re: Specifying `blocking` and `timeout` when acquiring lock as a context manager

From "Neil D. Cerutti" <neilc@norwich.edu>
Subject Re: Specifying `blocking` and `timeout` when acquiring lock as a context manager
Date 2014-08-08 14:57 -0400
References <ff17939d-84cc-4f86-a5b9-9056d76dc9c0@googlegroups.com> <53E4CFD9.4080209@stoneleaf.us> <ls2sh7$eip$1@ger.gmane.org> <CAPTjJmpvfrEPc3tGVfhNS1W2bo9B4QR7AkK99yxMyOZND4woNQ@mail.gmail.com> <ls359h$tqv$1@ger.gmane.org>
Newsgroups comp.lang.python
Message-ID <mailman.12759.1407524326.18130.python-list@python.org> (permalink)

Show all headers | View raw


On 8/8/2014 2:35 PM, Neil D. Cerutti wrote:
> Here's another attempt at context managing:


> @contextlib.contextmanager
> def release_if_acquired(lock, blocking=True, timeout=-1):
>      acquired = lock.acquire(blocking, timeout)
>      if acquired:
>          yield acquired
>          lock.release()
>      else:
>          yield acquired

I should not have used a temporary.

@contextlib.contextmanager
def release_if_acquired(lock, blocking=True, timeout=-1):
      if lock.acquire(blocking, timeout)
          yield True
          lock.release()
      else:
          yield False

-- 
Neil Cerutti

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Specifying `blocking` and `timeout` when acquiring lock as a context manager cool-RR <ram.rachum@gmail.com> - 2014-08-08 04:51 -0700
  Re: Specifying `blocking` and `timeout` when acquiring lock as a context manager Ethan Furman <ethan@stoneleaf.us> - 2014-08-08 06:25 -0700
  Re: Specifying `blocking` and `timeout` when acquiring lock as a context manager "Neil D. Cerutti" <neilc@norwich.edu> - 2014-08-08 12:05 -0400
  Re: Specifying `blocking` and `timeout` when acquiring lock as a context manager Chris Angelico <rosuav@gmail.com> - 2014-08-09 02:16 +1000
  Re: Specifying `blocking` and `timeout` when acquiring lock as a context manager "Neil D. Cerutti" <neilc@norwich.edu> - 2014-08-08 14:35 -0400
  Re: Specifying `blocking` and `timeout` when acquiring lock as a context manager "Neil D. Cerutti" <neilc@norwich.edu> - 2014-08-08 14:57 -0400
  Re: Specifying `blocking` and `timeout` when acquiring lock as a context manager Chris Kaynor <ckaynor@zindagigames.com> - 2014-08-08 12:07 -0700
  Re: Specifying `blocking` and `timeout` when acquiring lock as a context manager Ian Kelly <ian.g.kelly@gmail.com> - 2014-08-08 13:21 -0600
  Re: Specifying `blocking` and `timeout` when acquiring lock as a context manager Chris Angelico <rosuav@gmail.com> - 2014-08-09 08:57 +1000

csiph-web