Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751016AbVI1Wvt (ORCPT ); Wed, 28 Sep 2005 18:51:49 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751106AbVI1Wvt (ORCPT ); Wed, 28 Sep 2005 18:51:49 -0400 Received: from xproxy.gmail.com ([66.249.82.206]:61494 "EHLO xproxy.gmail.com") by vger.kernel.org with ESMTP id S1751016AbVI1Wvt convert rfc822-to-8bit (ORCPT ); Wed, 28 Sep 2005 18:51:49 -0400 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=anjOjmogdacNAtjTnDZep7dC4zj9TGTlUZwSyBBPZD8dPRpXn1rakGNPqHXcNqSnOvx6vUvcX3Yx7iPhrXxq3lSiUBvrkg329l+sSteqAvvHcvr5SdnhVctV3Kb3qaCn4+hVumGxrHxyD1WQ04AXfSksDjoIlKrm05GMBs8YsTA= Message-ID: <2c0942db05092815516ea8a940@mail.gmail.com> Date: Wed, 28 Sep 2005 15:51:48 -0700 From: Ray Lee Reply-To: ray@madrabbit.org To: "Bhattacharjee, Satadal" , ray-lk@madrabbit.org Subject: Re: Registering for multiple SIGIO within a process Cc: "linux-kernel@vger.kernel.org" , "Bagalkote, Sreenivas" , "Patro, Sumant" , "Ram, Hari" , "Mukker, Atul" In-Reply-To: <91888D455306F94EBD4D168954A9457C04181C2F@nacos172.co.lsil.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7BIT Content-Disposition: inline References: <91888D455306F94EBD4D168954A9457C04181C2F@nacos172.co.lsil.com> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1442 Lines: 30 On 9/28/05, Bhattacharjee, Satadal wrote: [...] > Each shared object has function within it to register with kernel to receive > SIGIO when an event is generated by the HBA. Driver received the event from > the HBA and sends SIGIO to the kernel. [...] > When driver generates a signal, the shared object which registered last, > receives the signal. The first registration never receives any signal. [...] > So can somebody suggest what is the correct mechanism to register with the > kernel for receiving multiple signals from a single process? (Sheesh, what is it with people thinking signals are something to be used in any design after the 1970's?) You're out of luck. Either register a sigio handler as a dispatcher in your loader (shell) process before either of the two shared objects do, and then somehow echo the signal to the correct object by hand (assuming you can determine which HBA raised the signal -- and no idea how'd you do this, actually), or fork() the main shell process into at least one other one to allow receiving of the signals separately. I'd suggest fork()ing twice, once per HBA, as that'd probably end up simpler code-wise. Ray - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/