3 \K@s ddlZddlTddlmZddlmZeZej de ddej de d dd ekrlej d e d dd dZ ddZ eej ddZ eejddZd ekreejdd Zejje_dekreejddZdekreejddZeje_[[dS)N)*)wraps)IntEnumSignalscCs(|jr|jdr|jd p&|jdS)NZSIGZSIG_ZCTRL_)isupper startswith)namer /usr/lib64/python3.6/signal.py sr HandlerscCs|dkS)NSIG_DFLSIG_IGN)r rr )rr r r r spthread_sigmaskZSigmaskscCs|dkS)N SIG_BLOCK SIG_UNBLOCK SIG_SETMASK)rrrr )rr r r r sc Cs"y||Stk r|SXdS)zsConvert a numeric value to an IntEnum member. If it's not a known member, return the numeric value itself. N) ValueError)valueZ enum_klassr r r _int_to_enumsrc Cs&yt|Sttfk r |SXdS)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#srcCstjt|t|}t|tS)N)_signalsignalrrr ) signalnumhandlerr r r r-srcCstj|}t|tS)N)r getsignalrr )rrr r r r3s rcCstj||}tdd|DS)Ncss|]}t|tVqdS)N)rr).0xr r r =sz"pthread_sigmask..)rrset)ZhowmaskZsigs_setr r r r:s  sigpendingcCstj}tdd|DS)Ncss|]}t|tVqdS)N)rr)rrr r r r Eszsigpending..)rr#r!)Zsigsr r r r#BssigwaitcCstj|}t|tS)N)rr$rr)ZsigsetZretsigr r r r$Is )r functoolsrZ_wrapsenumrZ_IntEnumglobalsZ_globals_convert__name__rrrrr__doc__r#r$r r r r s6