summaryrefslogtreecommitdiff
path: root/lib/libpthread/uthread/uthread_sig.c
diff options
context:
space:
mode:
authorMarco S Hyman <marc@cvs.openbsd.org>2001-11-02 20:37:21 +0000
committerMarco S Hyman <marc@cvs.openbsd.org>2001-11-02 20:37:21 +0000
commit9b06653f5559696c544014d1b68a36bff049d3a2 (patch)
treeb93d6455018702cc201268ef3670e700a1703be2 /lib/libpthread/uthread/uthread_sig.c
parent3b7d55a85ac35adb10d6980e2b01aa24853c29c7 (diff)
Fix signal dispatching. No-one has reported any probs (other than
with regression tests that need to be fixed) and fgs@ thinks it's OK. I'll look at the pthreads regression tests, next
Diffstat (limited to 'lib/libpthread/uthread/uthread_sig.c')
-rw-r--r--lib/libpthread/uthread/uthread_sig.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/libpthread/uthread/uthread_sig.c b/lib/libpthread/uthread/uthread_sig.c
index 56aea46c28f..2dae9ce5de2 100644
--- a/lib/libpthread/uthread/uthread_sig.c
+++ b/lib/libpthread/uthread/uthread_sig.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uthread_sig.c,v 1.8 2001/08/21 19:24:53 fgsch Exp $ */
+/* $OpenBSD: uthread_sig.c,v 1.9 2001/11/02 20:37:20 marc Exp $ */
/*
* Copyright (c) 1995-1998 John Birrell <jb@cimlogic.com.au>
* All rights reserved.
@@ -246,15 +246,15 @@ _thread_sig_handle(int sig, struct sigcontext * scp)
if (curthread->sig_defer_count > 0)
pthread->sig_defer_count++;
- curthread = pthread;
_thread_signal(pthread,sig);
/*
* Dispatch pending signals to the
* running thread:
*/
+ _set_curthread(pthread);
_dispatch_signals();
- curthread = pthread_saved;
+ _set_curthread(pthread_saved);
/* Current thread inside critical region? */
if (curthread->sig_defer_count > 0)