From owner-freebsd-hackers Sat Jan 5 13: 2: 5 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from servidor1.cursosvirtuales.com.ar (www.cursosvirtuales.com.ar [200.10.104.198]) by hub.freebsd.org (Postfix) with ESMTP id 0325137B41B for ; Sat, 5 Jan 2002 13:02:01 -0800 (PST) Received: (from fpscha@localhost) by servidor1.cursosvirtuales.com.ar (8.11.1/8.11.1) id g05L2iW67469 for freebsd-hackers@freebsd.org; Sat, 5 Jan 2002 18:02:44 -0300 (ART) (envelope-from fpscha) From: "Fernando P. Schapachnik" Message-Id: <200201052102.g05L2iW67469@servidor1.cursosvirtuales.com.ar> Subject: SA_NODEFER and signal nesting To: freebsd-hackers@freebsd.org Date: Sat, 5 Jan 2002 18:02:44 -0300 (ART) X-From: Fernando Schapachnik Reply-To: fernando@cursosvirtuales.com.ar X-OS: FreeBSD 4.2 - http://www.freebsd.org X-Mailer: ELM [version 2.4ME+ PL87 (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Hello: I'm trying to do Async I/O using O_ASYNC on sockets and handling SIGIO. My testing shows that even if I unblock SIGIO at the begining of the handler the kernel only delivers one level of nested signals. Ie: while the first SIGIO is being handled a second might arrive, but a third delivered signal does not reach the process. The same happens if I catch the signals with sigaction and specify SA_NODEFER. Same program on Linux can handle up to 23 nested signals. Is this a known behavior? Is there any way to change it? Thanks in advance for any pointer. Fernando P. Schapachnik fernando@cvi.com.ar To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message