%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python3.8/multiprocessing/__pycache__/
Upload File :
Create Path :
Current File : //usr/local/lib/python3.8/multiprocessing/__pycache__/synchronize.cpython-38.pyc

U

q©ßaZ-ã@s,ddddddgZddlZddlZddlZddlZddlZdd	lmZdd
lmZddlm	Z	zddlm
Z
mZWnek
rŒed
ƒ‚YnXe
edƒƒ\ZZej
jZGdd„deƒZ
Gdd„de
ƒZGdd„deƒZGdd„de
ƒZGdd„de
ƒZGdd„deƒZGdd„deƒZGdd„dejƒZdS)ÚLockÚRLockÚ	SemaphoreÚBoundedSemaphoreÚ	ConditionÚEventéNé)Úcontext)Úprocess)Úutil)ÚSemLockÚ
sem_unlinkz—This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.éc@s\eZdZe ¡Zdd„Zedd„ƒZdd„Z	dd„Z
d	d
„Zdd„Zd
d„Z
edd„ƒZdS)rc	Csö|dkrtj ¡}| ¡}tjdkp*|dk}tdƒD]>}z t |||| 	¡|¡}|_
Wntk
rlYq4Xq|q4tdƒ‚t 
d|j¡| ¡tjdkr²dd„}	t ||	¡|j
jdk	ròdd	lm}
|
|j
jd
ƒtj|tj|j
jfdddS)
NÚwin32Úforkédzcannot find name for semaphorezcreated semlock with handle %scSs|j ¡dS©N)Ú_semlockÚ_after_fork)Úobj©rú7/usr/local/lib/python3.8/multiprocessing/synchronize.pyrGsz%SemLock.__init__.<locals>._after_forkr)ÚregisterÚ	semaphorer)Úexitpriority)r	Ú_default_contextÚget_contextÚget_start_methodÚsysÚplatformÚrangeÚ_multiprocessingrÚ
_make_namerÚFileExistsErrorrÚdebugÚhandleÚ
_make_methodsÚregister_after_forkÚnameÚresource_trackerrÚFinalizeÚ_cleanup)ÚselfÚkindÚvalueÚmaxvalueÚctxr(Ú
unlink_nowÚiÚslrrrrrÚ__init__2s8
þ
ÿzSemLock.__init__cCs"ddlm}t|ƒ||dƒdS)Nr)Ú
unregisterr)r)r5r
)r(r5rrrr+TszSemLock._cleanupcCs|jj|_|jj|_dSr)rÚacquireÚrelease©r,rrrr&Zs
zSemLock._make_methodscCs
|j ¡Sr)rÚ	__enter__r8rrrr9^szSemLock.__enter__cGs|jj|ŽSr)rÚ__exit__©r,Úargsrrrr:aszSemLock.__exit__cCsDt |¡|j}tjdkr,t ¡ |j¡}n|j}||j|j	|j
fS)Nr)r	Úassert_spawningrrrÚget_spawning_popenÚduplicate_for_childr%r-r/r()r,r3ÚhrrrÚ__getstate__ds

zSemLock.__getstate__cCs,tjj|Ž|_t d|d¡| ¡dS)Nz recreated blocker with handle %rr)r!rÚ_rebuildrrr$r&©r,ÚstaterrrÚ__setstate__mszSemLock.__setstate__cCsdt ¡jdttjƒfS)Nz%s-%sÚ	semprefix)r
Úcurrent_processÚ_configÚnextrÚ_randrrrrr"rsÿzSemLock._make_nameN)Ú__name__Ú
__module__Ú__qualname__ÚtempfileÚ_RandomNameSequencerJr4Ústaticmethodr+r&r9r:rArEr"rrrrr.s"
	rc@s&eZdZd	dd„Zdd„Zdd„ZdS)
rrcCstj|t|t|ddS©N©r0)rr4Ú	SEMAPHOREÚ
SEM_VALUE_MAX©r,r.r0rrrr4}szSemaphore.__init__cCs
|j ¡Sr)rÚ
_get_valuer8rrrÚ	get_value€szSemaphore.get_valuecCs8z|j ¡}Wntk
r&d}YnXd|jj|fS)NÚunknownz<%s(value=%s)>)rrVÚ	ExceptionÚ	__class__rK©r,r.rrrÚ__repr__ƒs

zSemaphore.__repr__N)r)rKrLrMr4rWr\rrrrr{s
c@seZdZddd„Zdd„ZdS)rrcCstj|t|||ddSrQ©rr4rSrUrrrr4szBoundedSemaphore.__init__cCs>z|j ¡}Wntk
r&d}YnXd|jj||jjfS)NrXz<%s(value=%s, maxvalue=%s)>)rrVrYrZrKr/r[rrrr\“s
ÿzBoundedSemaphore.__repr__N)r©rKrLrMr4r\rrrrrŽs
c@seZdZdd„Zdd„ZdS)rcCstj|tdd|ddS©NrrRr]©r,r0rrrr4¡sz
Lock.__init__cCszf|j ¡r8t ¡j}t ¡jdkrd|dt ¡j7}n,|j ¡dkrLd}n|j ¡dkr`d}nd}Wnt	k
r~d}YnXd	|j
j|fS)
NÚ
MainThreadú|rÚNonerÚSomeOtherThreadÚSomeOtherProcessrXz<%s(owner=%s)>)rÚ_is_miner
rGr(Ú	threadingÚcurrent_threadrVÚ_countrYrZrK)r,r(rrrr\¤s


z
Lock.__repr__Nr^rrrrrŸsc@seZdZdd„Zdd„ZdS)rcCstj|tdd|ddSr_)rr4ÚRECURSIVE_MUTEXr`rrrr4ºszRLock.__init__cCs¬z||j ¡rBt ¡j}t ¡jdkr6|dt ¡j7}|j ¡}n8|j ¡dkrZd\}}n |j ¡dkrrd\}}nd\}}Wnt	k
r˜d\}}YnXd	|j
j||fS)
Nrarbr)rcrr)rdÚnonzero)rerk)rXrXú<%s(%s, %s)>)rrfr
rGr(rgrhrirVrYrZrK)r,r(Úcountrrrr\½s



zRLock.__repr__Nr^rrrrr¸sc@sleZdZddd„Zdd„Zdd„Zdd	„Zd
d„Zdd
„Zdd„Z	ddd„Z
ddd„Zdd„Zddd„Z
dS)rNcCs>|p
| ¡|_| d¡|_| d¡|_| d¡|_| ¡dS©Nr)rÚ_lockrÚ_sleeping_countÚ_woken_countÚ_wait_semaphorer&)r,Úlockr0rrrr4Ôs
zCondition.__init__cCst |¡|j|j|j|jfSr)r	r=rorprqrrr8rrrrAÛs

ÿzCondition.__getstate__cCs |\|_|_|_|_| ¡dSr)rorprqrrr&rCrrrrEàs
ÿ
zCondition.__setstate__cCs
|j ¡Sr)ror9r8rrrr9åszCondition.__enter__cGs|jj|ŽSr)ror:r;rrrr:èszCondition.__exit__cCs|jj|_|jj|_dSr)ror6r7r8rrrr&ës
zCondition._make_methodscCsJz|jj ¡|jj ¡}Wntk
r4d}YnXd|jj|j|fS)NrXrl)rprrVrqrYrZrKro)r,Únum_waitersrrrr\ïs

ÿ
zCondition.__repr__c	Cs~|jj ¡stdƒ‚|j ¡|jj ¡}t|ƒD]}|j ¡q2z|j
 	d|¡W¢S|j ¡t|ƒD]}|j 	¡qhXdS)Nz,must acquire() condition before using wait()T)rorrfÚAssertionErrorrpr7rir rqr6rr)r,Útimeoutrmr2rrrÚwait÷sÿ

zCondition.waitrcCs¨|jj ¡stdƒ‚|j d¡r(tdƒ‚|j d¡rN|j d¡}|s(tdƒ‚q(d}||krz|j d¡rz|j ¡|d7}qR|r¤t	|ƒD]}|j ¡q†|j d¡r¤q–dS)Nzlock is not ownedFz<notify: Should not have been able to acquire _wait_semaphorez>notify: Bug in sleeping_count.acquire- res should not be Falserr)
rorrfrurrr6rqrpr7r )r,ÚnÚresÚsleepersr2rrrÚnotifys$ÿÿ

zCondition.notifycCs|jtjddS)N)rx)r{rÚmaxsizer8rrrÚ
notify_all(szCondition.notify_allcCsd|ƒ}|r|S|dk	r$t ¡|}nd}d}|s`|dk	rN|t ¡}|dkrNq`| |¡|ƒ}q,|Srn)ÚtimeÚ	monotonicrw)r,Ú	predicatervÚresultÚendtimeÚwaittimerrrÚwait_for+s
zCondition.wait_for)N)N)r)N)rKrLrMr4rArEr9r:r&r\rwr{r}r„rrrrrÒs


c@s6eZdZdd„Zdd„Zdd„Zdd„Zdd
d„Zd	S)
rcCs | | ¡¡|_| d¡|_dSrn)rrÚ_condrÚ_flagr`rrrr4CszEvent.__init__c	CsD|j4|j d¡r,|j ¡W5QR£dSW5QR£dSQRXdS©NFT)r…r†r6r7r8rrrÚis_setGs

zEvent.is_setc	Cs6|j&|j d¡|j ¡|j ¡W5QRXdS©NF)r…r†r6r7r}r8rrrÚsetNs
z	Event.setc	Cs"|j|j d¡W5QRXdSr‰)r…r†r6r8rrrÚclearTszEvent.clearNc	Csh|jX|j d¡r |j ¡n|j |¡|j d¡rP|j ¡W5QR£dSW5QR£dSQRXdSr‡)r…r†r6r7rw)r,rvrrrrwXs
z
Event.wait)N)rKrLrMr4rˆrŠr‹rwrrrrrAs
c@sZeZdZddd„Zdd„Zdd„Zedd	„ƒZejd
d	„ƒZedd„ƒZ	e	jd
d„ƒZ	dS)ÚBarrierNc	CsRddl}ddlm}|| d¡dƒ}| ¡}| |||||f¡d|_d|_dS)Nrr)Ú
BufferWrapperr2r)ÚstructÚheaprÚcalcsizerrEÚ_stateri)	r,ÚpartiesÚactionrvr0rŽrÚwrapperÚcondrrrr4jszBarrier.__init__cCs.|\|_|_|_|_|_|j ¡ d¡|_dS)Nr2)Ú_partiesÚ_actionÚ_timeoutr…Ú_wrapperÚcreate_memoryviewÚcastÚ_arrayrCrrrrEss
ÿzBarrier.__setstate__cCs|j|j|j|j|jfSr)r–r—r˜r…r™r8rrrrAxsÿzBarrier.__getstate__cCs
|jdSrn©rœr8rrrr‘|szBarrier._statecCs||jd<dSrnrr[rrrr‘€scCs
|jdS©Nrrr8rrrri„szBarrier._countcCs||jd<dSržrr[rrrriˆs)NN)
rKrLrMr4rErAÚpropertyr‘ÚsetterrirrrrrŒhs
	


rŒ)Ú__all__rgrrNr!r~Úr	r
rrr
ÚImportErrorÚlistr rjrSrTÚobjectrrrrrrrŒrrrrÚ<module>s8ÿ	Mo'

Zerion Mini Shell 1.0