ó
    ÷Þ jÉ  ã                   óÔ   • S r SSKrSSKrSSKrSSKr\R
                  " SSS9  S r\R                  " \" 5       5        \R                  " 5         \	" S5        \R                  " S5        g)a¶  Out-of-process payload for the free-threaded switch/critical-section deadlock.

See ``freethread_switch_deadlock.py`` in the repo root for the full write-up.
Before the fix, a greenlet switch swapped C stacks but left any held
``PyCriticalSection`` locks (tracked in ``tstate->critical_section``) locked.
asyncio's ``Task.__step`` holds such a lock on the running task across the step,
so switching into a child greenlet and touching that task from there blocked
forever. A fixed build (and any GIL-enabled build) prints the sentinel; a
regressed free-threaded build deadlocks, and the watchdog turns that hang into a
non-zero exit so the test fails loudly instead of stalling the whole suite.
é    Né   T)Úexitc               ƒ   óŒ   ^#   • [         R                  " 5       mU4S jn [        R                  " U 5      R                  5         g 7f)Nc                  óN   >• T R                  S 5        T R                  S 5        g )Nc                 ó   • g ©N© ©Ú_s    Úe/var/www/html/gaurav/venv/lib/python3.13/site-packages/greenlet/tests/fail_switch_critical_section.pyÚ<lambda>Ú.main.<locals>.in_child_fiber.<locals>.<lambda>   s   € ¨ó    c                 ó   • g r   r	   r
   s    r   r   r      s   € ¨Dr   )Úadd_done_callbackÚremove_done_callback)Útasks   €r   Úin_child_fiberÚmain.<locals>.in_child_fiber   s!   ø€ ð 	×Ñ™~Ô.Ø×!Ñ!¡.Õ1r   )ÚasyncioÚcurrent_taskÚgreenletÚswitch)r   r   s    @r   Úmainr      s2   øé € Ü×ÒÓ!€Dõ2ô ×Ò�nÓ%×,Ñ,Õ.ùs   ƒAAzSWITCH CS OK)Ú__doc__r   ÚfaulthandlerÚsysr   Údump_traceback_laterr   ÚrunÚcancel_dump_traceback_laterÚprintr   r	   r   r   Ú<module>r"      s^   ðñ
ó Û Û 
ã ð × !Ò ! "¨4Ò 0ò	/ð ‡‚‰D‹FÔ Ø × (Ò (Ô *Ù €nÔ Ø ‡‚ˆ…r   