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 [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to