ž ¨ÿfë)c @s¤ddddddgZddlZddlZddlZddlmZdd lmZmZdd l m Z m Z dd l m Z ydd lmZWn*ek rÈed dddƒ‚YnXeedƒƒ\ZZejjZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„dejƒZdS(uLockuRLocku SemaphoreuBoundedSemaphoreu ConditionuEventiN(ucurrent_process(uregister_after_forkudebug(uassert_spawninguPopen(utime(uSemLocku*This platform lacks a functioning sem_openu( implementation, therefore, the requiredu+ synchronization primitives needed will notu function, see issue 3770.icBs\|EeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd S(uSemLockcCsftj|||ƒ}|_td|jƒ|jƒtjdkrbdd„}t||ƒndS(Nucreated semlock with handle %suwin32cSs|jjƒdS(N(u_semlocku _after_fork(uobj((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu _after_fork5su%SemLock.__init__.._after_fork( u_multiprocessinguSemLocku_semlockudebuguhandleu _make_methodsusysuplatformuregister_after_fork(uselfukinduvalueumaxvalueuslu _after_fork((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__init__/s   uSemLock.__init__cCs"|jj|_|jj|_dS(N(u_semlockuacquireurelease(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu _make_methods9suSemLock._make_methodscCs |jjƒS(N(u_semlocku __enter__(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu __enter__=suSemLock.__enter__cGs|jj|ŒS(N(u_semlocku__exit__(uselfuargs((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__exit__@suSemLock.__exit__cCs2t|ƒ|j}tj|jƒ|j|jfS(N(uassert_spawningu_semlockuPopenuduplicate_for_childuhandleukindumaxvalue(uselfusl((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu __getstate__Cs  uSemLock.__getstate__cCs5tjj|Œ|_td|dƒ|jƒdS(Nu recreated blocker with handle %ri(u_multiprocessinguSemLocku_rebuildu_semlockudebugu _make_methods(uselfustate((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu __setstate__HsuSemLock.__setstate__N( u__name__u __module__u __qualname__u__init__u _make_methodsu __enter__u__exit__u __getstate__u __setstate__(u __locals__((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuSemLock-s     uSemLockcBs;|EeZdZddd„Zdd„Zdd„ZdS( u SemaphoreicCstj|t|tƒdS(N(uSemLocku__init__u SEMAPHOREu SEM_VALUE_MAX(uselfuvalue((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__init__SsuSemaphore.__init__cCs |jjƒS(N(u_semlocku _get_value(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu get_valueVsuSemaphore.get_valuec Cs6y|jjƒ}Wntk r-d}YnXd|S(Nuunknownu(u_semlocku _get_valueu Exception(uselfuvalue((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__repr__Ys   uSemaphore.__repr__N(u__name__u __module__u __qualname__u__init__u get_valueu__repr__(u __locals__((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu SemaphoreQs cBs/|EeZdZddd„Zdd„ZdS(uBoundedSemaphoreicCstj|t||ƒdS(N(uSemLocku__init__u SEMAPHORE(uselfuvalue((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__init__fsuBoundedSemaphore.__init__c CsBy|jjƒ}Wntk r-d}YnXd||jjfS(Nuunknownu)(u_semlocku _get_valueu Exceptionumaxvalue(uselfuvalue((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__repr__is   uBoundedSemaphore.__repr__N(u__name__u __module__u __qualname__u__init__u__repr__(u __locals__((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuBoundedSemaphoredscBs,|EeZdZdd„Zdd„ZdS(uLockcCstj|tddƒdS(Ni(uSemLocku__init__u SEMAPHORE(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__init__wsu Lock.__init__c Cs¶y“|jjƒrPtƒj}tjƒjdkr’|dtjƒj7}q’nB|jjƒdkrnd}n$|jjƒdkrŒd}nd}Wntk r­d}YnXd |S( Nu MainThreadu|iuNoneiuSomeOtherThreaduSomeOtherProcessuunknownu( u_semlocku_is_mineucurrent_processunameu threadingucurrent_threadu _get_valueu_countu Exception(uselfuname((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__repr__zs      u Lock.__repr__N(u__name__u __module__u __qualname__u__init__u__repr__(u __locals__((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuLockus cBs,|EeZdZdd„Zdd„ZdS(uRLockcCstj|tddƒdS(Ni(uSemLocku__init__uRECURSIVE_MUTEX(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__init__suRLock.__init__c Csãy´|jjƒr_tƒj}tjƒjdkrM|dtjƒj7}n|jjƒ}nT|jjƒdkrƒd \}}n0|jjƒdkr§d \}}n d \}}Wntk rÔd\}}YnXd ||fS(Nu MainThreadu|iuNoneiuSomeOtherThreadunonzerouSomeOtherProcessuunknownu(uNonei(uSomeOtherThreadunonzero(uSomeOtherProcessunonzero(uunknownuunknown( u_semlocku_is_mineucurrent_processunameu threadingucurrent_threadu_countu _get_valueu Exception(uselfunameucount((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__repr__“s  uRLock.__repr__N(u__name__u __module__u __qualname__u__init__u__repr__(u __locals__((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuRLockŽs cBs¡|EeZdZddd„Zdd„Zdd„Zdd„Zd d „Zd d „Z d d„Z ddd„Z dd„Z dd„Z ddd„ZdS(u ConditioncCsM|p tƒ|_tdƒ|_tdƒ|_tdƒ|_|jƒdS(Ni(uRLocku_locku Semaphoreu_sleeping_countu _woken_countu_wait_semaphoreu _make_methods(uselfulock((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__init__ªs uCondition.__init__cCs&t|ƒ|j|j|j|jfS(N(uassert_spawningu_locku_sleeping_countu _woken_countu_wait_semaphore(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu __getstate__±s  uCondition.__getstate__cCs,|\|_|_|_|_|jƒdS(N(u_locku_sleeping_countu _woken_countu_wait_semaphoreu _make_methods(uselfustate((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu __setstate__¶suCondition.__setstate__cCs |jjƒS(N(u_locku __enter__(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu __enter__»suCondition.__enter__cGs|jj|ŒS(N(u_locku__exit__(uselfuargs((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__exit__¾suCondition.__exit__cCs"|jj|_|jj|_dS(N(u_lockuacquireurelease(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu _make_methodsÁsuCondition._make_methodsc CsRy&|jjjƒ|jjjƒ}Wntk r@d}YnXd|j|fS(Nuunknownu(u_sleeping_countu_semlocku _get_valueu _woken_countu Exceptionu_lock(uselfu num_waiters((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__repr__Ås   uCondition.__repr__c Cs±|jjjƒstdƒ‚|jjƒ|jjjƒ}x!t|ƒD]}|jjƒqJWz|jj d|ƒSWd|j jƒx!t|ƒD]}|jj ƒq•WXdS(Nu,must acquire() condition before using wait()T( u_locku_semlocku_is_mineuAssertionErroru_sleeping_countureleaseu_counturangeu_wait_semaphoreuacquireuTrueu _woken_count(uselfutimeoutucountui((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuwaitÍs   uCondition.waitcCs±|jjjƒstdƒ‚|jjdƒ s7t‚x4|jjdƒrm|jjdƒ}|s:t‚q:W|jjdƒr­|jj ƒ|jjƒ|jjdƒndS(Nulock is not ownedF( u_locku_semlocku_is_mineuAssertionErroru_wait_semaphoreuacquireuFalseu _woken_countu_sleeping_counturelease(uselfures((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyunotifyäs  uCondition.notifycCsî|jjjƒstdƒ‚|jjdƒ s7t‚x4|jjdƒrm|jjdƒ}|s:t‚q:Wd}x-|jjdƒr£|jj ƒ|d7}qwW|rêx!t |ƒD]}|jjƒq·Wx|jjdƒræqÑWndS(Nulock is not ownediiF( u_locku_semlocku_is_mineuAssertionErroru_wait_semaphoreuacquireuFalseu _woken_countu_sleeping_countureleaseurange(uselfuresusleepersui((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu notify_allõs uCondition.notify_allcCsŽ|ƒ}|r|S|dk r/tƒ|}n d}d}xL|s‰|dk rp|tƒ}|dkrpPqpn|j|ƒ|ƒ}q>W|S(Ni(uNoneu_timeuwait(uselfu predicateutimeouturesultuendtimeuwaittime((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuwait_for s        uCondition.wait_forN(u__name__u __module__u __qualname__uNoneu__init__u __getstate__u __setstate__u __enter__u__exit__u _make_methodsu__repr__uwaitunotifyu notify_alluwait_for(u __locals__((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu Condition¨s        cBsS|EeZdZdd„Zdd„Zdd„Zdd„Zd d d „Zd S( uEventcCs%ttƒƒ|_tdƒ|_dS(Ni(u ConditionuLocku_condu Semaphoreu_flag(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__init__$suEvent.__init__c CsM|jjƒz+|jjdƒr3|jjƒdSdSWd|jjƒXdS(NFT(u_conduacquireu_flaguFalseureleaseuTrue(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuis_set(s  u Event.is_setc CsP|jjƒz.|jjdƒ|jjƒ|jjƒWd|jjƒXdS(NF(u_conduacquireu_flaguFalseureleaseu notify_all(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuset2s   u Event.setc Cs6|jjƒz|jjdƒWd|jjƒXdS(NF(u_conduacquireu_flaguFalseurelease(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuclear;s u Event.clearc Cs|jjƒz]|jjdƒr2|jjƒn|jj|ƒ|jjdƒre|jjƒdSdSWd|jjƒXdS(NFT(u_conduacquireu_flaguFalseureleaseuwaituTrue(uselfutimeout((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuwaitBs  u Event.waitN( u__name__u __module__u __qualname__u__init__uis_setusetuclearuNoneuwait(u __locals__((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyuEvent"s   cBsŒ|EeZdZd d dd„Zdd„Zdd„Zedd„ƒZej d d„ƒZed d „ƒZ e j d d „ƒZ d S(uBarriercCspddl}ddlm}||jdƒdƒ}tƒ}|j|||||fƒd|_d|_dS(Ni(u BufferWrapperuii(ustructumultiprocessing.heapu BufferWrapperucalcsizeu Conditionu __setstate__u_stateu_count(uselfupartiesuactionutimeoutustructu BufferWrapperuwrapperucond((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu__init__Ws   uBarrier.__init__cCsC|\|_|_|_|_|_|jjƒjdƒ|_dS(Nui(u_partiesu_actionu_timeoutu_condu_wrapperucreate_memoryviewucastu_array(uselfustate((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu __setstate__`s$uBarrier.__setstate__cCs"|j|j|j|j|jfS(N(u_partiesu_actionu_timeoutu_condu_wrapper(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu __getstate__esuBarrier.__getstate__cCs |jdS(Ni(u_array(uself((u@/opt/alt/python33/lib64/python3.3/multiprocessing/synchronize.pyu_stateisuBarrier._statecCs||jd s.      $z3