home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / biz / sco / general / 4834 < prev    next >
Encoding:
Text File  |  1992-12-24  |  2.9 KB  |  68 lines

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