ó
čžbc           @   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 d d g Z d Z d d l Z d d l Z d d l m Z m Z m Z d d  l	 m
 Z
 m Z d! e f d"     YZ d e f d#     YZ d e f d$     YZ d% e f d&     YZ d d l Z d'   Z e d(  Z d)   Z d*   Z d+   Z d d,  Z d-   Z d.   Z d/   Z d d0  Z d1 d2  Z d1 d3  Z d4   Z  d5 d6  Z! d5 d7  Z" d d d@ d d8  Z# d9   Z$ d:   Z% d;   Z& d<   Z' e j( d= k rd>   Z) e d? g 7Z n  d S(A   s   0.70a1t   Processt   current_processt   active_childrent   freeze_supportt   Managert   Pipet	   cpu_countt   log_to_stderrt
   get_loggert   allow_connection_picklingt   BufferTooShortt   TimeoutErrort   Lockt   RLockt	   Semaphoret   BoundedSemaphoret	   Conditiont   Eventt   Queuet   JoinableQueuet   Poolt   Valuet   Arrayt   RawValuet   RawArrayt   SUBDEBUGt
   SUBWARNINGs"   R. Oudkerk (r.m.oudkerk@gmail.com)i˙˙˙˙N(   R    R   R   (   R   R   t   ProcessErrorc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   G   s   c           B   s   e  Z RS(    (   R   R   (    (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR
   J   s   c           B   s   e  Z RS(    (   R   R   (    (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   M   s   t   AuthenticationErrorc           B   s   e  Z RS(    (   R   R   (    (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   P   s   c          C   s'   d d l  m }  |    } | j   | S(   sś   
    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˙˙˙˙(   t   SyncManager(   t   multiprocessing.managersR   t   start(   R   t   m(    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   Z   s    	
c         C   s   d d l  m } | |   S(   s;   
    Returns two connection object connected by a pipe
    i˙˙˙˙(   R   (   t   multiprocessing.connectionR   (   t   duplexR   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   f   s    c          C   s*  t  j d k rI y t t j d  }  Wq
t t f k
 rE d }  q
XnÁ d t  j k sg t  j d k rÔ d } t  j d k r d | } n  y. t j |   } t | j    }  Wd QXWq
t k
 rĐ d }  q
Xn6 y t j	 d	  }  Wn  t t
 t f k
 r	d }  n X|  d
 k r|  St d   d S(   s2   
    Returns the number of CPUs in the system
    t   win32t   NUMBER_OF_PROCESSORSi    t   bsdt   darwins   /sbin/sysctl -n hw.ncpus   /usrNt   SC_NPROCESSORS_ONLNi   s   cannot determine number of cpus(   t   syst   platformt   intt   ost   environt
   ValueErrort   KeyErrort   popent   readt   sysconft   OSErrort   AttributeErrort   NotImplementedError(   t   numt   commt   p(    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   m   s*    
c          C   s?   t  j d k r; t t  d t  r; d d l m }  |    n  d S(   s   
    Check whether this is a fake forked process in a frozen executable.
    If so then run code specified by commandline and exit.
    R%   t   frozeni˙˙˙˙(   R   N(   R*   R+   t   getattrt   Falset   multiprocessing.forkingR   (   R   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR      s    !c          C   s   d d l  m }  |    S(   sR   
    Return package logger -- if it does not already exist then it is created
    i˙˙˙˙(   R   (   t   multiprocessing.utilR   (   R   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR      s    c         C   s   d d l  m } | |   S(   sB   
    Turn on logging and add a handler which prints to stderr
    i˙˙˙˙(   R   (   R>   R   (   t   levelR   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR      s    c          C   s   d d l  m }  d S(   sO   
    Install support for sending connections and sockets between processes
    i˙˙˙˙(   t	   reductionN(   t   multiprocessingR@   (   R@   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR	   Ą   s    c          C   s   d d l  m }  |    S(   s-   
    Returns a non-recursive lock object
    i˙˙˙˙(   R   (   t   multiprocessing.synchronizeR   (   R   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   Ť   s    c          C   s   d d l  m }  |    S(   s)   
    Returns a recursive lock object
    i˙˙˙˙(   R   (   RB   R   (   R   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   ˛   s    c         C   s   d d l  m } | |   S(   s$   
    Returns a condition object
    i˙˙˙˙(   R   (   RB   R   (   t   lockR   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   š   s    i   c         C   s   d d l  m } | |   S(   s$   
    Returns a semaphore object
    i˙˙˙˙(   R   (   RB   R   (   t   valueR   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   Ŕ   s    c         C   s   d d l  m } | |   S(   s,   
    Returns a bounded semaphore object
    i˙˙˙˙(   R   (   RB   R   (   RD   R   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   Ç   s    c          C   s   d d l  m }  |    S(   s!   
    Returns an event object
    i˙˙˙˙(   R   (   RB   R   (   R   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   Î   s    i    c         C   s   d d l  m } | |   S(   s    
    Returns a queue object
    i˙˙˙˙(   R   (   t   multiprocessing.queuesR   (   t   maxsizeR   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   Ő   s    c         C   s   d d l  m } | |   S(   s    
    Returns a queue object
    i˙˙˙˙(   R   (   RE   R   (   RF   R   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   Ü   s    c         C   s#   d d l  m } | |  | | |  S(   s'   
    Returns a process pool object
    i˙˙˙˙(   R   (   t   multiprocessing.poolR   (   t	   processest   initializert   initargst   maxtasksperchildR   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   ă   s    c         G   s   d d l  m } | |  |  S(   s!   
    Returns a shared object
    i˙˙˙˙(   R   (   t   multiprocessing.sharedctypesR   (   t   typecode_or_typet   argsR   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   ę   s    c         C   s   d d l  m } | |  |  S(   s    
    Returns a shared array
    i˙˙˙˙(   R   (   RL   R   (   RM   t   size_or_initializerR   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   ń   s    c         O   s    d d l  m } | |  | |  S(   s.   
    Returns a synchronized shared object
    i˙˙˙˙(   R   (   RL   R   (   RM   RN   t   kwdsR   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   ř   s    c         K   s    d d l  m } | |  | |  S(   s-   
    Returns a synchronized shared array
    i˙˙˙˙(   R   (   RL   R   (   RM   RO   RP   R   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyR   ˙   s    R%   c         C   s   d d l  m } | |   d S(   sť   
        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˙˙˙˙(   t   set_executableN(   R=   RQ   (   t
   executableRQ   (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyRQ     s    RQ   (    (*   t   __version__t   __all__t
   __author__R-   R*   t   multiprocessing.processR    R   R   R>   R   R   t	   ExceptionR   R
   R   R   t   _multiprocessingR   t   TrueR   R   R   R   t   NoneR   R	   R   R   R   R   R   R   R   R   R   R   R   R   R   R+   RQ   (    (    (    s.   /usr/lib/python2.7/multiprocessing/__init__.pyt   <module>,   sN   							
									