Skip to content

Commit 7febf03

Browse files
authored
Make signal global enum constants annotated as literals (#13336)
1 parent ca6251a commit 7febf03

File tree

1 file changed

+47
-47
lines changed

1 file changed

+47
-47
lines changed

stdlib/signal.pyi

+47-47
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ from _typeshed import structseq
33
from collections.abc import Callable, Iterable
44
from enum import IntEnum
55
from types import FrameType
6-
from typing import Any, Final, final
6+
from typing import Any, Final, Literal, final
77
from typing_extensions import Never, TypeAlias
88

99
NSIG: int
@@ -61,8 +61,8 @@ class Handlers(IntEnum):
6161
SIG_DFL = 0
6262
SIG_IGN = 1
6363

64-
SIG_DFL: Handlers
65-
SIG_IGN: Handlers
64+
SIG_DFL: Literal[Handlers.SIG_DFL]
65+
SIG_IGN: Literal[Handlers.SIG_IGN]
6666

6767
_SIGNUM: TypeAlias = int | Signals
6868
_HANDLER: TypeAlias = Callable[[int, FrameType | None], Any] | int | Handlers | None
@@ -77,45 +77,45 @@ else:
7777
def getsignal(signalnum: _SIGNUM, /) -> _HANDLER: ...
7878
def signal(signalnum: _SIGNUM, handler: _HANDLER, /) -> _HANDLER: ...
7979

80-
SIGABRT: Signals
81-
SIGFPE: Signals
82-
SIGILL: Signals
83-
SIGINT: Signals
84-
SIGSEGV: Signals
85-
SIGTERM: Signals
80+
SIGABRT: Literal[Signals.SIGABRT]
81+
SIGFPE: Literal[Signals.SIGFPE]
82+
SIGILL: Literal[Signals.SIGILL]
83+
SIGINT: Literal[Signals.SIGINT]
84+
SIGSEGV: Literal[Signals.SIGSEGV]
85+
SIGTERM: Literal[Signals.SIGTERM]
8686

8787
if sys.platform == "win32":
88-
SIGBREAK: Signals
89-
CTRL_C_EVENT: Signals
90-
CTRL_BREAK_EVENT: Signals
88+
SIGBREAK: Literal[Signals.SIGBREAK]
89+
CTRL_C_EVENT: Literal[Signals.CTRL_C_EVENT]
90+
CTRL_BREAK_EVENT: Literal[Signals.CTRL_BREAK_EVENT]
9191
else:
9292
if sys.platform != "linux":
93-
SIGINFO: Signals
94-
SIGEMT: Signals
95-
SIGALRM: Signals
96-
SIGBUS: Signals
97-
SIGCHLD: Signals
98-
SIGCONT: Signals
99-
SIGHUP: Signals
100-
SIGIO: Signals
101-
SIGIOT: Signals
102-
SIGKILL: Signals
103-
SIGPIPE: Signals
104-
SIGPROF: Signals
105-
SIGQUIT: Signals
106-
SIGSTOP: Signals
107-
SIGSYS: Signals
108-
SIGTRAP: Signals
109-
SIGTSTP: Signals
110-
SIGTTIN: Signals
111-
SIGTTOU: Signals
112-
SIGURG: Signals
113-
SIGUSR1: Signals
114-
SIGUSR2: Signals
115-
SIGVTALRM: Signals
116-
SIGWINCH: Signals
117-
SIGXCPU: Signals
118-
SIGXFSZ: Signals
93+
SIGINFO: Literal[Signals.SIGINFO]
94+
SIGEMT: Literal[Signals.SIGEMT]
95+
SIGALRM: Literal[Signals.SIGALRM]
96+
SIGBUS: Literal[Signals.SIGBUS]
97+
SIGCHLD: Literal[Signals.SIGCHLD]
98+
SIGCONT: Literal[Signals.SIGCONT]
99+
SIGHUP: Literal[Signals.SIGHUP]
100+
SIGIO: Literal[Signals.SIGIO]
101+
SIGIOT: Literal[Signals.SIGABRT] # alias
102+
SIGKILL: Literal[Signals.SIGKILL]
103+
SIGPIPE: Literal[Signals.SIGPIPE]
104+
SIGPROF: Literal[Signals.SIGPROF]
105+
SIGQUIT: Literal[Signals.SIGQUIT]
106+
SIGSTOP: Literal[Signals.SIGSTOP]
107+
SIGSYS: Literal[Signals.SIGSYS]
108+
SIGTRAP: Literal[Signals.SIGTRAP]
109+
SIGTSTP: Literal[Signals.SIGTSTP]
110+
SIGTTIN: Literal[Signals.SIGTTIN]
111+
SIGTTOU: Literal[Signals.SIGTTOU]
112+
SIGURG: Literal[Signals.SIGURG]
113+
SIGUSR1: Literal[Signals.SIGUSR1]
114+
SIGUSR2: Literal[Signals.SIGUSR2]
115+
SIGVTALRM: Literal[Signals.SIGVTALRM]
116+
SIGWINCH: Literal[Signals.SIGWINCH]
117+
SIGXCPU: Literal[Signals.SIGXCPU]
118+
SIGXFSZ: Literal[Signals.SIGXFSZ]
119119

120120
class ItimerError(OSError): ...
121121
ITIMER_PROF: int
@@ -127,9 +127,9 @@ else:
127127
SIG_UNBLOCK = 1
128128
SIG_SETMASK = 2
129129

130-
SIG_BLOCK = Sigmasks.SIG_BLOCK
131-
SIG_UNBLOCK = Sigmasks.SIG_UNBLOCK
132-
SIG_SETMASK = Sigmasks.SIG_SETMASK
130+
SIG_BLOCK: Literal[Sigmasks.SIG_BLOCK]
131+
SIG_UNBLOCK: Literal[Sigmasks.SIG_UNBLOCK]
132+
SIG_SETMASK: Literal[Sigmasks.SIG_SETMASK]
133133
def alarm(seconds: int, /) -> int: ...
134134
def getitimer(which: int, /) -> tuple[float, float]: ...
135135
def pause() -> None: ...
@@ -147,13 +147,13 @@ else:
147147
else:
148148
def sigwait(sigset: Iterable[int], /) -> _SIGNUM: ...
149149
if sys.platform != "darwin":
150-
SIGCLD: Signals
151-
SIGPOLL: Signals
152-
SIGPWR: Signals
153-
SIGRTMAX: Signals
154-
SIGRTMIN: Signals
150+
SIGCLD: Literal[Signals.SIGCHLD] # alias
151+
SIGPOLL: Literal[Signals.SIGIO] # alias
152+
SIGPWR: Literal[Signals.SIGPWR]
153+
SIGRTMAX: Literal[Signals.SIGRTMAX]
154+
SIGRTMIN: Literal[Signals.SIGRTMIN]
155155
if sys.version_info >= (3, 11):
156-
SIGSTKFLT: Signals
156+
SIGSTKFLT: Literal[Signals.SIGSTKFLT]
157157

158158
@final
159159
class struct_siginfo(structseq[int], tuple[int, int, int, int, int, int, int]):

0 commit comments

Comments
 (0)