Date: Mon, 16 Sep 2013 21:55:30 -0700 From: John-Mark Gurney <jmg@funkthat.com> To: Hiroki Sato <hrs@FreeBSD.org> Cc: rc@FreeBSD.org Subject: Re: sendmail queue runner starting multiple times... Message-ID: <20130917045530.GL68682@funkthat.com> In-Reply-To: <20130917.133239.1751419599170896640.hrs@allbsd.org> References: <20130916214901.GE68682@funkthat.com> <20130917.133239.1751419599170896640.hrs@allbsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hiroki Sato wrote this message on Tue, Sep 17, 2013 at 13:32 +0900: > John-Mark Gurney <jmg@funkthat.com> wrote > in <20130916214901.GE68682@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."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130917045530.GL68682>