Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Dec 2012 17:03:32 -0600
From:      Paul Schmehl <pschmehl_lists@tx.rr.com>
To:        Chris Rees <utisoft@gmail.com>
Cc:        FreeBSD RC List <freebsd-rc@freebsd.org>, FreeBSD Questions List <freebsd-questions@freebsd.org>
Subject:   Re: Can't get start_precmd to do *anything*
Message-ID:  <B1393B54289DF7B458F8B7E8@localhost>
In-Reply-To: <CADLo838-8gHKKdNSP74s=mGezyfuWrwEoiHUczdGvBd6Bv4fFQ@mail.gmail.com>
References:  <66E78C5BBEC1BC01C9A7E292@localhost> <CADLo838-8gHKKdNSP74s=mGezyfuWrwEoiHUczdGvBd6Bv4fFQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--On December 19, 2012 10:47:56 PM +0000 Chris Rees <utisoft@gmail.com> 
wrote:

> On 19/12/2012, Paul Schmehl <pschmehl_lists@tx.rr.com> wrote:
>> I'm working on an rc.d init script for a port, and I am clearly in need
>> of a clue.
>>
>> I have a daemon that requires that a FIFO exist before it will start.
>> The FIFO is defined in the daemon's conf file.  I could just point that
>> out to the user using "warn", but I thought it would be nicer to simply
>> take care of it programmatically.
>>
>> So I created this:
>>
>> start_precmd="${name}_ck4fifo()"
>
> Is this a copy/paste error, or is your function actually called
> _ck4fifo or _ch4fifo?
>

Both, but I fixed it and nothing changed.

>> ${name}_ch4fifo()
>
> I'm surprised sh isn't choking on this, you can't use ${name} in a
> function name.  Indirecting it is a waste of processing time, if I'm
> honest; just use
>
> start_precmd=pads_agent_prestart
>
> pads_agent_prestart()
> {
>      do_something
> }
>

OK, I've done that.  Still no change. {{{sigh}}}

Here's the current invocation:

start_precmd="pads_agent_ck4fifo()"

pads_agent_ck4fifo()
{
        . ${pads_agent_conf}
        if [ ! -p ${PADS_FIFO} ]; then
                `/usr/bin/mkfifo ${PADS_FIFO}`
        fi
        echo "Checking for ${PADS_FIFO}...."
        if [ -p ${PADS_FIFO} ]; then
                echo "${PADS_FIFO} exists."
                return 0
        else
                echo "I tried to create ${PADS_FIFO} and failed."
                echo "You will need to create it manually before starting 
${name}."
                return 1
        fi
}

-- 
Paul Schmehl, Senior Infosec Analyst
As if it wasn't already obvious, my opinions
are my own and not those of my employer.
*******************************************
"It is as useless to argue with those who have
renounced the use of reason as to administer
medication to the dead." Thomas Jefferson
"There are some ideas so wrong that only a very
intelligent person could believe in them." George Orwell




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B1393B54289DF7B458F8B7E8>