L i-zddlZddlZddlZddlZddlZddlmZddlmZm Z ddl m Z ddl m Z gdZ ddlmZdd lmZed \ZZejj,ZGd d ZGddeZGddeZGddeZGddeZGddZGddZy#e$r ed wxYw)N)time)processutil)assert_spawning)resource_tracker)LockRLock SemaphoreBoundedSemaphore ConditionEvent)SemLock) sem_unlinkzThis platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.cteZdZejZd dZedZdZ dZ dZ dZ dZ ed Zy) rNczd}|CtdD]*} t|||tj||_n t dt||||||_||_tjd|jjd|j d|jd}tj||tj|jj dtj|tj|jj fd y#t $rY)wxYw) NFdzcannot find name for semaphorezcreated semlock with handle and name ""c8|jjyN)_semlock _after_fork)objs o/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/joblib/externals/loky/backend/synchronize.pyrz%SemLock.__init__.._after_fork[s LL $ $ &semlockr) exitpriority)range_SemLockr _make_namerFileExistsErrornamerdebughandle _make_methodsregister_after_forkrregisterFinalize_cleanup)selfkindvaluemaxvaluer$ unlink_now_rs r__init__zSemLock.__init__As% <3Z H$,eXw/A/A/CZ%DM  H&&FGG$T5(D*MDM  *4==+?+?*@A {!   '   {3 !!$--"4"4i@ '""T]]%7%7$9 1's&D-- D:9D:c t|tj|dy#t$rY"wxYw#tj|dwxYw)Nr)rFileNotFoundErrorr unregister)r$s rr+zSemLock._cleanupgsJ 9 t   ' 'i 8 !     ' 'i 8s $ 0303A cp|jj|_|jj|_yr)racquirereleaser,s rr'zSemLock._make_methodsrs$}},, }},, rc6|jjSr)rr7r9s r __enter__zSemLock.__enter__v}}$$&&rc6|jjSr)rr8r,argss r__exit__zSemLock.__exit__yr<rct||j}|j}||j|j|j fSr)rrr&r-r/r$)r,slhs r __getstate__zSemLock.__getstate__|s7 ]] II277BKK11rctj||_tjd|dd|dd|j y)Nzrecreated blocker with handle rrr)r!_rebuildrrr%r'r,states r __setstate__zSemLock.__setstate__sH ))51  ,U1XL E!H:Q O  rcddtjdttjS)Nz/loky--)osgetpidnextr_randrrr"zSemLock._make_names' }Ad7==&9%:;;rr)__name__ __module__ __qualname__tempfile_RandomNameSequencerPr2 staticmethodr+r'r;r@rDrJr"rQrrrr=sY (H ( ( *E$ L99-''2 <)rrb Exception __class__rRr\s r__repr__zSemaphore.__repr__sQ MM,,.E4>>**+75'<< E s9 AANr)rRrSrTr2rcrkrQrrr r s@* =rr ceZdZddZdZy)r c<tj|t||yr)rr2rZr\s rr2zBoundedSemaphore.__init__sy%7rc |jj}d|jjd|d|jj dS#t$rd}YAwxYw)Nrerfrgz , maxvalue=rh)rrbrirjrRr/r\s rrkzBoundedSemaphore.__repr__sj MM,,.E''(w7 ../r 3  E sA AANrl)rRrSrTr2rkrQrrr r s 8 rr c$eZdZfdZdZxZS)r c0t|tddyNr)superr2rZr,rjs rr2z Lock.__init__s Aq)rc |jjrctjj}t j jdk7rf|dt j j}nB|jjdk(rd}n"|jjdkDrd}nd}d |jjd |d S#t$rd}Y*wxYw) N MainThread|rNonerSomeOtherThreadSomeOtherProcessrerfz(owner=rh) r_is_minercurrent_processr$ threadingcurrent_threadrb_countrirjrR)r,r$s rrkz Lock.__repr__s }}%%'..055++-22lB"V1Y%=%=%?%D%D$EFD))+q0%%'!+()4>>**+74&;; D sB?C C,+C,rRrSrTr2rk __classcell__rjs@rr r s *>**+1TF"UG2>> /.KD% /sC"DDDrrs@rr r s 0?rr cTeZdZd dZdZdZdZdZdZdZ d d Z d Z d Z d d Z y)r Nc|xs t|_td|_td|_td|_|j yNr)r _lockr _sleeping_count _woken_count_wait_semaphorer')r,locks rr2zCondition.__init__s?_UW (|%aL(| rctt||j|j|j|jfSr)rrrrrr9s rrDzCondition.__getstate__s6 JJ        rcZ|\|_|_|_|_|j yr)rrrrr'rHs rrJzCondition.__setstate__s/   J      rc6|jjSr)rr;r9s rr;zCondition.__enter__ szz##%%rc4|jj|Sr)rr@r>s rr@zCondition.__exit__s"tzz""D))rcp|jj|_|jj|_yr)rr7r8r9s rr'zCondition._make_methodss$zz)) zz)) rc  |jjj|jjjz }d|j j d|jd|dS#t$rd}Y7wxYw)Nrerfrrrh)rrrbrrirjrRr)r, num_waiterss rrkzCondition.__repr__s $$$--88:##,,779:  4>>**+1TZZL;-rJJ $#K $sA A55 BBc||jjjsJd|jj |jjj }t |D]}|jj  |jjd||jj t |D]}|jjS#|jj t |D]}|jjwxYw)Nz,must acquire() condition before using wait()T) rrr{rr8rr rr7r)r,timeoutrr1s rwaitzCondition.wait!s JJ   ( ( * : 9 : * $$& ##**,u !A JJ    ! %''//g>    % % '5\ % ""$ %    % % '5\ % ""$ %s C55AD;c|jjjsJd|jj drJ|j j dr;|j j d}|sJ|j j dr;|j j drP|jj|j j |jj dyy)Nlock is not ownedF)rrr{rr7rrr8)r,ress rnotifyzCondition.notify9szz""++-B/BB-''//666''.&&..u5CJ3''.    ' ' .  ( ( *    % % '  ( ( / /rc|jjjsJd|jj drJ|j j dr;|j j d}|sJ|j j dr;d}|j j dr;|jj|dz }|j j dr;|rdt|D]}|j j |jj dr |jj dryyy)NrFrr) rrr{rr7rrr8r )r,rsleepersr1s r notify_allzCondition.notify_allJs1zz""++-B/BB-''//666''.&&..u5CJ3''.""**51  ( ( * MH""**51 8_ ,!!))+ ,&&..u5&&..u5 rc|}|r|S|t|z}nd}d}|s2||tz }|dkr |S|j|}|s2|Sr)_timer)r, predicaterresultendtimewaittimes rwait_forzCondition.wait_forast M  g'GGH""UW,q=  IIh [F  rr)rRrSrTr2rDrJr;r@r'rkrrrrrQrrr r s: &**K%00".rr c,eZdZdZdZdZdZddZy)rcTtt|_td|_yr)r r _condr _flagr9s rr2zEvent.__init__zstv& q\ rc|j5|jjdr$|jj dddy dddy#1swYyxYwNFT)rrr7r8r9s ris_setz Event.is_set~sR ZZ zz!!%( ""$      s7A AA c|j5|jjd|jj|jj dddy#1swYyxYwNF)rrr7r8rr9s rsetz Event.setsP ZZ $ JJ  u % JJ   JJ ! ! # $ $ $s AA&&A/c||j5|jjddddy#1swYyxYwr)rrr7r9s rclearz Event.clears0 ZZ & JJ  u % & & &s2;Nch|j5|jjdr|jjn|jj ||jjdr$|jj dddy dddy#1swYyxYwr)rrr7r8r)r,rs rrz Event.waits ZZ zz!!%( ""$ (zz!!%( ""$     sBB(B((B1r)rRrSrTr2rrrrrQrrrrys"$ & rr)rMr_rUr}_multiprocessingrrmultiprocessingrrmultiprocessing.contextrr__all__rr!r ImportErrorr rrZr[r r r r r rrQrrrs )3  4+#1X ((66 O<O