Repository URL to install this package:
Version:
3.3.29 ▾
|
ó EYc @ sn d d l Z d d l Z d d l m Z d e f d YZ d e f d YZ d e f d YZ d S( iÿÿÿÿN( t hubst Semaphorec B s e Z d Z d d Z d Z d Z d Z d Z e d d Z d Z e d Z d Z d Z e d Z RS( s An unbounded semaphore. Optionally initialize with a resource *count*, then :meth:`acquire` and :meth:`release` resources as needed. Attempting to :meth:`acquire` when *count* is zero suspends the calling greenthread until *count* becomes nonzero again. This is API-compatible with :class:`threading.Semaphore`. It is a context manager, and thus can be used in a with block:: sem = Semaphore(2) with sem: do_some_stuff() If not specified, *value* defaults to 1. It is possible to limit acquire time:: sem = Semaphore() ok = sem.acquire(timeout=0.1) # True if acquired, False if timed out. i c C s y t | } Wn= t k rO } d j t | t | } t | n X| d k r d j t | } t | n | | _ t j | _ d S( Ns0 Semaphore() expect value :: int, actual: {0} {1}i s* Semaphore() expect value >= 0, actual: {0}( t intt ValueErrort formatt typet strt TypeErrort reprt countert collectionst dequet _waiters( t selft valuet et msg( ( sG /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/semaphore.pyt __init__! s c C s8 | j j t t | | j t | j f } d | S( Ns <%s at %s c=%s _w[%s]>( t __class__t __name__t hext idR t lenR ( R t params( ( sG /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/semaphore.pyt __repr__- s c C s) | j j | j t | j f } d | S( Ns <%s c=%s _w[%s]>( R R R R R ( R R ( ( sG /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/semaphore.pyt __str__2 s !c C s | j d k S( s7 Returns true if a call to acquire would block. i ( R ( R ( ( sG /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/semaphore.pyt locked6 s c C s t S( sb Returns False; for consistency with :class:`~eventlet.semaphore.CappedSemaphore`. ( t False( R ( ( sG /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/semaphore.pyt bounded; s c C s | d k r d } n | d k r<