Message124551
STINNER Victor <report@bugs.python.org> wrote:
> Note: To avoid the signal-safe requirement, another solution is to use sigsetjmp()+siglongjmp().
FWIW, there is a caveat in the OpenBSD man page concerning the use of
siglongjmp():
http://www.openbsd.org/cgi-bin/man.cgi?query=sigsetjmp&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=htm
"Use of longjmp() or siglongjmp() from inside a signal handler is not as
easy as it might seem. Generally speaking, all possible code paths
between the setjmp() and longjmp() must be signal race safe, as discussed
in signal(3). Furthermore, the code paths must not do resource
management (such as open(2) or close(2)) without blocking the signal in
question, or resources might be mismanaged. Obviously this makes
longjmp() much less useful than previously thought." |
|
Date |
User |
Action |
Args |
2010-12-23 12:31:09 | skrah | set | recipients:
+ skrah, amaury.forgeotdarc, davidfraser, belopolsky, scott.dial, pitrou, vstinner, sjt, dmalcolm, joshbressers |
2010-12-23 12:31:03 | skrah | link | issue8863 messages |
2010-12-23 12:31:03 | skrah | create | |
|