;
"Ic               @   s  d  Z  d d d d d d d d d	 d
 d d d d d d d d d d d d d d d g Z d Z d d l Z d d l Z d d l m Z m Z m Z Gd   d e	  Z
 Gd    d e
  Z Gd!   d e
  Z Gd"   d# e
  Z d d l Z d$   Z d< d%  Z d&   Z d'   Z d(   Z d d)  Z d*   Z d+   Z d,   Z d d-  Z d. d/  Z d. d0  Z d1   Z d d2  Z d d3  Z d d d= d4  Z  d5   Z! d6   Z" d7   Z# d8   Z$ e j% d9 k o d:   Z& e d; g 7Z n d S(>   u   0.70a1u   Processu   current_processu   active_childrenu   freeze_supportu   Manageru   Pipeu	   cpu_countu   log_to_stderru
   get_loggeru   allow_connection_picklingu   BufferTooShortu   TimeoutErroru   Locku   RLocku	   Semaphoreu   BoundedSemaphoreu	   Conditionu   Eventu   Queueu   JoinableQueueu   Poolu   Valueu   Arrayu   RawValueu   RawArrayu"   R. Oudkerk (r.m.oudkerk@gmail.com)i    N(   u   Processu   current_processu   active_childrenc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   ProcessErrorE   s   
u   ProcessErrorc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   BufferTooShortH   s   
c             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   TimeoutErrorK   s   
c             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   AuthenticationErrorN   s   
u   AuthenticationErrorc              C   s'   d d l  m }  |    } | j   | S(   u   
    Returns a manager associated with a running server process

    The managers methods such as `Lock()`, `Condition()` and `Queue()`
    can be used to create shared objects.
    i    (   u   SyncManager(   u   multiprocessing.managersu   SyncManageru   start(   u   SyncManageru   m(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   ManagerW   s    	
c             C   s   d d l  m } | |   S(   u;   
    Returns two connection object connected by a pipe
    i    (   u   Pipe(   u   multiprocessing.connectionu   Pipe(   u   duplexu   Pipe(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   Pipec   s    c           
   C   s   t  j d k o> y t t j d  }  Wq t t f k
 o d }  Yq Xn t  j d k o@ y t t j d  j    }  Wq t k
 o d }  Yq Xn: y t j	 d  }  Wn# t t
 t f k
 o d }  Yn X|  d k o |  St d   d	 S(
   u2   
    Returns the number of CPUs in the system
    u   win32u   NUMBER_OF_PROCESSORSi    u   darwinu   sysctl -n hw.ncpuu   SC_NPROCESSORS_ONLNi   u   cannot determine number of cpusN(   u   sysu   platformu   intu   osu   environu
   ValueErroru   KeyErroru   popenu   readu   sysconfu   OSErroru   AttributeErroru   NotImplementedError(   u   num(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu	   cpu_countj   s"    c              C   sB   t  j d k o. t t  d d  o d d l m }  |    n d S(   u   
    Check whether this is a fake forked process in a frozen executable.
    If so then run code specified by commandline and exit.
    u   win32u   frozeni    (   u   freeze_supportNF(   u   sysu   platformu   getattru   Falseu   multiprocessing.forkingu   freeze_support(   u   freeze_support(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   freeze_support   s    #c              C   s   d d l  m }  |    S(   uR   
    Return package logger -- if it does not already exist then it is created
    i    (   u
   get_logger(   u   multiprocessing.utilu
   get_logger(   u
   get_logger(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu
   get_logger   s    c             C   s   d d l  m } | |   S(   uB   
    Turn on logging and add a handler which prints to stderr
    i    (   u   log_to_stderr(   u   multiprocessing.utilu   log_to_stderr(   u   levelu   log_to_stderr(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   log_to_stderr   s    c              C   s   d d l  m }  d S(   uO   
    Install support for sending connections and sockets between processes
    i    (   u	   reductionN(   u   multiprocessingu	   reduction(   u	   reduction(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   allow_connection_pickling   s    c              C   s   d d l  m }  |    S(   u-   
    Returns a non-recursive lock object
    i    (   u   Lock(   u   multiprocessing.synchronizeu   Lock(   u   Lock(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   Lock   s    c              C   s   d d l  m }  |    S(   u)   
    Returns a recursive lock object
    i    (   u   RLock(   u   multiprocessing.synchronizeu   RLock(   u   RLock(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   RLock   s    c             C   s   d d l  m } | |   S(   u$   
    Returns a condition object
    i    (   u	   Condition(   u   multiprocessing.synchronizeu	   Condition(   u   locku	   Condition(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu	   Condition   s    i   c             C   s   d d l  m } | |   S(   u$   
    Returns a semaphore object
    i    (   u	   Semaphore(   u   multiprocessing.synchronizeu	   Semaphore(   u   valueu	   Semaphore(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu	   Semaphore   s    c             C   s   d d l  m } | |   S(   u,   
    Returns a bounded semaphore object
    i    (   u   BoundedSemaphore(   u   multiprocessing.synchronizeu   BoundedSemaphore(   u   valueu   BoundedSemaphore(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   BoundedSemaphore   s    c              C   s   d d l  m }  |    S(   u!   
    Returns an event object
    i    (   u   Event(   u   multiprocessing.synchronizeu   Event(   u   Event(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   Event   s    c             C   s   d d l  m } | |   S(   u    
    Returns a queue object
    i    (   u   Queue(   u   multiprocessing.queuesu   Queue(   u   maxsizeu   Queue(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   Queue   s    c             C   s   d d l  m } | |   S(   u    
    Returns a queue object
    i    (   u   JoinableQueue(   u   multiprocessing.queuesu   JoinableQueue(   u   maxsizeu   JoinableQueue(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   JoinableQueue   s    c             C   s    d d l  m } | |  | |  S(   u'   
    Returns a process pool object
    i    (   u   Pool(   u   multiprocessing.poolu   Pool(   u	   processesu   initializeru   initargsu   Pool(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   Pool   s    c             G   s   d d l  m } | |  |  S(   u!   
    Returns a shared object
    i    (   u   RawValue(   u   multiprocessing.sharedctypesu   RawValue(   u   typecode_or_typeu   argsu   RawValue(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   RawValue   s    c             C   s   d d l  m } | |  |  S(   u    
    Returns a shared array
    i    (   u   RawArray(   u   multiprocessing.sharedctypesu   RawArray(   u   typecode_or_typeu   size_or_initializeru   RawArray(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   RawArray   s    c             O   s    d d l  m } | |  | |  S(   u.   
    Returns a synchronized shared object
    i    (   u   Value(   u   multiprocessing.sharedctypesu   Value(   u   typecode_or_typeu   argsu   kwdsu   Value(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   Value   s    c             K   s    d d l  m } | |  | |  S(   u-   
    Returns a synchronized shared array
    i    (   u   Array(   u   multiprocessing.sharedctypesu   Array(   u   typecode_or_typeu   size_or_initializeru   kwdsu   Array(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   Array   s    u   win32c             C   s   d d l  m } | |   d S(   u   
        Sets the path to a python.exe or pythonw.exe binary used to run
        child processes on Windows instead of sys.executable.
        Useful for people embedding Python.
        i    (   u   set_executableN(   u   multiprocessing.forkingu   set_executable(   u
   executableu   set_executable(    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   set_executable  s    u   set_executableT(    ('   u   __version__u   __all__u
   __author__u   osu   sysu   multiprocessing.processu   Processu   current_processu   active_childrenu	   Exceptionu   ProcessErroru   BufferTooShortu   TimeoutErroru   AuthenticationErroru   _multiprocessingu   Manageru   Trueu   Pipeu	   cpu_countu   freeze_supportu
   get_loggeru   Noneu   log_to_stderru   allow_connection_picklingu   Locku   RLocku	   Conditionu	   Semaphoreu   BoundedSemaphoreu   Eventu   Queueu   JoinableQueueu   Poolu   RawValueu   RawArrayu   Valueu   Arrayu   platformu   set_executable(    (    (    u5   /mit/python/lib/python3.0/multiprocessing/__init__.pyu   <module>+   sL   							
									