ó ű^‚Rc@sdZddddddddd d d d d ddddddddddddddgZdZddlZddlZddlmZmZmZdd l m Z m Z d!e fd"„ƒYZ d e fd#„ƒYZd e 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_picklingtBufferTooShortt TimeoutErrortLocktRLockt SemaphoretBoundedSemaphoret ConditiontEventtQueuet JoinableQueuetPooltValuetArraytRawValuetRawArraytSUBDEBUGt SUBWARNINGs"R. Oudkerk (r.m.oudkerk@gmail.com)i˙˙˙˙N(RRR(RRt ProcessErrorcBseZRS((t__name__t __module__(((s./usr/lib/python2.7/multiprocessing/__init__.pyRGscBseZRS((RR(((s./usr/lib/python2.7/multiprocessing/__init__.pyR JscBseZRS((RR(((s./usr/lib/python2.7/multiprocessing/__init__.pyR MstAuthenticationErrorcBseZRS((RR(((s./usr/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˙˙˙˙(t SyncManager(tmultiprocessing.managersRtstart(Rtm((s./usr/lib/python2.7/multiprocessing/__init__.pyRZs  cCsddlm}||ƒS(s; Returns two connection object connected by a pipe i˙˙˙˙(R(tmultiprocessing.connectionR(tduplexR((s./usr/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 t fk r d}nX|d kr|St d ƒ‚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./usr/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./usr/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./usr/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./usr/lib/python2.7/multiprocessing/__init__.pyRšscCsddlm}dS(sO Install support for sending connections and sockets between processes i˙˙˙˙(t reductionN(tmultiprocessingR@(R@((s./usr/lib/python2.7/multiprocessing/__init__.pyR ĄscCsddlm}|ƒS(s- Returns a non-recursive lock object i˙˙˙˙(R (tmultiprocessing.synchronizeR (R ((s./usr/lib/python2.7/multiprocessing/__init__.pyR ŤscCsddlm}|ƒS(s) Returns a recursive lock object i˙˙˙˙(R (RBR (R ((s./usr/lib/python2.7/multiprocessing/__init__.pyR ˛scCsddlm}||ƒS(s$ Returns a condition object i˙˙˙˙(R(RBR(tlockR((s./usr/lib/python2.7/multiprocessing/__init__.pyRšsicCsddlm}||ƒS(s$ Returns a semaphore object i˙˙˙˙(R(RBR(tvalueR((s./usr/lib/python2.7/multiprocessing/__init__.pyRŔscCsddlm}||ƒS(s, Returns a bounded semaphore object i˙˙˙˙(R(RBR(RDR((s./usr/lib/python2.7/multiprocessing/__init__.pyRÇscCsddlm}|ƒS(s! Returns an event object i˙˙˙˙(R(RBR(R((s./usr/lib/python2.7/multiprocessing/__init__.pyRÎsicCsddlm}||ƒS(s Returns a queue object i˙˙˙˙(R(tmultiprocessing.queuesR(tmaxsizeR((s./usr/lib/python2.7/multiprocessing/__init__.pyRŐscCsddlm}||ƒS(s Returns a queue object i˙˙˙˙(R(RER(RFR((s./usr/lib/python2.7/multiprocessing/__init__.pyRÜscCs#ddlm}|||||ƒS(s' Returns a process pool object i˙˙˙˙(R(tmultiprocessing.poolR(t processest initializertinitargstmaxtasksperchildR((s./usr/lib/python2.7/multiprocessing/__init__.pyRăscGsddlm}|||ŒS(s! Returns a shared object i˙˙˙˙(R(tmultiprocessing.sharedctypesR(ttypecode_or_typetargsR((s./usr/lib/python2.7/multiprocessing/__init__.pyRęscCsddlm}|||ƒS(s Returns a shared array i˙˙˙˙(R(RLR(RMtsize_or_initializerR((s./usr/lib/python2.7/multiprocessing/__init__.pyRńscOs ddlm}||||ŽS(s. Returns a synchronized shared object i˙˙˙˙(R(RLR(RMRNtkwdsR((s./usr/lib/python2.7/multiprocessing/__init__.pyRřscKs ddlm}||||S(s- Returns a synchronized shared array i˙˙˙˙(R(RLR(RMRORPR((s./usr/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./usr/lib/python2.7/multiprocessing/__init__.pyRQ sRQ((*t __version__t__all__t __author__R-R*tmultiprocessing.processRRRR>RRt ExceptionRR R Rt_multiprocessingRtTrueRRRRtNoneRR R R RRRRRRRRRRRR+RQ(((s./usr/lib/python2.7/multiprocessing/__init__.pyt,sN