Path: utzoo!attcan!uunet!altnet!edc From: edc@ALTOS.COM (Eric Christensen) Newsgroups: comp.mail.elm Subject: Re: ELM bug Message-ID: <456@altnet.ALTOS.COM> Date: 15 Jun 88 12:23:09 GMT References: <98@cjsa.UUCP> Reply-To: edc@altnet.UUCP (Eric Christensen) Organization: Altos Computer Systems, San Jose, CA. Lines: 43 In article <98@cjsa.UUCP> jeff@cjsa.UUCP (C. Jeffery Small) writes: > >Now that we are starting to get the ELM group whipped into shape, I have >one problem I want to raise. We are running version 1.5 here and I have >found that if you send a mail message and then Quit ELM quickly thereafter, >the message gets killed before it gets spooled up for uucp transmission. Ah! Surprise, surprise, surprise! You're /bin/mail (or sendmail, or whatever you're using for a delivery agent) catches a signal and terminates when it's parent dies. (Incidently, this is really a very stupid thing for a mail delivery agent to do :-( ) I've seen this with various versions of Xenix 3.? and V7. I also have seen it in at least one port of System V. If you have source for your delivery agent, it's realativly easy to fix up with a signal call. If not, here's a couple of untried, untested ideas: 1) Change elm so that it calls (for example) "nohup /bin/mail ...." for local delivery. (You shouldn't have to worry about uux, but then again, you really shouldn't have to worry about /bin/mail either). 2) Write a stupid little program that elm calls as a mail agent. It really doesn't have to be very smart.. just read it's arguments and it's standard input, and pass it all through to /bin/mail. The important part is that you ignore the software termination signal. Depanding on what your running, and whose port of unix/xenix/*ix this may be accomplished in different ways. What I've found to be most portable (even to real, real wierd stuff like Eunice and Unos) is to fork the child and wait for it's completion. That way, even if the parent terminates, the child just becomes a zombie and finishes it's job. With *some* systems you can do it all by just catching and ignoreing SIGHUP. Hope this helps out a bit. It appears that all this is taken care of in 1.7, but I don't have the 1.5 sources around anywhere handy to compare it to. -- +-------------------------+---------------------------------------------------+ | Eric D. Christensen | Email: edc@altnet.altos.com (uunet!altnet!edc) | | Altos Computer Systems +---------------------------------------------------+ | 399 West Trimble Road | Definitions: Bug - An Undocumented Feature | | San Jose, Ca. 95131 | Feature - A Documented Bug | +-------------------------+---------------------------------------------------+ | These views aren't Altos' - They're mine, all mine, and you can't have them | +-----------------------------------------------------------------------------+