-í
æ¶<c       sX     d  Z    d e f d „  ƒ  YZ  d e f d „  ƒ  YZ  d f  d „  ƒ  YZ d S(   s'   A multi-producer, multi-consumer queue.s   Emptyc      s    t  Z d  Z   RS(   s4   Exception raised by Queue.get(block=0)/get_nowait().(   s   __name__s
   __module__s   __doc__(    (    (    s   /usr/lib/python2.2/Queue.pys   Empty s   s   Fullc      s    t  Z d  Z  	 RS(   s4   Exception raised by Queue.put(block=0)/put_nowait().(   s   __name__s
   __module__s   __doc__(    (    (    s   /usr/lib/python2.2/Queue.pys   Full s   s   Queuec      s¼    t  Z  d d „ Z  d „  Z  d „  Z & d „  Z - d d „ Z B d „  Z J d d	 „ Z ` d
 „  Z	 m d „  Z
 q d „  Z u d „  Z y d „  Z } d „  Z  d „  Z RS(   Ni    c    sl      d k  }  |  i | ƒ  | i ƒ  |  _  | i ƒ  |  _  |  i i ƒ   | i ƒ  |  _ d S(   sv   Initialize a queue object with a given maximum size.

        If maxsize is <= 0, the queue size is infinite.
        N(	   s   threads   selfs   _inits   maxsizes   allocate_locks   mutexs   esemas   acquires   fsema(   s   selfs   maxsizes   thread(    (    s   /usr/lib/python2.2/Queue.pys   __init__ s   c    s@      |  i i ƒ   |  i ƒ  }  |  i i ƒ   | Sd S(   s9   Return the approximate size of the queue (not reliable!).N(   s   selfs   mutexs   acquires   _qsizes   ns   release(   s   selfs   n(    (    s   /usr/lib/python2.2/Queue.pys   qsize s
   c    s@      ! |  i i ƒ  " |  i ƒ  } # |  i i ƒ  $ | Sd S(   s<   Return 1 if the queue is empty, 0 otherwise (not reliable!).N(   s   selfs   mutexs   acquires   _emptys   ns   release(   s   selfs   n(    (    s   /usr/lib/python2.2/Queue.pys   empty s
   c    s@   & ' ( |  i i ƒ  ) |  i ƒ  } * |  i i ƒ  + | Sd S(   s;   Return 1 if the queue is full, 0 otherwise (not reliable!).N(   s   selfs   mutexs   acquires   _fulls   ns   release(   s   selfs   n(    (    s   /usr/lib/python2.2/Queue.pys   full& s
   i   c    sÎ   - 4 5 | o 6 |  i i ƒ  n% 7 |  i i d ƒ o 8 t ‚ n 9 |  i i ƒ  : |  i ƒ  } ; |  i | ƒ < | o = |  i
 i ƒ  n > |  i ƒ  o ? |  i i ƒ  n @ |  i i ƒ  d S(   s  Put an item into the queue.

        If optional arg 'block' is 1 (the default), block if
        necessary until a free slot is available.  Otherwise (block
        is 0), put an item on the queue if a free slot is immediately
        available, else raise the Full exception.
        i    N(   s   blocks   selfs   fsemas   acquires   Fulls   mutexs   _emptys	   was_emptys   _puts   items   esemas   releases   _full(   s   selfs   items   blocks	   was_empty(    (    s   /usr/lib/python2.2/Queue.pys   put- s   

c    s   B G H |  i | d ƒ Sd S(   s©   Put an item into the queue without blocking.

        Only enqueue the item if a free slot is immediately available.
        Otherwise raise the Full exception.
        i    N(   s   selfs   puts   item(   s   selfs   item(    (    s   /usr/lib/python2.2/Queue.pys
   put_nowaitB s   c    sÔ   J Q R | o S |  i i ƒ  n% T |  i i d ƒ o U t ‚ n V |  i i ƒ  W |  i ƒ  } X |  i ƒ  } Y | o Z |  i
 i ƒ  n [ |  i ƒ  o \ |  i i ƒ  n ] |  i i ƒ  ^ | Sd S(   s  Remove and return an item from the queue.

        If optional arg 'block' is 1 (the default), block if
        necessary until an item is available.  Otherwise (block is 0),
        return an item if one is immediately available, else raise the
        Empty exception.
        i    N(   s   blocks   selfs   esemas   acquires   Emptys   mutexs   _fulls   was_fulls   _gets   items   fsemas   releases   _empty(   s   selfs   blocks   items   was_full(    (    s   /usr/lib/python2.2/Queue.pys   getJ s   

c    s   ` e f |  i d ƒ Sd S(   s¬   Remove and return an item from the queue without blocking.

        Only get an item if one is immediately available.  Otherwise
        raise the Empty exception.
        i    N(   s   selfs   get(   s   self(    (    s   /usr/lib/python2.2/Queue.pys
   get_nowait` s   c    s   m n | |  _  o g  |  _ d  S(   N(   s   maxsizes   selfs   queue(   s   selfs   maxsize(    (    s   /usr/lib/python2.2/Queue.pys   _initm s   c    s   q r t  |  i ƒ Sd  S(   N(   s   lens   selfs   queue(   s   self(    (    s   /usr/lib/python2.2/Queue.pys   _qsizeq s   c    s   u v |  i Sd  S(   N(   s   selfs   queue(   s   self(    (    s   /usr/lib/python2.2/Queue.pys   _emptyu s   c    s0   y z |  i d j o t |  i ƒ |  i j Sd  S(   Ni    (   s   selfs   maxsizes   lens   queue(   s   self(    (    s   /usr/lib/python2.2/Queue.pys   _fully s   c    s   } ~ |  i i | ƒ d  S(   N(   s   selfs   queues   appends   item(   s   selfs   item(    (    s   /usr/lib/python2.2/Queue.pys   _put} s   c    s+    ‚ |  i d } ƒ |  i d =„ | Sd  S(   Ni    (   s   selfs   queues   item(   s   selfs   item(    (    s   /usr/lib/python2.2/Queue.pys   _get s   (   s   __name__s
   __module__s   __init__s   qsizes   emptys   fulls   puts
   put_nowaits   gets
   get_nowaits   _inits   _qsizes   _emptys   _fulls   _puts   _get(    (    (    s   /usr/lib/python2.2/Queue.pys   Queue s   	N(   s   __doc__s	   Exceptions   Emptys   Fulls   Queue(   s   Queues   Fulls   Empty(    (    s   /usr/lib/python2.2/Queue.pys   ? s   