[1/2] configurehood: Prevent multiple instances at the same time

Submitted by Adrian Schmutzler on Oct. 31, 2018, 4:35 p.m.

Details

Message ID 20181031163527.6462-1-freifunk@adrianschmutzler.de
State Accepted
Headers show

Commit Message

Adrian Schmutzler Oct. 31, 2018, 4:35 p.m.
This is based on a similar patch from Tim Niemeyer.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
---
 src/packages/fff/fff-hoods/Makefile                     | 2 +-
 src/packages/fff/fff-hoods/files/usr/sbin/configurehood | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/src/packages/fff/fff-hoods/Makefile b/src/packages/fff/fff-hoods/Makefile
index d492572d..5233e611 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:=3
+PKG_VERSION:=4
 PKG_RELEASE:=1
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
index 47e228b7..e31ba219 100755
--- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
+++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
@@ -1,5 +1,13 @@ 
 #!/bin/sh
 
+# Allow only one instance
+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

Comments

Robert Langhammer Oct. 31, 2018, 7:19 p.m.
Hi Adrian,

das wurde ja schon ausreichend diskutiert und sollte auf jeden Fall rein.

Reviewed-by: Robert Langhammer <rlanghammer@web.de>


Am 31.10.18 um 17:35 schrieb Adrian Schmutzler:
> This is based on a similar patch from Tim Niemeyer.
>
> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> ---
>  src/packages/fff/fff-hoods/Makefile                     | 2 +-
>  src/packages/fff/fff-hoods/files/usr/sbin/configurehood | 8 ++++++++
>  2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/src/packages/fff/fff-hoods/Makefile b/src/packages/fff/fff-hoods/Makefile
> index d492572d..5233e611 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:=3
> +PKG_VERSION:=4
>  PKG_RELEASE:=1
>  
>  PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> index 47e228b7..e31ba219 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -1,5 +1,13 @@
>  #!/bin/sh
>  
> +# Allow only one instance
> +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
Fabian Blaese Nov. 7, 2018, 11:25 a.m.
Sieht für mich soweit schlüssig aus.

Reviewed-by: Fabian Bläse <fabian@blaese.de>

Fabian

On 31.10.18 17:35, Adrian Schmutzler wrote:
> This is based on a similar patch from Tim Niemeyer.
> 
> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> ---
>  src/packages/fff/fff-hoods/Makefile                     | 2 +-
>  src/packages/fff/fff-hoods/files/usr/sbin/configurehood | 8 ++++++++
>  2 files changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/src/packages/fff/fff-hoods/Makefile b/src/packages/fff/fff-hoods/Makefile
> index d492572d..5233e611 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:=3
> +PKG_VERSION:=4
>  PKG_RELEASE:=1
>  
>  PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> index 47e228b7..e31ba219 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -1,5 +1,13 @@
>  #!/bin/sh
>  
> +# Allow only one instance
> +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
>
Adrian Schmutzler Nov. 7, 2018, 2:32 p.m.
Beide applied.

 

From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf Of Fabian Bläse
Sent: Mittwoch, 7. November 2018 12:25
To: Adrian Schmutzler <freifunk@adrianschmutzler.de>; franken-dev@freifunk.net
Subject: Re: [PATCH 1/2] configurehood: Prevent multiple instances at the same time

 

Sieht für mich soweit schlüssig aus. 

Reviewed-by: Fabian Bläse <fabian@blaese.de <mailto:fabian@blaese.de> > 

Fabian 

On 31.10.18 17:35, Adrian Schmutzler wrote: 
> This is based on a similar patch from Tim Niemeyer. 
> 
> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de <mailto:freifunk@adrianschmutzler.de> > 
> --- 
>  src/packages/fff/fff-hoods/Makefile                     | 2 +- 
>  src/packages/fff/fff-hoods/files/usr/sbin/configurehood | 8 ++++++++ 
>  2 files changed, 9 insertions(+), 1 deletion(-) 
> 
> diff --git a/src/packages/fff/fff-hoods/Makefile b/src/packages/fff/fff-hoods/Makefile 
> index d492572d..5233e611 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:=3 
> +PKG_VERSION:=4 
>  PKG_RELEASE:=1 
>  
>  PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) 
> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood

> index 47e228b7..e31ba219 100755 
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood 
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood 
> @@ -1,5 +1,13 @@ 
>  #!/bin/sh 
>  
> +# Allow only one instance 
> +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 
>