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

Tim Niemeyer tim at tn-x.org
So Jan 21 11:22:31 CET 2018


Hi Adrian

Am Samstag, den 20.01.2018, 23:41 +0100 schrieb
mail at adrianschmutzler.de:
> 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, 
Grundsätzlich stimmt das, ja. Aber genauso gut könnte das Script selbst
irgendwo hängen bleiben.

> wenn das
> Lockfile aus irgendeinem Grund nicht mehr gelöscht wird.
Dafür ist ja die trap eingebaut. In meinen Tests lief das sehr
zuverlässig.

> Aus diesem Grund
> habe ich mich immer dagegen entschieden, da es das tmp/started ja eh
> gibt
> und das in meinen Augen sicherer ist.
Das /tmp/started möchte ich lieber los werden. Das war mal für
irgendwas gut und wird heute gefühlt an der falschen Stelle verwendet.
Tatsächlich ist das aber etwas, was wir nicht unbedingt ins nächste
stable release einkippen müssen.

Ich denke, wenn man wissen will, wo das System gerade beim Booten ist,
dann gibt es bestimmt irgendeinen Mechanismus von OpenWRT, womit man
das rausfinden kann.

Hier geht es aber nicht um die Bootreihenfolge sondern um die
Verhinderung eines mehrfachen Aufrufs. Das wird mit /tmp/started nur
(zufällig) für den Startprozess gemacht.

> 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.
Das soll natürlich RAM sein.
# ls -l /var
lrwxrwxrwx    1 root     root             4 Oct 13 14:14 /var -> /tmp
Bei mir ist das auch so.

Tim

> 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
> 
> 
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 488 bytes
Beschreibung: This is a digitally signed message part
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20180121/582cbf28/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev