Xref: utzoo comp.unix.questions:32043 comp.mail.misc:5686 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!caen!ox.com!math.fu-berlin.de!unido!aega84!tmcsys!lothar From: lh@aega84.UUCP (L. Hirschbiegel) Newsgroups: comp.unix.questions,comp.mail.misc Subject: Why does smail3.1.21 not check queues in daemon mode ?? Keywords: smail-3.1 daemon Message-ID: <389@tmcsys.UUCP> Date: 9 Jun 91 17:29:40 GMT Organization: AEG - A84, Frankfurt (Germany) Lines: 36 Here is a question for all smail-3.1 gurus out there. I'm running smail-3.1.21 on an ISC box (version 2.2.1). It (almost:-)runs like a charm, but there still is a little problem I've noticed. I start smail as "/usr/lib/sendmail -bd -q10m" for SMTP connections over ethernet (TCP/IP v1.2 from ISC). This works fine, but smail refuses to check the input queues after the specified time intervals. Trying to track down the problem I have found daemon_mode() in file "modes.c". Right before calling accept() [ for the smtp service port ] the alarm timer is set up. I've checked the time value arg for the alarm timer - it is indeed correct (10 minutes). As far as I have seen from my debug outputs, the alarm service handler is never called! Amazing... I'm pretty sure there is no other errno_return from accept when interrupted, since as = accept(ls, (struct sockaddr *)&from, &len); if (as < 0 && errno != EINTR) { write_log(LOG_PANIC, "accept failed: %s", strerrno()); continue; } should create an entry in my panic_log for everything else than EINTR (which never happened). Of course I could change the code to mark the socket as non-blocking and check for EAGAIN, but I think this would increase system overhead notably. Calling runq from cron is the way to go, but the original ISC sendmail (ugh!:-) is doing it right when started in daemon mode. So, is there a bug in ISC's accept() ?? Or do I miss something in my smail configuration (although there isn't much to configure here)?? Does it work on someone elses ISC box?? -- ------------------------------------------------------------------------ L. Hirschbiegel, AEG - A84, Frankfurt (Germany) / email: unido!aega84!lh