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