Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Sep 2002 13:06:09 -0400 (EDT)
From:      Daniel Eischen <eischen@pcnet1.pcnet.com>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        Andriy Gapon <avg@icyb.net.ua>, julian@elischer.org, hackers@FreeBSD.org
Subject:   Re: libc_r in stable
Message-ID:  <Pine.GSO.4.10.10209241304490.29920-100000@pcnet1.pcnet.com>
In-Reply-To: <3D90999D.14E02BF0@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.10.10209241304490.29920-100000>