home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: biz.sco.general
- Path: sparky!uunet!hobbes!scocan!larryp
- From: larryp@sco.COM (Larry Philps)
- Subject: Re: sigaction() and rescheduling interrupted system calls
- Organization: SCO Canada, Inc.
- Date: Thu, 24 Dec 1992 13:08:02 GMT
- Message-ID: <1992Dec24.130802.12361@sco.COM>
- References: <1992Dec16.100827.10097@dd.dk> <64@shady.UUCP> <GEORGN.92Dec23022328@idcrisis.noweh.com>
- Sender: news@sco.COM (News administration)
- Lines: 56
-
- In <GEORGN.92Dec23022328@idcrisis.noweh.com> georgn@noweh.com (Georg S. Nikodym) writes:
-
- > In article <64@shady.UUCP> kevin@shady.UUCP (Kevin Smith) writes:
- >
- > In article <1992Dec16.100827.10097@dd.dk> wes@dd.dk (Mads Westermann) writes:
- > :>I'm running SCO ODT 2.0 (SCO Unix 3.2.4) and have run into the problem
- > :>of rescheduling an interrupted system call after a signal has occured.
- > :>
- > :>In my AT&T Sys V.4 manual there's reference to a SA_RESTART flag on
- > :>the sigaction() function that causes interrupted system calls to be
- > :>transparently restarted.
- > :>
- > :>In my Ultrix 4.2 manual there's reference to a SV_INTERRUPT flag that
- > :>does the same.
- > :>
- > :>My SCO manual doesn't know of any such thing - It seems like the only
- > :>possibility is to manually check the return code and the errno from the
- > :>system call and manually restart the system-call if errno equals EINTR.
- > :>
- > :>Has anybody solved the problem ? Is there a way to solve it ?
- > :>
- > :>Any input on this subject would be greatly appreciated.
- > :>
- >
- > Since most system calls are not interruptable the problem is not as big as
- > it might seem. Terminal and printer I/O, pause(), wait(), messages and
- > semiphores are about it (and probably any network/socket read and writes)
- > Ok so there are a few. Your basic disk and tape IO are, however, not
- > interruptable so the interrupt actually occurs immediatly after the system
- > call.
- >
- > Interrupted system calls are a reality and should be dismissed out of
- > hand. One of the more annoying signals that usually needs special
- > treatment for this is SIGWINCH (I'm not sure that it exists in SCO,
- > but certainly does in the BSD and SVR4 worlds). But this is secondary
- > really since SCO UNIX claims to be POSIX.1 conformant. Must it not,
- > therefore, have a sigaction() call with all the trappings?
-
- This has been mentioned in this thread before, but at the risk of being
- pedantic, I'll say it again.
-
- I have a copy of the POSIX 1003.1-1988 standard open right now to the
- page on sigaction, and the _only_ flag it mentions is SA_NOCLDSTOP.
- SCO Unix does indeed define and implement that flag.
-
- The SV_INTERRUPT flag is part of the BSD sigvec(2) implementation, not
- part of POSIX 1003.1.
-
- ---
- #include <std/disclaimer>
-
- Larry Philps, SCO Canada, Inc.
- Postman: 130 Bloor St. West, 10th floor, Toronto, Ontario. M5S 1N5
- InterNet: larryp@sco.COM
- UUCP: uunet!sco!larryp
- Phone: (416) 922-1937
-