[PATCH] fff-hoods: remove dependency to /tmp/started

Adrian Schmutzler mail at adrianschmutzler.de
Mo Feb 12 14:54:28 CET 2018


Hallo Tim,

weiß nicht mehr, ob wir das schon diskutiert haben, aber:
Das Locking verhindert, dass das File zweimal gleichzeitig läuft.
Micrond wird aber mit S50 gestartet, configurenetwork mit S95.

D.h. es kann ohne /tmp/started dazu kommen (wenn Zeitfenster blöd), dass
durch micrond configurehood VOR configurenetwork ausführt, was definitiv
nicht gut ist.

Dies betrifft nur das Entfernen der /tmp/started Bedingung, das Lock selbst
ist davon ja nicht betroffen.

Grüße

Adrian


> -----Original Message-----
> From: mail at adrianschmutzler.de [mailto:mail at adrianschmutzler.de]
> Sent: Samstag, 20. Januar 2018 23:42
> To: 'Tim Niemeyer' <tim at tn-x.org>; franken-dev at freifunk.net
> Subject: RE: [PATCH] fff-hoods: remove dependency to /tmp/started
> 
> Hallo Tim,
> 
> ich habe selbst immer wieder überlegt, hier mit einem Lockfile zu
arbeiten.
> 
> Allerdings besteht hier das Risiko, dass das Skript nie mehr läuft, wenn
das
> Lockfile aus irgendeinem Grund nicht mehr gelöscht wird. Aus diesem Grund
> habe ich mich immer dagegen entschieden, da es das tmp/started ja eh gibt
> und das in meinen Augen sicherer ist.
> 
> Deshalb bin ich tendenziell eher gegen den Patch.
> 
> Frage: Ist /var RAM oder Flash? Nicht das wir hier wieder aus Versehen auf
> dem Flash rumschreiben... Falls Flash wäre zudem ein vergessenes Lock-File
> permanent.
> 
> Grüße
> 
> Adrian
> 
> > -----Original Message-----
> > From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
> > Of Tim Niemeyer
> > Sent: Samstag, 20. Januar 2018 23:04
> > To: franken-dev at freifunk.net
> > Subject: [PATCH] fff-hoods: remove dependency to /tmp/started
> >
> > The dependency was only to avoid duplicated script instances.
> > Therefore, this patch implements a solution without the need to depend
> on
> > the /tmp/started file.
> >
> > Signed-off-by: Tim Niemeyer <tim at tn-x.org>
> > ---
> >
> >  src/packages/fff/fff-hoods/Makefile                         | 2 +-
> >  src/packages/fff/fff-hoods/files/usr/lib/micron.d/fff-hoods | 2 +-
> >  src/packages/fff/fff-hoods/files/usr/sbin/configurehood     | 7 +++++++
> >  3 files changed, 9 insertions(+), 2 deletions(-)
> >
> > diff --git a/src/packages/fff/fff-hoods/Makefile
> > b/src/packages/fff/fff- hoods/Makefile index 11ab6d1..1a616ff 100644
> > --- a/src/packages/fff/fff-hoods/Makefile
> > +++ b/src/packages/fff/fff-hoods/Makefile
> > @@ -1,7 +1,7 @@
> >  include $(TOPDIR)/rules.mk
> >
> >  PKG_NAME:=fff-hoods
> > -PKG_VERSION:=0.0.1
> > +PKG_VERSION:=2
> >  PKG_RELEASE:=1
> >
> >  PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
> > diff --git
> > a/src/packages/fff/fff-hoods/files/usr/lib/micron.d/fff-hoods
> > b/src/packages/fff/fff-hoods/files/usr/lib/micron.d/fff-hoods
> > index 39e800e..ca8d798 100644
> > --- a/src/packages/fff/fff-hoods/files/usr/lib/micron.d/fff-hoods
> > +++ b/src/packages/fff/fff-hoods/files/usr/lib/micron.d/fff-hoods
> > @@ -1 +1 @@
> > -*/5 * * * * [ -f /tmp/started ] && /usr/sbin/configurehood
> > +*/5 * * * * /usr/sbin/configurehood
> > diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > index 2aaa245..e14995b 100755
> > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > @@ -1,5 +1,12 @@
> >  #!/bin/sh
> >
> > +lockfile="/var/lock/${0##*/}.lock"
> > +if ! lock -n "$lockfile"; then
> > +	echo "Only one instance of $0 allowed."
> > +	exit 1
> > +fi
> > +trap "lock -u \"$lockfile\"" INT TERM EXIT
> > +
> >  . /usr/share/libubox/jshn.sh
> >  . /lib/functions/fff/keyxchange
> >  . /lib/functions/fff/network
> > --
> > 2.11.0
> >
> > --
> > franken-dev mailing list
> > franken-dev at freifunk.net
> > http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net



Mehr Informationen über die Mailingliste franken-dev