From owner-freebsd-bugs Tue Apr 6 20:52: 0 1999 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 6966315205 for ; Tue, 6 Apr 1999 20:51:59 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.2/8.9.2) id UAA58847; Tue, 6 Apr 1999 20:50:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: by hub.freebsd.org (Postfix, from userid 32767) id 01BD514E93; Tue, 6 Apr 1999 20:51:37 -0700 (PDT) Message-Id: <19990407035137.01BD514E93@hub.freebsd.org> Date: Tue, 6 Apr 1999 20:51:37 -0700 (PDT) From: bryant@cs.usm.maine.edu To: freebsd-gnats-submit@freebsd.org X-Send-Pr-Version: www-1.0 Subject: bin/10992: pthread_kill() doesn't deliver signals to threads in blocking syscall Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >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