From owner-freebsd-current@FreeBSD.ORG Wed Sep 30 18:23:37 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 58C9C1065693 for ; Wed, 30 Sep 2009 18:23:37 +0000 (UTC) (envelope-from justin.teller@gmail.com) Received: from qw-out-2122.google.com (qw-out-2122.google.com [74.125.92.24]) by mx1.freebsd.org (Postfix) with ESMTP id 162E88FC1C for ; Wed, 30 Sep 2009 18:23:36 +0000 (UTC) Received: by qw-out-2122.google.com with SMTP id 5so2069969qwd.7 for ; Wed, 30 Sep 2009 11:23:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type:content-transfer-encoding; bh=aYLBithxN828OoHyq1EcZacHH4Sc+LZ0IbH6y4HMFxU=; b=xBbaMk8tyI5LTxgqUlVh8bkxFcSK45HGbR6fyxcbaSqE4M8a6ouAfmJ5epTvZ+AoUH zgsQJF80J0WX5QG/pJcxaIw5YVTT0kk9kHNHIj0drCdURcy9yIcKSTskHS3kXD0HGXl3 UHhWiLQMUFOQf0R6tKPqTEqZCbfyHEwN3WfNk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=xe2lkkJC9mPOz/+aOj2dNP5twzW/fc/3wnsOMcDbPIyQYdw7FzfGGdilluJfETledZ sB7MqqLn3XfQqx7FhHHqsJ5WFBsYMp5jpQdIugb1X3v5mdvUfZMZ8UC0FafgD5hqlNAa HXW4+AwFRZ8I9FNFB9QcaPNkPtO5rXxt4zzms= MIME-Version: 1.0 Received: by 10.224.26.207 with SMTP id f15mr140973qac.186.1254333739423; Wed, 30 Sep 2009 11:02:19 -0700 (PDT) Date: Wed, 30 Sep 2009 11:02:19 -0700 Message-ID: From: Justin Teller To: freebsd-current@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Signals and an exiting thread X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Sep 2009 18:23:37 -0000 We're trying to control one process from another process through signals (I know, revolutionary ;-), and we've found that a signal occasionally gets lost. =A0The process we're signaling is multi-threaded. =A0It looks like the signal is lost when the kernel decides to post the signal to a thread that is in the process of dying (calling pthread_exit, etc). Is this expected behavior that we should just handle, or is it a race in the kernel that should be/will be/already is fixed? It may be that a fix is already in current, and I just haven't found it in my searches through the source code (I'm working off of source code for an older 8.0 image). If it is fixed, I'd appreciate a pointer to the code that fixes it. Thanks in advance for the help - Justin