From owner-freebsd-hackers Tue Sep 24 10: 6:16 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0229F37B401 for ; Tue, 24 Sep 2002 10:06:15 -0700 (PDT) Received: from mail.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by mx1.FreeBSD.org (Postfix) with ESMTP id 80F6843E3B for ; Tue, 24 Sep 2002 10:06:14 -0700 (PDT) (envelope-from eischen@pcnet1.pcnet.com) Received: from localhost (eischen@localhost) by mail.pcnet.com (8.12.3/8.12.1) with ESMTP id g8OH69SD000556; Tue, 24 Sep 2002 13:06:09 -0400 (EDT) Date: Tue, 24 Sep 2002 13:06:09 -0400 (EDT) From: Daniel Eischen To: Terry Lambert Cc: Andriy Gapon , julian@elischer.org, hackers@FreeBSD.org Subject: Re: libc_r in stable In-Reply-To: <3D90999D.14E02BF0@mindspring.com> Message-ID: MIME-Version: 1.0 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 On Tue, 24 Sep 2002, Terry Lambert wrote: > Andriy Gapon wrote: > > I have noticed that it is not uncommon for a multithreaded program that > > invokes a lot of system calls to get EINTR from a syscall even if no > > non-default signal handling is installed and no 'real' signals are > > received. Looks like some syscalls get interrupted by the scheduling > > signal. In my understanding, this should be something hidden from a user. > > Is there any way to restart syscalls interrupted by the scheduling signal > > without returning a libc_r call ? > > Set SA_RESTART in the sa_flags of the sigaction for the scheduling > signal. Use "man sigaction" for details. Yes, for application installed signal handlers. Try this for library installed signal handlers (patch to -current). http://people.freebsd.org/~deischen/libc_r.diffs -- Dan Eischen To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message