home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / mail / sendmail / 2795 < prev    next >
Encoding:
Text File  |  1992-11-15  |  2.6 KB  |  61 lines

  1. Newsgroups: comp.mail.sendmail
  2. Path: sparky!uunet!wupost!darwin.sura.net!sgiblab!daver!hico2!sonyd1.Broadcast.Sony.COM!blilly.UUCP!bruce
  3. From: bruce@blilly.UUCP (Bruce Lilly)
  4. Subject: Re: file locking after forks in sendmail 5.65
  5. References: <1666@seqp4.sequoia.com> <1992Nov14.000809.25487@blilly.UUCP> <VIXIE.92Nov14195819@cognition.pa.dec.com>
  6. Organization: Bruce Lilly
  7. Date: Sun, 15 Nov 92 23:41:30 GMT
  8. Message-ID: <1992Nov15.234130.8725@blilly.UUCP>
  9. Reply-To: lilb@sony.compuserve.com
  10. Lines: 49
  11.  
  12. In article <VIXIE.92Nov14195819@cognition.pa.dec.com> vixie@pa.dec.com (Paul A Vixie) wrote:
  13. >
  14. >Flock(2)-originated locks are inherited by child processes.  In
  15. >other words, this code works fine on BSD and its derivatives.
  16.  
  17. It's hardly surprising that BSD sendmail works fine on BSD...
  18.  
  19. >Sendmail will mostly compile on V7 and V32 as well as any BSD box.
  20. >If USL hacked the interface to death, don't blame sendmail.  Just
  21. >because USL owns the "UNIX" name is no reason to put BSD down for
  22. >maintaining upward compatibility.
  23.  
  24. In the case of the two specific issues mentioned, viz. file
  25. locking and signal handling, I strongly suspect that vanilla BSD
  26. sendmail either won't compile on V7 (because there's no flock(), for
  27. example) or won't work (due to failure to re-enable signal
  28. handlers, or lack of the appropriate signal).
  29.  
  30. Specifically regarding signal(2), V7, SV through at least
  31. SVR3.0, and Tenth Edition UNIX(R) all have essentially the same
  32. semantics and operation. For example, the V7 manual states
  33. ``Except as indicated [SIGILL and SIGTRAP], a signal is reset to
  34. SIG_DFL after being caught. [ ... ] If a repeated signal
  35. arrives before the last one can be reset, there is no chance to
  36. catch it.''
  37. The Tenth edition manual's wording is slightly different:
  38. ``Except as indicated [again, SIGILL and SIGTRAP], a signal is
  39. reset to SIG_DFL after being caught.  Thus if it is desired to
  40. catch every such signal, the catching routine must issue another
  41. signal call.''
  42. The SVR3.0 signal(2) man page states: ``Before entering the
  43. signal-catching function, the value of func for the caught
  44. signal will be set to SIG_DFL unless the signal is SIGILL,
  45. SIGTRAP, or SIGPWR.''
  46. The BSD signal handling is different from all of these.
  47. Specifically regarding the ``death of child'' signal, V7 doesn't
  48. have one (according to TFM).
  49.  
  50. The point is not that one is ``better'' or ``worse'' (or
  51. ``reliable'' vs. ``unreliable''), rather that they differ, and
  52. because of the differences a significant amount of porting is
  53. involved.
  54.  
  55. --
  56.     Bruce Lilly        blilly!bruce@Broadcast.Sony.COM
  57.                     ...uunet!sonyusa!sonyd1!blilly!bruce
  58. -- 
  59.     Bruce Lilly        blilly!bruce@Broadcast.Sony.COM
  60.                     ...uunet!sonyusa!sonyd1!blilly!bruce
  61.