£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

])                 @   sW  d  d l  Z  d  d l Z d  d l Z d d l m Z g  Z Gd d   d e  Z Gd d   d e  Z Gd d	   d	 e  Z	 Gd
 d   d e  Z
 Gd d   d e  Z Gd d   d e j  Z Gd d   d e  Z e d d   e e  D  e _ e j d k rGd d   d e j  Z Gd d   d e j  Z Gd d   d e j  Z Gd d   d e  Z Gd d   d e  Z Gd d    d  e  Z d! e   d" e   d# e   i Z e e d!  Z nN Gd$ d   d e j  Z Gd% d   d e  Z d" e   i Z e e d"  Z d& d'   Z e j   Z d( d)   Z d* d+   Z d, d-   Z  d S).    N   )processc               @   s   e  Z d  Z d S)ProcessErrorN)__name__
__module____qualname__ r   r   ,/opt/alt/python35/lib64/python3.5/context.pyr      s   r   c               @   s   e  Z d  Z d S)BufferTooShortN)r   r   r   r   r   r   r	   r
      s   r
   c               @   s   e  Z d  Z d S)TimeoutErrorN)r   r   r   r   r   r   r	   r      s   r   c               @   s   e  Z d  Z d S)AuthenticationErrorN)r   r   r   r   r   r   r	   r      s   r   c               @   s  e  Z d  Z e Z e Z e Z e Z e e j	  Z	 e e j
  Z
 d d   Z d d   Z d d d  Z d d	   Z d
 d   Z d d d  Z d d d  Z d d d  Z d d   Z d d d d  Z d d d  Z d d d  Z d d   Z d d f  d d d   Z d! d"   Z d# d$   Z d% d d& d'  Z d% d d( d)  Z d* d+   Z d, d-   Z d d. d/  Z d0 d1   Z  d2 d3   Z! d4 d5   Z" d d6 d7  Z# d8 d9 d:  Z$ d8 d; d<  Z% d= d>   Z& d S)?BaseContextc             C   s/   t  j   } | d  k r' t d   n | Sd  S)Nzcannot determine number of cpus)os	cpu_countNotImplementedError)selfnumr   r   r	   r   '   s    zBaseContext.cpu_countc             C   s3   d d l  m } | d |  j    } | j   | S)Nr   )SyncManagerctx)managersr   get_contextstart)r   r   mr   r   r	   Manager/   s    
zBaseContext.ManagerTc             C   s   d d l  m } | |  S)Nr   )Pipe)
connectionr   )r   duplexr   r   r   r	   r   :   s    zBaseContext.Pipec             C   s#   d d l  m } | d |  j    S)Nr   )Lockr   )synchronizer   r   )r   r   r   r   r	   r   ?   s    zBaseContext.Lockc             C   s#   d d l  m } | d |  j    S)Nr   )RLockr   )r   r   r   )r   r   r   r   r	   r   D   s    zBaseContext.RLockNc             C   s&   d d l  m } | | d |  j   S)Nr   )	Conditionr   )r   r    r   )r   lockr    r   r   r	   r    I   s    zBaseContext.Conditionr   c             C   s&   d d l  m } | | d |  j   S)Nr   )	Semaphorer   )r   r"   r   )r   valuer"   r   r   r	   r"   N   s    zBaseContext.Semaphorec             C   s&   d d l  m } | | d |  j   S)Nr   )BoundedSemaphorer   )r   r$   r   )r   r#   r$   r   r   r	   r$   S   s    zBaseContext.BoundedSemaphorec             C   s#   d d l  m } | d |  j    S)Nr   )Eventr   )r   r%   r   )r   r%   r   r   r	   r%   X   s    zBaseContext.Eventc             C   s,   d d l  m } | | | | d |  j   S)Nr   )Barrierr   )r   r&   r   )r   partiesactiontimeoutr&   r   r   r	   r&   ]   s    zBaseContext.Barrierr   c             C   s&   d d l  m } | | d |  j   S)Nr   )Queuer   )queuesr*   r   )r   maxsizer*   r   r   r	   r*   b   s    zBaseContext.Queuec             C   s&   d d l  m } | | d |  j   S)Nr   )JoinableQueuer   )r+   r-   r   )r   r,   r-   r   r   r	   r-   g   s    zBaseContext.JoinableQueuec             C   s#   d d l  m } | d |  j    S)Nr   )SimpleQueuer   )r+   r.   r   )r   r.   r   r   r	   r.   l   s    zBaseContext.SimpleQueuec             C   s/   d d l  m } | | | | | d |  j   S)Nr   )Poolcontext)poolr/   r   )r   	processesinitializerinitargsmaxtasksperchildr/   r   r   r	   r/   q   s    zBaseContext.Poolc             G   s   d d l  m } | | |  S)Nr   )RawValue)sharedctypesr6   )r   typecode_or_typeargsr6   r   r   r	   r6   x   s    zBaseContext.RawValuec             C   s   d d l  m } | | |  S)Nr   )RawArray)r7   r:   )r   r8   size_or_initializerr:   r   r   r	   r:   }   s    zBaseContext.RawArrayr!   c            G   s/   d d l  m } | | | d | d |  j   S)Nr   )Valuer!   r   )r7   r<   r   )r   r8   r!   r9   r<   r   r   r	   r<      s    zBaseContext.Valuec            C   s/   d d l  m } | | | d | d |  j   S)Nr   )Arrayr!   r   )r7   r=   r   )r   r8   r;   r!   r=   r   r   r	   r=      s    zBaseContext.Arrayc             C   s<   t  j d k r8 t t  d d  r8 d d l m } |   d  S)Nwin32frozenFr   )freeze_support)sysplatformgetattrspawnr@   )r   r@   r   r   r	   r@      s    !zBaseContext.freeze_supportc             C   s   d d l  m } |   S)Nr   )
get_logger)utilrE   )r   rE   r   r   r	   rE      s    zBaseContext.get_loggerc             C   s   d d l  m } | |  S)Nr   )log_to_stderr)rF   rG   )r   levelrG   r   r   r	   rG      s    zBaseContext.log_to_stderrc             C   s   d d l  m } d  S)Nr   )r   ) r   )r   r   r   r   r	   allow_connection_pickling   s    z%BaseContext.allow_connection_picklingc             C   s   d d l  m } | |  d  S)Nr   )set_executable)rD   rK   )r   
executablerK   r   r   r	   rK      s    zBaseContext.set_executablec             C   s   d d l  m } | |  d  S)Nr   )set_forkserver_preload)
forkserverrM   )r   module_namesrM   r   r   r	   rM      s    z"BaseContext.set_forkserver_preloadc             C   sQ   | d  k r |  Sy t  | } Wn" t k
 rB t d |   Yn X| j   | S)Nzcannot find context for %r)_concrete_contextsKeyError
ValueError_check_available)r   methodr   r   r   r	   r      s    
zBaseContext.get_contextFc             C   s   |  j  S)N)_name)r   
allow_noner   r   r	   get_start_method   s    zBaseContext.get_start_methodc             C   s   t  d   d  S)Nz+cannot set start method of concrete context)rR   )r   rT   forcer   r   r	   set_start_method   s    zBaseContext.set_start_methodc             C   s   d  S)Nr   )r   r   r   r	   rS      s    zBaseContext._check_available)'r   r   r   r   r
   r   r   staticmethodr   current_processactive_childrenr   r   r   r   r   r    r"   r$   r%   r&   r*   r-   r.   r/   r6   r:   r<   r=   r@   rE   rG   rJ   rK   rM   r   rW   rY   rS   r   r   r   r	   r      sF   	
r   c               @   s(   e  Z d  Z d Z e d d    Z d S)ProcessNc             C   s   t  j   j j |   S)N)_default_contextr   r]   _Popen)process_objr   r   r	   r_      s    zProcess._Popen)r   r   r   _start_methodrZ   r_   r   r   r   r	   r]      s   r]   c                   sa   e  Z d  Z e Z d d   Z d   f d d  Z d d d  Z d d	 d
  Z d d   Z   S)DefaultContextc             C   s   | |  _  d  |  _ d  S)N)r^   _actual_context)r   r0   r   r   r	   __init__   s    	zDefaultContext.__init__Nc                sB   | d  k r. |  j  d  k r' |  j |  _  |  j  St   j |  Sd  S)N)rc   r^   superr   )r   rT   )	__class__r   r	   r      s
    zDefaultContext.get_contextFc             C   sW   |  j  d  k	 r" | r" t d   | d  k rA | rA d  |  _  d  S|  j |  |  _  d  S)Nzcontext has already been set)rc   RuntimeErrorr   )r   rT   rX   r   r   r	   rY      s    	zDefaultContext.set_start_methodc             C   s/   |  j  d  k r% | r d  S|  j |  _  |  j  j S)N)rc   r^   rU   )r   rV   r   r   r	   rW      s
    zDefaultContext.get_start_methodc             C   sJ   t  j d k r d g Sd d l m } | j r< d d d g Sd d g Sd  S)Nr>   rD   r   )	reductionforkrN   )rA   rB   rI   rh   HAVE_SEND_HANDLE)r   rh   r   r   r	   get_all_start_methods   s    	z$DefaultContext.get_all_start_methods)	r   r   r   r]   rd   r   rY   rW   rk   r   r   )rf   r	   rb      s   rb   c             c   s%   |  ] } | d  d k r | Vq d S)r   _Nr   ).0xr   r   r	   	<genexpr>   s    ro   r>   c               @   s(   e  Z d  Z d Z e d d    Z d S)ForkProcessri   c             C   s   d d l  m } | |   S)Nr   )Popen)
popen_forkrq   )r`   rq   r   r   r	   r_     s    zForkProcess._PopenN)r   r   r   ra   rZ   r_   r   r   r   r	   rp     s   rp   c               @   s(   e  Z d  Z d Z e d d    Z d S)SpawnProcessrD   c             C   s   d d l  m } | |   S)Nr   )rq   )popen_spawn_posixrq   )r`   rq   r   r   r	   r_     s    zSpawnProcess._PopenN)r   r   r   ra   rZ   r_   r   r   r   r	   rs     s   rs   c               @   s(   e  Z d  Z d Z e d d    Z d S)ForkServerProcessrN   c             C   s   d d l  m } | |   S)Nr   )rq   )popen_forkserverrq   )r`   rq   r   r   r	   r_     s    zForkServerProcess._PopenN)r   r   r   ra   rZ   r_   r   r   r   r	   ru     s   ru   c               @   s   e  Z d  Z d Z e Z d S)ForkContextri   N)r   r   r   rU   rp   r]   r   r   r   r	   rw     s   rw   c               @   s   e  Z d  Z d Z e Z d S)SpawnContextrD   N)r   r   r   rU   rs   r]   r   r   r   r	   rx     s   rx   c               @   s(   e  Z d  Z d Z e Z d d   Z d S)ForkServerContextrN   c             C   s)   d d l  m } | j s% t d   d  S)Nr   )rh   z%forkserver start method not available)rI   rh   rj   rR   )r   rh   r   r   r	   rS   &  s    	z"ForkServerContext._check_availableN)r   r   r   rU   ru   r]   rS   r   r   r   r	   ry   #  s   ry   ri   rD   rN   c               @   s(   e  Z d  Z d Z e d d    Z d S)rs   rD   c             C   s   d d l  m } | |   S)Nr   )rq   )Zpopen_spawn_win32rq   )r`   rq   r   r   r	   r_   6  s    zSpawnProcess._PopenN)r   r   r   ra   rZ   r_   r   r   r   r	   rs   4  s   c               @   s   e  Z d  Z d Z e Z d S)rx   rD   N)r   r   r   rU   rs   r]   r   r   r   r	   rx   ;  s   c             C   s   t  |  t _ d  S)N)rP   r^   rc   )rT   r   r   r	   _force_start_methodH  s    rz   c               C   s   t  t d d   S)Nspawning_popen)rC   _tlsr   r   r   r	   get_spawning_popenQ  s    r}   c             C   s   |  t  _ d  S)N)r|   r{   )popenr   r   r	   set_spawning_popenT  s    r   c             C   s,   t    d  k r( t d t |   j   d  S)NzF%s objects should only be shared between processes through inheritance)r}   rg   typer   )objr   r   r	   assert_spawningW  s    r   )!r   rA   	threadingrI   r   __all__	Exceptionr   r
   r   r   objectr   BaseProcessr]   rb   listdirrB   rp   rs   ru   rw   rx   ry   rP   r^   rz   localr|   r}   r   r   r   r   r   r	   <module>   s@   ("			