
ga¸2c      s     k  Z   k Z  k Z 	 e i ƒ  Z 
 e i ƒ  Z  d  Z  e i ƒ  Z  e i ƒ   d Z	  d „  Z
  d  Z   d „  Z ) x# e e	 ƒ d  ) r Z * e ƒ  q W, d GH- e i ƒ  . d GH0 d f  d „  ƒ  YZ J d Z K d	 „  Z b d
 GHc e i d  ƒ o d e d ‚ n e e e	 ƒ Z f e	 Z g x/ e e	 ƒ d  g r Z h e i e e f ƒ qQWi e i ƒ  j d GHd S(   i    i
   c   s·      t  i ƒ   t i ƒ  t }  t  i ƒ   d G|  Gd G| Gd GH t i	 | ƒ  d G|  Gd GH t
 i ƒ   t d a  t d j o  t i ƒ  n  t
 i ƒ  d  S(   Ns   tasks   will run fors   secs   donei   i    (   s   whmutexs   acquires   whrandoms   randoms   numtaskss   delays   releases   idents   times   sleeps   mutexs   runnings   done(   s   idents   delays&   /usr/lib/python1.4/test/test_thread.pys   taskc     s`     ! " t  i ƒ  # t d a $ d Gt GH% t i t t f ƒ & t d a ' t  i ƒ  d  S(   Ni   s   creating task(   s   mutexs   acquires
   next_idents   threads   start_new_threads   tasks   runnings   release(    s&   /usr/lib/python1.4/test/test_thread.pys   newtasks!   waiting for all tasks to completes   all tasks dones   barrierc     s   0 1 d „  Z  8 d „  Z RS(   Nc   sS   1 2 | |  _  3 d |  _ 4 t i ƒ  |  _ 5 t i ƒ  |  _ 6 |  i i ƒ  d  S(   Ni    (   s   ns   selfs   waitings   threads   allocate_locks   checkins   checkouts   acquire(   s   selfs   ns&   /usr/lib/python1.4/test/test_thread.pys   __init__c   sè   8 9 |  i |  i f \ } } ; | i ƒ  < |  i d |  _ = |  i |  i j o+ > |  i d |  _ ? | i ƒ  @ d  Sn A | i ƒ  C | i ƒ  D |  i d |  _ E |  i d j o F | i ƒ  G d  Sn H | i ƒ  d  S(   Ni   i    (   s   selfs   checkins   checkouts   acquires   waitings   ns   release(   s   selfs   checkins   checkouts&   /usr/lib/python1.4/test/test_thread.pys   enter(   s   __init__s   enter(    s&   /usr/lib/python1.4/test/test_thread.pys   barrieri   c   s  K L M xÀ t  t ƒ d M r­ } N |  d j o R d } n. T t i ƒ  U t i ƒ  t	 } V t i
 ƒ  W d G|  Gd G| Gd GHX t i | ƒ Y d G|  Gd G| GHZ t i ƒ  [ d G|  Gd G| GHq W\ t i ƒ  ] t d a ^ t d j o _ t i
 ƒ  n ` t i
 ƒ  d  S(	   Ni    f0.001s   tasks   will run fors   secs   entering barriers   leaving barrieri   (   s   ranges   numtripss   is   idents   delays   whmutexs   acquires   whrandoms   randoms   numtaskss   releases   times   sleeps   bars   enters   mutexs   runnings   done(   s   idents   is   delays&   /usr/lib/python1.4/test/test_thread.pys   task2s   
*** Barrier Test ***s$   'done' should have remained acquiredN(   s   whrandoms   threads   times   allocate_locks   mutexs   whmutexs   runnings   dones   acquires   numtaskss   tasks
   next_idents   newtasks   ranges   is   barriers   numtripss   task2s
   ValueErrors   bars   start_new_thread(    s&   /usr/lib/python1.4/test/test_thread.pys   ?