sendmail queue runner starting multiple times...

John-Mark Gurney jmg at funkthat.com
Tue Sep 17 04:55:32 UTC 2013


Hiroki Sato wrote this message on Tue, Sep 17, 2013 at 13:32 +0900:
> John-Mark Gurney <jmg at funkthat.com> wrote
>   in <20130916214901.GE68682 at funkthat.com>:
> 
> jm> I noticed that if you start sendmail, it doesn't detect that the
> jm> mail queue runner is already running and starts it up multiple times...
> jm>
> jm> My proposed patch is:
> jm> --- /usr/src/etc/rc.d/sendmail  2013-01-12 21:34:02.000000000 -0800
> jm> +++ /tmp/sendmail.rc    2013-09-16 14:45:21.000000000 -0700
> jm> @@ -93,7 +93,7 @@
> jm>
> jm>  name="sendmail_clientmqueue"
> jm>  rcvar="sendmail_msp_queue_enable"
> jm> -start_cmd="${command} ${sendmail_msp_queue_flags}"
> jm>  pidfile="${sendmail_mspq_pidfile:-/var/spool/clientmqueue/sm-client.pid}"
> jm> +start_cmd="[ -z \"`check_pidfile "${pidfile}" "${command}"`\" ] && ${command} ${sendmail_msp_queue_flags} && _run_rc_postcmd"
> jm>  required_files="/etc/mail/submit.cf"
> jm>  run_rc_command "$1"
> jm>
> jm>
> jm> This is because setting start_cmd disables the pid checks, so we need
> jm> to add them back...  This patch won't print out the already running
> jm> bit, but we also don't print out the fact that we are starting it, it
> jm> doesn't seem like that big of a loss..
> jm>
> jm> Is there a better way?  If someone else doesn't produce a better patch,
> jm> I'll get re's permission to commit in few days...
> jm>
> jm> Thanks.
> jm>
> jm> P.S. Please CC me, I'm not on the list.
> 
>  Does the attached patch fix this issue?

yes, it does, and gives me better messages...  I only tested w/
sendmail_enable="YES" and the defaults, but it properly detected the
queue runner running, doesn't start multiple copies, and kills the
queue runner off properly...

Thanks, do you want to take care of committing, or shall I?

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."


More information about the freebsd-rc mailing list