Date: Tue, 6 Apr 1999 20:51:37 -0700 (PDT) From: bryant@cs.usm.maine.edu To: freebsd-gnats-submit@freebsd.org Subject: bin/10992: pthread_kill() doesn't deliver signals to threads in blocking syscall Message-ID: <19990407035137.01BD514E93@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 10992 >Category: bin >Synopsis: pthread_kill() doesn't deliver signals to threads in blocking syscall >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Apr 6 20:50:00 PDT 1999 >Closed-Date: >Last-Modified: >Originator: Nathan Bryant >Release: 3.1-STABLE >Organization: >Environment: FreeBSD area51.v-wave.com 3.1-STABLE FreeBSD 3.1-STABLE #0: Sat Apr 3 15:03:15 MST 1999 root@area51.v-wave.com:/usr/src/sys/compile/AREA51 i386 >Description: pthread_kill() doesn't properly dispatch a signal to the specified thread, if the thread is waiting for a blocking system call. pthread_kill() will, however, set the pthread->interrupted flag and set the thread's state to 'running.' The signal is not marked as pending, however, and the signal handler won't be called. A second call to pthread_kill() will then dispatch the signal, since the thread has been marked 'running' by the first call. >How-To-Repeat: call pthread_kill() on another thread that is waiting for network I/O; its signal handler won't be called. >Fix: bug can be worked around be calling pthread_kill() twice where it should only have to be called once. >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990407035137.01BD514E93>