On Wed, Aug 06, 2008 at 10:32:21PM +0200, Dejan Muhamedagic wrote:
> Hi David,
> 
> On Wed, Aug 06, 2008 at 02:42:10PM +0100, David Lee wrote:
> > On Wed, 6 Aug 2008, Simon Horman wrote:
> > 
> > > In some environments, such as dash, $RANDOM is empty.
> > > This fixes up the last two references that I could find
> > > in the tree to $RANDOM to make sure they are sensible in
> > > this case.
> > 
> > (Disclaimer: my mind is even less focussed than usual, having had a week's
> > sick-leave...)
> > 
> > Sounds OK in principle.  But a detail:
> > 
> > > --- heartbeat.orig/resources/OCF/.ocf-shellfuncs.in       2008-08-06 
> > > 20:05:13.000000000 +1000
> > > +++ heartbeat/resources/OCF/.ocf-shellfuncs.in    2008-08-06 
> > > 20:05:23.000000000 +1000
> > > @@ -58,6 +58,13 @@ ocf_is_root() {
> > >   esac
> > >  }
> > >
> > > +ocf_maybe_random() {
> > > + local rnd="$RANDOM"
> > > [...]
> > 
> > That "local ..." construction: is that a true Bourne feature?  In this
> > "shellfuncs" area, we need to be as portable as possible, avoiding
> > "bash-isms".  (I think we accept that some particular OCFs could well be
> > "bash" these days, but these utility functions, shared across all OCFs,
> > need to be Bourne.)
> > 
> > 
> > > [...]
> > >  ocf_take_lock() {
> > > -    lockfile=$1
> > > -
> > > -    if [ ! -n $RANDOM ]; then
> > > - # Something sane-ish in case a shell doesn't support $RANDOM
> > > - RANDOM=$$
> > > -    fi
> > > +    local lockfile=$1
> > > +    local rnd=$(ocf_maybe_random)
> > > [...]
> > 
> > ... that "local ..." again.
> > 
> > Hope that helps.
> 
> The "local" keyword is I think in the POSIX standard. Is there a
> platform with shell which doesn't comply with the POSIX at least?

Yes, I believe local is POSIX, though I used it in a bashish way :-(

It should be

     local blah
     blah=foo

not

     local blah=foo

I will fix this shortly.
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to