�`^c@sdZddddddddd d
ddd
ddddddddddddddgZdZddlZddlZddlmZmZmZdd l m
Z
mZd!efd"��YZ
de
fd#��YZde
fd$��YZd%e
fd&��YZddlZd'�Zed(�Zd)�Zd*�Zd+�Zdd,�Zd-�Zd.�Zd/�Zdd0�Zd1d2�Zd1d3�Zd4�Z d5d6�Z!d5d7�Z"ddd@dd8�Z#d9�Z$d:�Z%d;�Z&d<�Z'ej(d=krd>�Z)ed?g7ZndS(As0.70a1tProcesstcurrent_processtactive_childrentfreeze_supporttManagertPipet cpu_countt
log_to_stderrt
get_loggertallow_connection_picklingtBufferTooShorttTimeoutErrortLocktRLockt SemaphoretBoundedSemaphoret ConditiontEventtQueuet
JoinableQueuetPooltValuetArraytRawValuetRawArraytSUBDEBUGt
SUBWARNINGs"R. Oudkerk (r.m.oudkerk@gmail.com)i�N(RRR(RRtProcessErrorcBseZRS((t__name__t
__module__(((s./sys/lib/python2.7/multiprocessing/__init__.pyRGscBseZRS((RR(((s./sys/lib/python2.7/multiprocessing/__init__.pyR
JscBseZRS((RR(((s./sys/lib/python2.7/multiprocessing/__init__.pyRMstAuthenticationErrorcBseZRS((RR(((s./sys/lib/python2.7/multiprocessing/__init__.pyRPscCs'ddlm}|�}|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�(tSyncManager(tmultiprocessing.managersRtstart(Rtm((s./sys/lib/python2.7/multiprocessing/__init__.pyRZs
cCsddlm}||�S(s;
Returns two connection object connected by a pipe
i�(R(tmultiprocessing.connectionR(tduplexR((s./sys/lib/python2.7/multiprocessing/__init__.pyRfscCs*tjdkrIyttjd�}Wq
ttfk
rEd}q
Xn�dtjksgtjdkr�d}tjdkr�d|}ny.tj|��}t|j��}WdQXWq
tk
r�d}q
Xn6ytj d �}Wn tt
tfk
r d}nX|d
kr|Std��dS(s2
Returns the number of CPUs in the system
twin32tNUMBER_OF_PROCESSORSitbsdtdarwins/sbin/sysctl -n hw.ncpus/usrNtSC_NPROCESSORS_ONLNiscannot determine number of cpus(
tsystplatformtinttostenviront
ValueErrortKeyErrortpopentreadtsysconftOSErrortAttributeErrortNotImplementedError(tnumtcommtp((s./sys/lib/python2.7/multiprocessing/__init__.pyRms*
cCs?tjdkr;ttdt�r;ddlm}|�ndS(s�
Check whether this is a fake forked process in a frozen executable.
If so then run code specified by commandline and exit.
R%tfrozeni�(RN(R*R+tgetattrtFalsetmultiprocessing.forkingR(R((s./sys/lib/python2.7/multiprocessing/__init__.pyR�s!cCsddlm}|�S(sR
Return package logger -- if it does not already exist then it is created
i�(R(tmultiprocessing.utilR(R((s./sys/lib/python2.7/multiprocessing/__init__.pyR�scCsddlm}||�S(sB
Turn on logging and add a handler which prints to stderr
i�(R(R>R(tlevelR((s./sys/lib/python2.7/multiprocessing/__init__.pyR�scCsddlm}dS(sO
Install support for sending connections and sockets between processes
i�(t reductionN(tmultiprocessingR@(R@((s./sys/lib/python2.7/multiprocessing/__init__.pyR �scCsddlm}|�S(s-
Returns a non-recursive lock object
i�(R(tmultiprocessing.synchronizeR(R((s./sys/lib/python2.7/multiprocessing/__init__.pyR�scCsddlm}|�S(s)
Returns a recursive lock object
i�(R
(RBR
(R
((s./sys/lib/python2.7/multiprocessing/__init__.pyR
�scCsddlm}||�S(s$
Returns a condition object
i�(R(RBR(tlockR((s./sys/lib/python2.7/multiprocessing/__init__.pyR�sicCsddlm}||�S(s$
Returns a semaphore object
i�(R(RBR(tvalueR((s./sys/lib/python2.7/multiprocessing/__init__.pyR�scCsddlm}||�S(s,
Returns a bounded semaphore object
i�(R(RBR(RDR((s./sys/lib/python2.7/multiprocessing/__init__.pyR�scCsddlm}|�S(s!
Returns an event object
i�(R(RBR(R((s./sys/lib/python2.7/multiprocessing/__init__.pyR�sicCsddlm}||�S(s
Returns a queue object
i�(R(tmultiprocessing.queuesR(tmaxsizeR((s./sys/lib/python2.7/multiprocessing/__init__.pyR�scCsddlm}||�S(s
Returns a queue object
i�(R(RER(RFR((s./sys/lib/python2.7/multiprocessing/__init__.pyR�scCs#ddlm}|||||�S(s'
Returns a process pool object
i�(R(tmultiprocessing.poolR(t processestinitializertinitargstmaxtasksperchildR((s./sys/lib/python2.7/multiprocessing/__init__.pyR�scGsddlm}|||�S(s!
Returns a shared object
i�(R(tmultiprocessing.sharedctypesR(ttypecode_or_typetargsR((s./sys/lib/python2.7/multiprocessing/__init__.pyR�scCsddlm}|||�S(s
Returns a shared array
i�(R(RLR(RMtsize_or_initializerR((s./sys/lib/python2.7/multiprocessing/__init__.pyR�scOs ddlm}||||�S(s.
Returns a synchronized shared object
i�(R(RLR(RMRNtkwdsR((s./sys/lib/python2.7/multiprocessing/__init__.pyR�scKs ddlm}||||�S(s-
Returns a synchronized shared array
i�(R(RLR(RMRORPR((s./sys/lib/python2.7/multiprocessing/__init__.pyR�sR%cCsddlm}||�dS(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�(tset_executableN(R=RQ(t
executableRQ((s./sys/lib/python2.7/multiprocessing/__init__.pyRQsRQ((*t__version__t__all__t
__author__R-R*tmultiprocessing.processRRRR>RRt ExceptionRR
RRt_multiprocessingRtTrueRRRRtNoneRR RR
RRRRRRRRRRRR+RQ(((s./sys/lib/python2.7/multiprocessing/__init__.pyt<module>,sN
|