Current Dir: /snap/core22/2955/usr/lib/python3.10/
[DIR] asyncio [ delete | rename ]
[DIR] collections [ delete | rename ]
[DIR] concurrent [ delete | rename ]
[DIR] ctypes [ delete | rename ]
[DIR] curses [ delete | rename ]
[DIR] dbm [ delete | rename ]
[DIR] distutils [ delete | rename ]
[DIR] email [ delete | rename ]
[DIR] encodings [ delete | rename ]
[DIR] html [ delete | rename ]
[DIR] http [ delete | rename ]
[DIR] importlib [ delete | rename ]
[DIR] json [ delete | rename ]
[DIR] lib-dynload [ delete | rename ]
[DIR] lib2to3 [ delete | rename ]
[DIR] logging [ delete | rename ]
[DIR] multiprocessing [ delete | rename ]
[DIR] pydoc_data [ delete | rename ]
[DIR] sqlite3 [ delete | rename ]
[DIR] test [ delete | rename ]
[DIR] unittest [ delete | rename ]
[DIR] urllib [ delete | rename ]
[DIR] venv [ delete | rename ]
[DIR] wsgiref [ delete | rename ]
[DIR] xml [ delete | rename ]
[DIR] xmlrpc [ delete | rename ]
[DIR] zoneinfo [ delete | rename ]
[DIR] __pycache__ [ delete | rename ]
[FILE] abc.py [ edit | delete | rename ]
[FILE] aifc.py [ edit | delete | rename ]
[FILE] antigravity.py [ edit | delete | rename ]
[FILE] argparse.py [ edit | delete | rename ]
[FILE] ast.py [ edit | delete | rename ]
[FILE] asynchat.py [ edit | delete | rename ]
[FILE] asyncore.py [ edit | delete | rename ]
[FILE] base64.py [ edit | delete | rename ]
[FILE] bdb.py [ edit | delete | rename ]
[FILE] binhex.py [ edit | delete | rename ]
[FILE] bisect.py [ edit | delete | rename ]
[FILE] bz2.py [ edit | delete | rename ]
[FILE] calendar.py [ edit | delete | rename ]
[FILE] cgi.py [ edit | delete | rename ]
[FILE] cgitb.py [ edit | delete | rename ]
[FILE] chunk.py [ edit | delete | rename ]
[FILE] cmd.py [ edit | delete | rename ]
[FILE] code.py [ edit | delete | rename ]
[FILE] codecs.py [ edit | delete | rename ]
[FILE] codeop.py [ edit | delete | rename ]
[FILE] colorsys.py [ edit | delete | rename ]
[FILE] compileall.py [ edit | delete | rename ]
[FILE] configparser.py [ edit | delete | rename ]
[FILE] contextlib.py [ edit | delete | rename ]
[FILE] contextvars.py [ edit | delete | rename ]
[FILE] copy.py [ edit | delete | rename ]
[FILE] copyreg.py [ edit | delete | rename ]
[FILE] cProfile.py [ edit | delete | rename ]
[FILE] crypt.py [ edit | delete | rename ]
[FILE] csv.py [ edit | delete | rename ]
[FILE] dataclasses.py [ edit | delete | rename ]
[FILE] datetime.py [ edit | delete | rename ]
[FILE] decimal.py [ edit | delete | rename ]
[FILE] difflib.py [ edit | delete | rename ]
[FILE] dis.py [ edit | delete | rename ]
[FILE] doctest.py [ edit | delete | rename ]
[FILE] enum.py [ edit | delete | rename ]
[FILE] filecmp.py [ edit | delete | rename ]
[FILE] fileinput.py [ edit | delete | rename ]
[FILE] fnmatch.py [ edit | delete | rename ]
[FILE] fractions.py [ edit | delete | rename ]
[FILE] ftplib.py [ edit | delete | rename ]
[FILE] functools.py [ edit | delete | rename ]
[FILE] genericpath.py [ edit | delete | rename ]
[FILE] getopt.py [ edit | delete | rename ]
[FILE] getpass.py [ edit | delete | rename ]
[FILE] gettext.py [ edit | delete | rename ]
[FILE] glob.py [ edit | delete | rename ]
[FILE] graphlib.py [ edit | delete | rename ]
[FILE] gzip.py [ edit | delete | rename ]
[FILE] hashlib.py [ edit | delete | rename ]
[FILE] heapq.py [ edit | delete | rename ]
[FILE] hmac.py [ edit | delete | rename ]
[FILE] imaplib.py [ edit | delete | rename ]
[FILE] imghdr.py [ edit | delete | rename ]
[FILE] imp.py [ edit | delete | rename ]
[FILE] inspect.py [ edit | delete | rename ]
[FILE] io.py [ edit | delete | rename ]
[FILE] ipaddress.py [ edit | delete | rename ]
[FILE] keyword.py [ edit | delete | rename ]
[FILE] LICENSE.txt [ edit | delete | rename ]
[FILE] linecache.py [ edit | delete | rename ]
[FILE] locale.py [ edit | delete | rename ]
[FILE] lzma.py [ edit | delete | rename ]
[FILE] mailbox.py [ edit | delete | rename ]
[FILE] mailcap.py [ edit | delete | rename ]
[FILE] mimetypes.py [ edit | delete | rename ]
[FILE] modulefinder.py [ edit | delete | rename ]
[FILE] netrc.py [ edit | delete | rename ]
[FILE] nntplib.py [ edit | delete | rename ]
[FILE] ntpath.py [ edit | delete | rename ]
[FILE] nturl2path.py [ edit | delete | rename ]
[FILE] numbers.py [ edit | delete | rename ]
[FILE] opcode.py [ edit | delete | rename ]
[FILE] operator.py [ edit | delete | rename ]
[FILE] optparse.py [ edit | delete | rename ]
[FILE] os.py [ edit | delete | rename ]
[FILE] pathlib.py [ edit | delete | rename ]
[FILE] pdb.py [ edit | delete | rename ]
[FILE] pickle.py [ edit | delete | rename ]
[FILE] pickletools.py [ edit | delete | rename ]
[FILE] pipes.py [ edit | delete | rename ]
[FILE] pkgutil.py [ edit | delete | rename ]
[FILE] platform.py [ edit | delete | rename ]
[FILE] plistlib.py [ edit | delete | rename ]
[FILE] poplib.py [ edit | delete | rename ]
[FILE] posixpath.py [ edit | delete | rename ]
[FILE] pprint.py [ edit | delete | rename ]
[FILE] profile.py [ edit | delete | rename ]
[FILE] pstats.py [ edit | delete | rename ]
[FILE] pty.py [ edit | delete | rename ]
[FILE] pyclbr.py [ edit | delete | rename ]
[FILE] pydoc.py [ edit | delete | rename ]
[FILE] py_compile.py [ edit | delete | rename ]
[FILE] queue.py [ edit | delete | rename ]
[FILE] quopri.py [ edit | delete | rename ]
[FILE] random.py [ edit | delete | rename ]
[FILE] re.py [ edit | delete | rename ]
[FILE] reprlib.py [ edit | delete | rename ]
[FILE] rlcompleter.py [ edit | delete | rename ]
[FILE] runpy.py [ edit | delete | rename ]
[FILE] sched.py [ edit | delete | rename ]
[FILE] secrets.py [ edit | delete | rename ]
[FILE] selectors.py [ edit | delete | rename ]
[FILE] shelve.py [ edit | delete | rename ]
[FILE] shlex.py [ edit | delete | rename ]
[FILE] shutil.py [ edit | delete | rename ]
[FILE] signal.py [ edit | delete | rename ]
[FILE] site.py [ edit | delete | rename ]
[FILE] sitecustomize.py [ edit | delete | rename ]
[FILE] smtpd.py [ edit | delete | rename ]
[FILE] smtplib.py [ edit | delete | rename ]
[FILE] sndhdr.py [ edit | delete | rename ]
[FILE] socket.py [ edit | delete | rename ]
[FILE] socketserver.py [ edit | delete | rename ]
[FILE] sre_compile.py [ edit | delete | rename ]
[FILE] sre_constants.py [ edit | delete | rename ]
[FILE] sre_parse.py [ edit | delete | rename ]
[FILE] ssl.py [ edit | delete | rename ]
[FILE] stat.py [ edit | delete | rename ]
[FILE] statistics.py [ edit | delete | rename ]
[FILE] string.py [ edit | delete | rename ]
[FILE] stringprep.py [ edit | delete | rename ]
[FILE] struct.py [ edit | delete | rename ]
[FILE] subprocess.py [ edit | delete | rename ]
[FILE] sunau.py [ edit | delete | rename ]
[FILE] symtable.py [ edit | delete | rename ]
[FILE] sysconfig.py [ edit | delete | rename ]
[FILE] tabnanny.py [ edit | delete | rename ]
[FILE] tarfile.py [ edit | delete | rename ]
[FILE] telnetlib.py [ edit | delete | rename ]
[FILE] tempfile.py [ edit | delete | rename ]
[FILE] textwrap.py [ edit | delete | rename ]
[FILE] this.py [ edit | delete | rename ]
[FILE] threading.py [ edit | delete | rename ]
[FILE] timeit.py [ edit | delete | rename ]
[FILE] token.py [ edit | delete | rename ]
[FILE] tokenize.py [ edit | delete | rename ]
[FILE] trace.py [ edit | delete | rename ]
[FILE] traceback.py [ edit | delete | rename ]
[FILE] tracemalloc.py [ edit | delete | rename ]
[FILE] tty.py [ edit | delete | rename ]
[FILE] turtle.py [ edit | delete | rename ]
[FILE] types.py [ edit | delete | rename ]
[FILE] typing.py [ edit | delete | rename ]
[FILE] uu.py [ edit | delete | rename ]
[FILE] uuid.py [ edit | delete | rename ]
[FILE] warnings.py [ edit | delete | rename ]
[FILE] wave.py [ edit | delete | rename ]
[FILE] weakref.py [ edit | delete | rename ]
[FILE] webbrowser.py [ edit | delete | rename ]
[FILE] xdrlib.py [ edit | delete | rename ]
[FILE] zipapp.py [ edit | delete | rename ]
[FILE] zipfile.py [ edit | delete | rename ]
[FILE] zipimport.py [ edit | delete | rename ]
[FILE] _aix_support.py [ edit | delete | rename ]
[FILE] _bootsubprocess.py [ edit | delete | rename ]
[FILE] _collections_abc.py [ edit | delete | rename ]
[FILE] _compat_pickle.py [ edit | delete | rename ]
[FILE] _compression.py [ edit | delete | rename ]
[FILE] _distutils_system_mod.py [ edit | delete | rename ]
[FILE] _markupbase.py [ edit | delete | rename ]
[FILE] _osx_support.py [ edit | delete | rename ]
[FILE] _pydecimal.py [ edit | delete | rename ]
[FILE] _pyio.py [ edit | delete | rename ]
[FILE] _py_abc.py [ edit | delete | rename ]
[FILE] _sitebuiltins.py [ edit | delete | rename ]
[FILE] _strptime.py [ edit | delete | rename ]
[FILE] _sysconfigdata__linux_x86_64-linux-gnu.py [ edit | delete | rename ]
[FILE] _sysconfigdata__x86_64-linux-gnu.py [ edit | delete | rename ]
[FILE] _threading_local.py [ edit | delete | rename ]
[FILE] _weakrefset.py [ edit | delete | rename ]
[FILE] __future__.py [ edit | delete | rename ]
[FILE] __phello__.foo.py [ edit | delete | rename ]
Viewing: /snap/core22/2955/usr/lib/python3.10/signal.py
import _signal
from _signal import *
from enum import IntEnum as _IntEnum
_globals = globals()
_IntEnum._convert_(
'Signals', __name__,
lambda name:
name.isupper()
and (name.startswith('SIG') and not name.startswith('SIG_'))
or name.startswith('CTRL_'))
_IntEnum._convert_(
'Handlers', __name__,
lambda name: name in ('SIG_DFL', 'SIG_IGN'))
if 'pthread_sigmask' in _globals:
_IntEnum._convert_(
'Sigmasks', __name__,
lambda name: name in ('SIG_BLOCK', 'SIG_UNBLOCK', 'SIG_SETMASK'))
def _int_to_enum(value, enum_klass):
"""Convert a numeric value to an IntEnum member.
If it's not a known member, return the numeric value itself.
"""
try:
return enum_klass(value)
except ValueError:
return value
def _enum_to_int(value):
"""Convert an IntEnum member to a numeric value.
If it's not an IntEnum member return the value itself.
"""
try:
return int(value)
except (ValueError, TypeError):
return value
# Similar to functools.wraps(), but only assign __doc__.
# __module__ should be preserved,
# __name__ and __qualname__ are already fine,
# __annotations__ is not set.
def _wraps(wrapped):
def decorator(wrapper):
wrapper.__doc__ = wrapped.__doc__
return wrapper
return decorator
@_wraps(_signal.signal)
def signal(signalnum, handler):
handler = _signal.signal(_enum_to_int(signalnum), _enum_to_int(handler))
return _int_to_enum(handler, Handlers)
@_wraps(_signal.getsignal)
def getsignal(signalnum):
handler = _signal.getsignal(signalnum)
return _int_to_enum(handler, Handlers)
if 'pthread_sigmask' in _globals:
@_wraps(_signal.pthread_sigmask)
def pthread_sigmask(how, mask):
sigs_set = _signal.pthread_sigmask(how, mask)
return set(_int_to_enum(x, Signals) for x in sigs_set)
if 'sigpending' in _globals:
@_wraps(_signal.sigpending)
def sigpending():
return {_int_to_enum(x, Signals) for x in _signal.sigpending()}
if 'sigwait' in _globals:
@_wraps(_signal.sigwait)
def sigwait(sigset):
retsig = _signal.sigwait(sigset)
return _int_to_enum(retsig, Signals)
if 'valid_signals' in _globals:
@_wraps(_signal.valid_signals)
def valid_signals():
return {_int_to_enum(x, Signals) for x in _signal.valid_signals()}
del _globals, _wraps