]> granicus.if.org Git - python/commit
bpo-37851: faulthandler allocates its stack on demand (GH-15358)
authorVictor Stinner <vstinner@redhat.com>
Wed, 21 Aug 2019 12:40:42 +0000 (13:40 +0100)
committerGitHub <noreply@github.com>
Wed, 21 Aug 2019 12:40:42 +0000 (13:40 +0100)
commitd8c5adf6f83024238545aac0bb465289cc2dde84
tree1353b930f65ba85e4bd4335d4ceb95618f10c9a3
parente0b6117e2723327d6741d0aa599408514add5b30
bpo-37851: faulthandler allocates its stack on demand (GH-15358)

The faulthandler module no longer allocates its alternative stack at
Python startup. Now the stack is only allocated at the first
faulthandler usage.

faulthandler no longer ignores memory allocation failure when
allocating the stack. sigaltstack() failure now raises an OSError
exception, rather than being ignored.

The alternative stack is no longer used if sigaction() is
not available. In practice, sigaltstack() should only be available
when sigaction() is avaialble, so this change should have no effect
in practice.

faulthandler.dump_traceback_later() internal locks are now only
allocated at the first dump_traceback_later() call, rather than
always being allocated at Python startup.
Misc/NEWS.d/next/Library/2019-08-21-13-43-04.bpo-37851.mIIfD_.rst [new file with mode: 0644]
Modules/faulthandler.c