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-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.