bug#70144: system* affects signal handlers
Christopher Baines <[email protected]>
| Newsgroups | gmane.lisp.guile.bugs |
|---|---|
| Message-ID | <[email protected]> |
I've encountered a situation where signal handlers don't seem to
run. With the following program, sending it SIGINT won't trigger the
handler, however if you remove the system* call, then the handler will
run.
(use-modules (ice-9 threads))
(call-with-new-thread
(lambda ()
;; Remove the following system* call to fix the handler
(system* "echo" "foo")))
(sigaction SIGINT
(lambda (sig)
(peek "SIGINT handler")
(exit 1)))
(for-each
(lambda _
(sleep 1))
(iota 30))
(display "normal exit\n")
signature.asc
(application/pgp-signature, 987 B)
-----BEGIN PGP SIGNATURE----- iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmYMFdVfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh aW5lcy5uZXQACgkQXiijOwuE9XeT8A//T9WPoR3Lf6KFgURg1hEC9RLYQWMq1nnK iRBpMIjhLO/bmsyess9xmmfpWSwFd2uZ9fPYRAYuoiyQJ3m7IxLZUupNXrkxKngu 7Fo/eynZneBTONrdk+Zq24jwhC/SXf23y0M6EA+IPaYWksLSTRtx3D2ozuibERLm IcIEPQpQ/QKWbP7XQgoNBJQKZS0XiRDSe+yYR3laJQhiRham6Oj4JN8AQO/wh/q5 D968uDQMdlU4LyIk894HESklgKkr3GeEX0ctAGnVdCB5CZ5OkBd2yF6laDdV/hiV SxDnr/3cnBngJxORW4KA4V3v+ufduoLNNrS/Un1tkdixfciJ8m8WEHa7suwvqf/z 7fsmnmwb9SSd0PJhMxU4XogTaJyudZMrdKAUeuRosBp+Io/81vCyYElvE2xylZd5 AIeS4mKmj8ksz8/98MzeUey0coImNwyIsCHV+6rYzaZnpEwmM9k7iGaszg6gUT1V vZOlz4qUYYMZ90MDvS5yQAUU6riaGuHastLzx9iN3sCxpTohDJW1yG8vfrbbAcJf aLNXE5gOQfr7rg24DLAY7xBLbC0aQXR+w2q3SuUkKAmKEvZYlGaD7C2Rt9YznBEE BScTY/UWxGZa43VGrgTj0Y1C04CO+JWuf/g8aRbUI34yhl3mGJY1GDQM2w7ID88Z 7o64f1cP8MY= =ZOq1 -----END PGP SIGNATURE-----