1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 22:10:21 +02:00

Remove thread-exited? check in sigaction

* libguile/scmsigs.c (scm_sigaction_for_thread): Remove check that
  thread hadn't exited.  This check was racy as it's always possible
  that the other thread exits between checking it or even after the
  signal handler is installed.
This commit is contained in:
Andy Wingo 2017-01-08 12:26:10 +01:00
parent 5241d06855
commit ca598d3140

View file

@ -327,11 +327,7 @@ SCM_DEFINE (scm_sigaction_for_thread, "sigaction", 1, 3, 0,
if (SCM_UNBNDP (thread))
thread = scm_current_thread ();
else
{
SCM_VALIDATE_THREAD (4, thread);
if (scm_c_thread_exited_p (thread))
SCM_MISC_ERROR ("thread has already exited", SCM_EOL);
}
SCM_VALIDATE_THREAD (4, thread);
scm_i_ensure_signal_delivery_thread ();