summaryrefslogtreecommitdiffstats
path: root/lib/libkse
diff options
context:
space:
mode:
authorjb <jb@FreeBSD.org>1998-04-17 09:37:41 +0000
committerjb <jb@FreeBSD.org>1998-04-17 09:37:41 +0000
commit2b906f181aadab0c246afdddb833c654bcb5761e (patch)
tree60f2ae4aaa142fdd6b497f645a57cb6302beabbd /lib/libkse
parent325284a63f93adfcb6e3badecf8908e5038fa851 (diff)
downloadFreeBSD-src-2b906f181aadab0c246afdddb833c654bcb5761e.zip
FreeBSD-src-2b906f181aadab0c246afdddb833c654bcb5761e.tar.gz
When in PS_SIGWAIT state, still call signal handlers and set errno
to EINTR.
Diffstat (limited to 'lib/libkse')
-rw-r--r--lib/libkse/thread/thr_kern.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/lib/libkse/thread/thr_kern.c b/lib/libkse/thread/thr_kern.c
index 9356c4c..3b62422 100644
--- a/lib/libkse/thread/thr_kern.c
+++ b/lib/libkse/thread/thr_kern.c
@@ -29,7 +29,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: uthread_kern.c,v 1.7 1998/03/09 04:46:26 jb Exp $
+ * $Id: uthread_kern.c,v 1.8 1998/04/11 07:47:22 jb Exp $
*
*/
#include <errno.h>
@@ -892,6 +892,7 @@ _thread_signal(pthread_t pthread, int sig)
case PS_FDR_WAIT:
case PS_FDW_WAIT:
case PS_SLEEP_WAIT:
+ case PS_SIGWAIT:
/* Return the 'interrupted' error: */
_thread_seterrno(pthread, EINTR);
pthread->interrupted = 1;
@@ -902,18 +903,6 @@ _thread_signal(pthread_t pthread, int sig)
/* Return the signal number: */
pthread->signo = sig;
break;
-
- /* Waiting on a signal: */
- case PS_SIGWAIT:
- /* Change the state of the thread to run: */
- PTHREAD_NEW_STATE(pthread,PS_RUNNING);
-
- /* Return the signal number: */
- pthread->signo = sig;
-
- /* Flag the signal as dealt with: */
- done = 1;
- break;
}
/*
OpenPOWER on IntegriCloud