[PATCH 2/4] fff-hoods: move start of configurehood from rc.local to init.d

Tim Niemeyer tim at tn-x.org
Mo Sep 10 22:04:53 CEST 2018


Am Montag, den 10.09.2018, 21:48 +0200 schrieb Robert Langhammer:
> and prevent running configurehood multiple times
> 
> Signed-off-by: Robert Langhammer <rlanghammer at web.de>
> ---
>  src/packages/fff/fff-hoods/files/etc/init.d/configurehood   | 9
> +++++++++
>  src/packages/fff/fff-hoods/files/usr/lib/micron.d/fff-hoods | 2 +-
>  src/packages/fff/fff-hoods/files/usr/sbin/configurehood     | 4 ++++
>  3 files changed, 14 insertions(+), 1 deletion(-)
>  create mode 100755 src/packages/fff/fff-
> hoods/files/etc/init.d/configurehood
> 
> diff --git a/src/packages/fff/fff-
> hoods/files/etc/init.d/configurehood b/src/packages/fff/fff-
> hoods/files/etc/init.d/configurehood
> new file mode 100755
> index 0000000..61fe735
> --- /dev/null
> +++ b/src/packages/fff/fff-hoods/files/etc/init.d/configurehood
> @@ -0,0 +1,9 @@
> +#!/bin/sh /etc/rc.common
> +
> +START=95
> +
> +boot()
> +{
> +    /usr/sbin/configurehood
> +}
> +
> 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 47e228b..7a330d9 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -1,5 +1,9 @@
>  #!/bin/sh
>  
> +# prevent multiple runs of the script
> +
> +[ $( pidof $( basename $0 )  | wc -w ) -gt 2 ] && exit

Lieber sowas nehmen. Damit gibt es nur eine Abhängigkeit auf "lock" und
nicht auf "pidof", "basename", "wc" und "test" (auch wenn manches im
ash fest drin ist.

+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
+

Tim

> +
>  . /usr/share/libubox/jshn.sh
>  . /lib/functions/fff/keyxchange
>  . /lib/functions/fff/network
-------------- 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/20180910/ae2674ae/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev