Path: utzoo!attcan!uunet!seismo!sundc!pitstop!sun!decwrl!ucbvax!hplabs!hplabsb!quan
From: quan@hplabsb.UUCP (Suu Quan)
Newsgroups: comp.unix.questions
Subject: Re: SysV Signals and System Calls
Keywords: System V, Signals, System Calls
Message-ID: <4914@hplabsb.UUCP>
Date: 24 Sep 88 00:14:19 GMT
References: <149@poseidon.UUCP>
Organization: HP Labs, Manufacturing & Measurement Systems Lab, Palo Alto, CA
Lines: 22

In article <149@poseidon.UUCP>, fred@athsys.uucp (Fred Cox) writes:
> We have a large program initially written on suns, which we now need
> to port to various System V machines.  The problem that we are coming
> up with is that in BSD 4.2 systems, systems calls are not disturbed
> by signals, while System V system calls return an error.  We need signals
> for timer events.  What do people do in those cases where they are
> using packages, like X Windows, which wait in system calls (read) while
> signals may be occurring?
> 
> ------------------------

The interrupt service routine should restart the system call :

#include 

static int
interrupt_routine(signo, code, scp)
int signo, code;
register struct sigcontext *scp;
{  if (scp != NULL) scp->sc_syscall_action = SIG_RESTART;
   other_actions();
}