2 from enum import IntEnum
3 from types import FrameType
4 from typing import Any, Callable, Iterable, Optional, Tuple, Union
6 if sys.platform != "win32":
7 class ItimerError(IOError): ...
14 class Signals(IntEnum):
16 if sys.platform != "win32":
18 if sys.platform == "win32":
20 if sys.platform != "win32":
23 if sys.platform != "darwin" and sys.platform != "win32":
25 if sys.platform != "win32":
29 if sys.platform != "win32":
34 if sys.platform != "win32":
39 if sys.platform != "darwin" and sys.platform != "win32":
42 if sys.platform != "win32":
45 if sys.platform != "darwin" and sys.platform != "win32":
49 if sys.platform != "win32":
53 if sys.platform != "win32":
66 class Handlers(IntEnum):
70 SIG_DFL = Handlers.SIG_DFL
71 SIG_IGN = Handlers.SIG_IGN
73 if sys.platform != "win32":
74 class Sigmasks(IntEnum):
78 SIG_BLOCK = Sigmasks.SIG_BLOCK
79 SIG_UNBLOCK = Sigmasks.SIG_UNBLOCK
80 SIG_SETMASK = Sigmasks.SIG_SETMASK
82 _SIGNUM = Union[int, Signals]
83 _HANDLER = Union[Callable[[int, Optional[FrameType]], Any], int, Handlers, None]
86 if sys.platform != "win32":
88 if sys.platform == "win32":
90 if sys.platform != "win32":
93 if sys.platform != "darwin" and sys.platform != "win32":
95 if sys.platform != "win32":
99 if sys.platform != "win32":
104 if sys.platform != "win32":
109 if sys.platform != "darwin" and sys.platform != "win32":
112 if sys.platform != "win32":
115 if sys.platform != "darwin" and sys.platform != "win32":
119 if sys.platform != "win32":
123 if sys.platform != "win32":
136 if sys.platform == "win32":
138 CTRL_BREAK_EVENT: int
140 if sys.platform != "win32" and sys.platform != "darwin":
141 class struct_siginfo(Tuple[int, int, int, int, int, int, int]):
142 def __init__(self, sequence: Iterable[int]) -> None: ...
144 def si_signo(self) -> int: ...
146 def si_code(self) -> int: ...
148 def si_errno(self) -> int: ...
150 def si_pid(self) -> int: ...
152 def si_uid(self) -> int: ...
154 def si_status(self) -> int: ...
156 def si_band(self) -> int: ...
158 if sys.platform != "win32":
159 def alarm(__seconds: int) -> int: ...
161 def default_int_handler(signum: int, frame: FrameType) -> None: ...
163 if sys.platform != "win32":
164 def getitimer(__which: int) -> tuple[float, float]: ...
166 def getsignal(__signalnum: _SIGNUM) -> _HANDLER: ...
168 if sys.version_info >= (3, 8):
169 def strsignal(__signalnum: _SIGNUM) -> str | None: ...
170 def valid_signals() -> set[Signals]: ...
171 def raise_signal(__signalnum: _SIGNUM) -> None: ...
173 if sys.platform != "win32":
174 def pause() -> None: ...
175 def pthread_kill(__thread_id: int, __signalnum: int) -> None: ...
176 def pthread_sigmask(__how: int, __mask: Iterable[int]) -> set[_SIGNUM]: ...
178 if sys.version_info >= (3, 7):
179 def set_wakeup_fd(fd: int, *, warn_on_full_buffer: bool = ...) -> int: ...
182 def set_wakeup_fd(fd: int) -> int: ...
184 if sys.platform != "win32":
185 def setitimer(__which: int, __seconds: float, __interval: float = ...) -> tuple[float, float]: ...
186 def siginterrupt(__signalnum: int, __flag: bool) -> None: ...
188 def signal(__signalnum: _SIGNUM, __handler: _HANDLER) -> _HANDLER: ...
190 if sys.platform != "win32":
191 def sigpending() -> Any: ...
192 def sigwait(__sigset: Iterable[int]) -> _SIGNUM: ...
193 if sys.platform != "darwin":
194 def sigtimedwait(sigset: Iterable[int], timeout: float) -> struct_siginfo | None: ...
195 def sigwaitinfo(sigset: Iterable[int]) -> struct_siginfo: ...