-í
ê¶<c       s¢     d  k  l Z  d k Z  d k Z  d k Z 
 e i ƒ  Z  e i ƒ  Z  d a  e i ƒ  Z	  e	 i
 ƒ   d Z  d „  Z " d a # d „  Z - x! e e ƒ D- ] Z . e ƒ  q´ W0 d GH1 e	 i
 ƒ  2 d GH4 d f  d	 „  ƒ  YZ N d
 Z O d „  Z m d GHn e	 i
 d ƒ o o e d ‚ n p e e ƒ Z q e a r x- e e ƒ Dr ] Z s e i e e f ƒ qfWt e	 i
 ƒ  u d GHd S(   (   s   verboseNi    i
   c    sÜ      t  i ƒ   t i ƒ  t }  t  i ƒ   t o%  d G|  Gd Gt | d ƒ Gd GHn  t	 i
 | ƒ  t o  d G|  Gd GHn  t i ƒ   t d a  t d j o  t i ƒ  n   t i ƒ  d  S(   Ns   tasks   will run fori   s   secs   donei    (   s   rmutexs   acquires   randoms   numtaskss   delays   releases   verboses   idents   rounds   times   sleeps   mutexs   runnings   done(   s   idents   delay(    (    s&   /usr/lib/python2.2/test/test_thread.pys   task s   
%
c      sn   # $ % t  i ƒ  & t d a ' t o ( d Gt GHn ) t i t t f ƒ * t d a + t  i ƒ  d  S(   Ni   s   creating task(	   s   mutexs   acquires
   next_idents   verboses   threads   start_new_threads   tasks   runnings   release(    (    (    s&   /usr/lib/python2.2/test/test_thread.pys   newtask# s   
s!   waiting for all tasks to completes   all tasks dones   barrierc      s#   4 t  Z 5 d „  Z < d „  Z RS(   Nc    sS   5 6 | |  _  7 d |  _ 8 t i ƒ  |  _ 9 t i ƒ  |  _ : |  i i ƒ  d  S(   Ni    (   s   ns   selfs   waitings   threads   allocate_locks   checkins   checkouts   acquire(   s   selfs   n(    (    s&   /usr/lib/python2.2/test/test_thread.pys   __init__5 s
   c    sè   < = |  i |  i f \ } } ? | i ƒ  @ |  i d |  _ A |  i |  i j o+ B |  i d |  _ C | i ƒ  D d  Sn E | i ƒ  G | i ƒ  H |  i d |  _ I |  i d j o J | i ƒ  K d  Sn L | i ƒ  d  S(   Ni   i    (   s   selfs   checkins   checkouts   acquires   waitings   ns   release(   s   selfs   checkouts   checkin(    (    s&   /usr/lib/python2.2/test/test_thread.pys   enter< s   (   s   __name__s
   __module__s   __init__s   enter(    (    (    s&   /usr/lib/python2.2/test/test_thread.pys   barrier4 s   	i   c    sR  O P Q xñ t  t ƒ DQ ]à } R |  d j o V d } n. X t i ƒ  Y t i ƒ  t } Z t i	 ƒ  [ t
 o% \ d G|  Gd Gt | d ƒ Gd GHn ] t i | ƒ ^ t
 o _ d G|  Gd G| GHn ` t i ƒ  a t
 o b d G|  Gd G| GHn q Wc t i ƒ  d t d 8a h t d j } i t i	 ƒ  j | o k t i	 ƒ  n d  S(	   Ni    f0.001s   tasks   will run fori   s   secs   entering barriers   leaving barrier(   s   ranges   numtripss   is   idents   delays   rmutexs   acquires   randoms   numtaskss   releases   verboses   rounds   times   sleeps   bars   enters   mutexs   runnings   finisheds   done(   s   idents   is   finisheds   delay(    (    s&   /usr/lib/python2.2/test/test_thread.pys   task2O s,    	
%


s   
*** Barrier Test ***s$   'done' should have remained acquired(   s   test_supports   verboses   randoms   threads   times   allocate_locks   mutexs   rmutexs   runnings   dones   acquires   numtaskss   tasks
   next_idents   newtasks   ranges   is   barriers   numtripss   task2s
   ValueErrors   bars   start_new_thread(   s   numtripss   task2s   tasks   bars   verboses   threads   is   randoms   newtasks   barriers   dones   times   rmutexs   mutexs   numtasks(    (    s&   /usr/lib/python2.2/test/test_thread.pys   ? s>   			
 			 	