JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr ])@sWddlZddlZddlZddlmZgZGdddeZGdddeZGdd d eZ Gd d d eZ Gd d d e Z Gdddej ZGddde ZeddeeDe_ejdkrGdddej ZGdddej ZGdddej ZGddde ZGddde ZGdd d e Zd!ed"ed#eiZeed!ZnNGd$ddej ZGd%dde Zd"eiZeed"Zd&d'ZejZd(d)Zd*d+Zd,d-Z dS).N)processc@seZdZdS) ProcessErrorN)__name__ __module__ __qualname__rr,/opt/alt/python35/lib64/python3.5/context.pyr s rc@seZdZdS)BufferTooShortN)rrrrrrr r s r c@seZdZdS) TimeoutErrorN)rrrrrrr r s r c@seZdZdS)AuthenticationErrorN)rrrrrrr r s r c@seZdZeZeZeZeZeej Z eej Z ddZ ddZ dddZ dd Zd d Zd d dZdddZdddZddZd d ddZdddZdddZddZd d fd dd Zd!d"Zd#d$Zd%dd&d'Zd%dd(d)Zd*d+Zd,d-Zd d.d/Zd0d1Z d2d3Z!d4d5Z"d d6d7Z#d8d9d:Z$d8d;d<Z%d=d>Z&d S)? BaseContextcCs/tj}|dkr'tdn|SdS)Nzcannot determine number of cpus)os cpu_countNotImplementedError)selfnumrrr r's  zBaseContext.cpu_countcCs3ddlm}|d|j}|j|S)Nr) SyncManagerctx)managersr get_contextstart)rrmrrr Manager/s zBaseContext.ManagerTcCsddlm}||S)Nr)Pipe) connectionr)rduplexrrrr r:szBaseContext.PipecCs#ddlm}|d|jS)Nr)Lockr) synchronizerr)rrrrr r?szBaseContext.LockcCs#ddlm}|d|jS)Nr)RLockr)rrr)rrrrr rDszBaseContext.RLockNcCs&ddlm}||d|jS)Nr) Conditionr)rr r)rlockr rrr r IszBaseContext.ConditionrcCs&ddlm}||d|jS)Nr) Semaphorer)rr"r)rvaluer"rrr r"NszBaseContext.SemaphorecCs&ddlm}||d|jS)Nr)BoundedSemaphorer)rr$r)rr#r$rrr r$SszBaseContext.BoundedSemaphorecCs#ddlm}|d|jS)Nr)Eventr)rr%r)rr%rrr r%XszBaseContext.EventcCs,ddlm}||||d|jS)Nr)Barrierr)rr&r)rpartiesactiontimeoutr&rrr r&]szBaseContext.BarrierrcCs&ddlm}||d|jS)Nr)Queuer)queuesr*r)rmaxsizer*rrr r*bszBaseContext.QueuecCs&ddlm}||d|jS)Nr) JoinableQueuer)r+r-r)rr,r-rrr r-gszBaseContext.JoinableQueuecCs#ddlm}|d|jS)Nr) SimpleQueuer)r+r.r)rr.rrr r.lszBaseContext.SimpleQueuecCs/ddlm}|||||d|jS)Nr)Poolcontext)poolr/r)r processes initializerinitargsmaxtasksperchildr/rrr r/qszBaseContext.PoolcGsddlm}|||S)Nr)RawValue) sharedctypesr6)rtypecode_or_typeargsr6rrr r6xszBaseContext.RawValuecCsddlm}|||S)Nr)RawArray)r7r:)rr8size_or_initializerr:rrr r:}szBaseContext.RawArrayr!cGs/ddlm}|||d|d|jS)Nr)Valuer!r)r7r<r)rr8r!r9r<rrr r<szBaseContext.ValuecCs/ddlm}|||d|d|jS)Nr)Arrayr!r)r7r=r)rr8r;r!r=rrr r=szBaseContext.ArraycCs<tjdkr8ttddr8ddlm}|dS)Nwin32frozenFr)freeze_support)sysplatformgetattrspawnr@)rr@rrr r@s!zBaseContext.freeze_supportcCsddlm}|S)Nr) get_logger)utilrE)rrErrr rEszBaseContext.get_loggercCsddlm}||S)Nr) log_to_stderr)rFrG)rlevelrGrrr rGszBaseContext.log_to_stderrcCsddlm}dS)Nr)r)r)rrrrr allow_connection_picklingsz%BaseContext.allow_connection_picklingcCsddlm}||dS)Nr)set_executable)rDrK)r executablerKrrr rKszBaseContext.set_executablecCsddlm}||dS)Nr)set_forkserver_preload) forkserverrM)r module_namesrMrrr rMsz"BaseContext.set_forkserver_preloadc CsQ|dkr|Syt|}Wn"tk rBtd|YnX|j|S)Nzcannot find context for %r)_concrete_contextsKeyError ValueError_check_available)rmethodrrrr rs   zBaseContext.get_contextFcCs|jS)N)_name)r allow_nonerrr get_start_methodszBaseContext.get_start_methodcCstddS)Nz+cannot set start method of concrete context)rR)rrTforcerrr set_start_methodszBaseContext.set_start_methodcCsdS)Nr)rrrr rSszBaseContext._check_available)'rrrrr r r staticmethodrcurrent_processactive_childrenrrrrrr r"r$r%r&r*r-r.r/r6r:r<r=r@rErGrJrKrMrrWrYrSrrrr r sF                r c@s(eZdZdZeddZdS)ProcessNcCstjjj|S)N)_default_contextrr]_Popen) process_objrrr r_szProcess._Popen)rrr _start_methodrZr_rrrr r]s r]csaeZdZeZddZdfddZdddZdd d Zd d ZS) DefaultContextcCs||_d|_dS)N)r^_actual_context)rr0rrr __init__s zDefaultContext.__init__NcsB|dkr.|jdkr'|j|_|jStj|SdS)N)rcr^superr)rrT) __class__rr rs   zDefaultContext.get_contextFcCsW|jdk r"| r"td|dkrA|rAd|_dS|j||_dS)Nzcontext has already been set)rc RuntimeErrorr)rrTrXrrr rYs   zDefaultContext.set_start_methodcCs/|jdkr%|rdS|j|_|jjS)N)rcr^rU)rrVrrr rWs  zDefaultContext.get_start_methodcCsJtjdkrdgSddlm}|jr<dddgSddgSdS)Nr>rDr) reductionforkrN)rArBrIrhHAVE_SEND_HANDLE)rrhrrr get_all_start_methodss   z$DefaultContext.get_all_start_methods) rrrr]rdrrYrWrkrr)rfr rbs  rbccs%|]}|ddkr|VqdS)r_Nr).0xrrr sror>c@s(eZdZdZeddZdS) ForkProcessricCsddlm}||S)Nr)Popen) popen_forkrq)r`rqrrr r_szForkProcess._PopenN)rrrrarZr_rrrr rps rpc@s(eZdZdZeddZdS) SpawnProcessrDcCsddlm}||S)Nr)rq)popen_spawn_posixrq)r`rqrrr r_szSpawnProcess._PopenN)rrrrarZr_rrrr rs s rsc@s(eZdZdZeddZdS)ForkServerProcessrNcCsddlm}||S)Nr)rq)popen_forkserverrq)r`rqrrr r_szForkServerProcess._PopenN)rrrrarZr_rrrr rus ruc@seZdZdZeZdS) ForkContextriN)rrrrUrpr]rrrr rws rwc@seZdZdZeZdS) SpawnContextrDN)rrrrUrsr]rrrr rxs rxc@s(eZdZdZeZddZdS)ForkServerContextrNcCs)ddlm}|js%tddS)Nr)rhz%forkserver start method not available)rIrhrjrR)rrhrrr rS&s z"ForkServerContext._check_availableN)rrrrUrur]rSrrrr ry#s ryrirDrNc@s(eZdZdZeddZdS)rsrDcCsddlm}||S)Nr)rq)Zpopen_spawn_win32rq)r`rqrrr r_6szSpawnProcess._PopenN)rrrrarZr_rrrr rs4s c@seZdZdZeZdS)rxrDN)rrrrUrsr]rrrr rx;s cCst|t_dS)N)rPr^rc)rTrrr _force_start_methodHsrzcCsttddS)Nspawning_popen)rC_tlsrrrr get_spawning_popenQsr}cCs |t_dS)N)r|r{)popenrrr set_spawning_popenTsrcCs,tdkr(tdt|jdS)NzF%s objects should only be shared between processes through inheritance)r}rgtyper)objrrr assert_spawningWsr)!rrA threadingrIr__all__ Exceptionrr r r objectr BaseProcessr]rblistdirrBrprsrurwrxryrPr^rzlocalr|r}rrrrrr s@   ("