o […dc ã@sbddlZddlZddlmZdZGdd„deƒZe ¡Zdd„Z dd „Z da d d „Z dd d „Z dS)éN)ÚwrapsTc@seZdZdd„Zdd„ZdS)Ú_InterruptHandlercCsNd|_||_t|tƒr"|tjkrtj}n|tjkrdd„}ntdƒ‚||_ dS)NFcSsdS©N©)Ú unused_signumÚ unused_framerrú'/usr/lib/python3.10/unittest/signals.pyÚdefault_handlersz3_InterruptHandler.__init__..default_handlerzYexpected SIGINT signal handler to be signal.SIG_IGN, signal.SIG_DFL, or a callable object) ÚcalledÚoriginal_handlerÚ isinstanceÚintÚsignalÚSIG_DFLÚdefault_int_handlerÚSIG_IGNÚ TypeErrorr )Úselfr rrrÚ__init__ s     z_InterruptHandler.__init__cCsRt tj¡}||ur| ||¡|jr| ||¡d|_t ¡D]}| ¡q dS)NT)rÚ getsignalÚSIGINTr r Ú_resultsÚkeysÚstop)rÚsignumÚframeÚinstalled_handlerÚresultrrrÚ__call__s     ÿz_InterruptHandler.__call__N)Ú__name__Ú __module__Ú __qualname__rrrrrrr s rcCs dt|<dS)Né)r©rrrrÚregisterResult*s r$cCstt |d¡ƒSr)ÚboolrÚpopr#rrrÚ removeResult-sr'cCs2tdurt tj¡}t|ƒat tjt¡dSdSr)Ú_interrupt_handlerrrrr)r rrrÚinstallHandler1s  ýr)cs@ˆdurtˆƒ‡fdd„ƒ}|Stdurt tjtj¡dSdS)Nc sBt tj¡}tƒzˆ|i|¤ŽWt tj|¡St tj|¡wr)rrrÚ removeHandler)ÚargsÚkwargsÚinitial©ÚmethodrrÚinner;s  zremoveHandler..inner)rr(rrr )r/r0rr.rr*9sÿr*r)rÚweakrefÚ functoolsrÚ __unittestÚobjectrÚWeakKeyDictionaryrr$r'r(r)r*rrrrÚs