summaryrefslogtreecommitdiff
path: root/libguile/scmsigs.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2017-01-08 12:26:10 +0100
committerAndy Wingo <wingo@pobox.com>2017-01-08 12:26:10 +0100
commitca598d31405ac77d5515a3d0b70eda9d41b5bf10 (patch)
treef9257b2e2712cb2e9455ea7352ddd32a6f961429 /libguile/scmsigs.c
parent5241d0685586f34055dae23fedc46134e2171865 (diff)
downloadguile-ca598d31405ac77d5515a3d0b70eda9d41b5bf10.tar.gz
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.
Diffstat (limited to 'libguile/scmsigs.c')
-rw-r--r--libguile/scmsigs.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/libguile/scmsigs.c b/libguile/scmsigs.c
index 36143afc4..f210380e8 100644
--- a/libguile/scmsigs.c
+++ b/libguile/scmsigs.c
@@ -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 ();