cvs commit: ports/multimedia/zoneminder/files zm.in

Doug Barton dougb at FreeBSD.org
Wed Jul 6 20:33:35 UTC 2011


On 07/06/2011 13:15, Boris Samorodov wrote:
> Hello All,
>
> Doug, thanks for you help.

Glad to help. :)

> On Wed, 06 Jul 2011 12:26:28 -0700 Doug Barton wrote:
>> On 07/06/2011 07:34, Boris Samorodov wrote:
>
>>>     . do a 10 seconds pause only at system startup.
>
>> The question is, what is your goal for including that? Does zoneminder
>> need this delay after it starts? Before it starts? If so, then the
>> right thing to do is likely to put it in either a start_precmd or
>> start_postcmd. That way you get 'checkyesno zoneminder_enable' for
>> free. If the delay is only applicable at boot time, then you
>> can/should include the code that you added in this version.
>
> Actually the problem is run time mysqld dependency.
> The option REQUIRE: mysql is not efficient here. I'm not sure what/how
> mysql is started, but zoneminder can not start right after mysql is
> up. If I use 5 seconds pause, zoneminder starts successfully at 50%
> of bootings. Ten seconds pause is enough to start zoneminder.
>
> So, this delay is needed  only at machine booting time. I'm not sure if
> start_precmd is any way better here.

Yeah, you'd want to do that in a start_precmd, and probably testing for 
autoboot is better than faststart. So something like:

start_precmd=zm_prestart

zm_prestart()
{
	[ -n "$autoboot" ] && sleep 10
}

Of course, if there was some mysql command you could run to verify that 
the db is up that would be better than an unconditional sleep. Something 
like this:

zm_prestart()
{
	local _count=0

	while : ; do
		<mysqltestcommand> && return

		_count=$(( $_count + 1 ))
		if [ $_count -gt 10 ]; then
			err 1 "${name}: <mysqltestcommand> failed"
		fi

		sleep 1
	done
}


hth,

Doug

-- 

	Nothin' ever doesn't change, but nothin' changes much.
			-- OK Go

	Breadth of IT experience, and depth of knowledge in the DNS.
	Yours for the right price.  :)  http://SupersetSolutions.com/



More information about the cvs-all mailing list