a d @sddlZddlTddlmZeZededdededdd evr`ed ed dd d ZddZ ddZ e ej ddZ e ej ddZ d evre ej dd Z devre ejddZdevre ejddZdevre ejddZ[[ dS)N)*)IntEnumSignalscCs(|r|dr|d p&|dS)NSIGSIG_CTRL_)isupper startswithnamer /usr/lib64/python3.9/signal.py srHandlerscCs|dvS)N)SIG_DFLSIG_IGNr r r r r rpthread_sigmaskSigmaskscCs|dvS)N) SIG_BLOCK SIG_UNBLOCK SIG_SETMASKr r r r r rrcCs&z ||WSty |YS0dS)zsConvert a numeric value to an IntEnum member. If it's not a known member, return the numeric value itself. N) ValueError)value enum_klassr r r _int_to_enums  rc Cs*z t|WSttfy$|YS0dS)zmConvert an IntEnum member to a numeric value. If it's not an IntEnum member return the value itself. N)intr TypeError)rr r r _enum_to_int"s rcsfdd}|S)Ncs j|_|SN)__doc__)wrapperwrappedr r decorator1sz_wraps..decoratorr )r#r$r r"r _wraps0s r%cCstt|t|}t|tSr)_signalsignalrrr signalnumhandlerr r r r'6sr'cCst|}t|tSr)r& getsignalrrr(r r r r+<s r+cCst||}tdd|DS)Ncss|]}t|tVqdSrrr.0xr r r Frz"pthread_sigmask..)r&rset)howmasksigs_setr r r rCs  sigpendingcCsddtDS)NcSsh|]}t|tqSr r,r-r r r Lrzsigpending..)r&r5r r r r r5JssigwaitcCst|}t|tSr)r&r7rr)sigsetretsigr r r r7Ps  valid_signalscCsddtDS)NcSsh|]}t|tqSr r,r-r r r r6Yrz valid_signals..)r&r:r r r r r:Ws)r&enumr_IntEnumglobals_globals _convert___name__rrr%r'r+rr5r7r:r r r r sH