[PATCH] fff-nodewatcher: Make nodewatcher independent of /tmp/startet

Robert Langhammer rlanghammer at web.de
Di Apr 16 15:42:59 CEST 2019


Hi Adrian,
das sind genau die zwei Sachen, die ich mir auch überlegt habe. Und die Einfachheit hat gesiegt. Im Normalfall wird init schneller fertig sein. Und wenn nicht, ist es auch nicht schlimm. Der nodwatcher macht nichts kaputt.
Erster Start nach spätestens 10 Minuten find ich auch nicht tragisch.
Ein erster Start aus init.d könnte man machen.
Nimm das einfach mal als Idee mit, wenn du am Start weiter bastelst. 

Am 16. April 2019 13:51:15 MESZ schrieb Adrian Schmutzler <mail at adrianschmutzler.de>:
>Hallo Robert,
>
>pragmatisch und einfach.
>
>Wenn ich allerdings etwas darüber nachdenke, ist das im Prinzip eine
>Race-Condition.
>
>Du nimmst ja an, dass der Bootvorgang bis START=50 nur 5 Minuten
>dauert. Das wird zwar quasi immer der Fall sein, stört mich aber
>irgendwie.
>
>Umgekehrt dauert es im ungünstigen Fall fast 10 Minuten, bis der
>nodewatcher nach dem Start das erste Mal läuft. Dieses Problem könnte
>man aber einfach lösen, indem man den nodewatcher auch einmal per
>init.d aufruft, wenn alles andere vorbei ist.
>
>Wenn es nach mir geht, kann wie bereits gesagt der nodewatcher einfach
>sterben, wenn er läuft, bevor alfred da ist.
>
>Grüße
>
>Adrian
>
>> -----Original Message-----
>> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
>Of
>> Robert Langhammer
>> Sent: Dienstag, 16. April 2019 09:43
>> To: franken-dev at freifunk.net
>> Subject: [PATCH] fff-nodewatcher: Make nodewatcher independent of
>> /tmp/startet
>> 
>> Signed-off-by: Robert Langhammer <rlanghammer at web.de>
>> 
>> ---
>> 
>> Checking /tmp/strted was needed that modewatcher does not start too
>early.
>> Prohibit the start in the first 5 minutes
>> does the same and nodewatcher is independent of /tmp/started, which
>can be
>> removed later.
>> ---
>>  .../fff/fff-nodewatcher/files/usr/lib/micron.d/fff-nodewatcher  | 2
>+-
>>  src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher     | 2
>--
>>  2 files changed, 1 insertion(+), 3 deletions(-)
>> 
>> diff --git
>a/src/packages/fff/fff-nodewatcher/files/usr/lib/micron.d/fff-
>> nodewatcher
>b/src/packages/fff/fff-nodewatcher/files/usr/lib/micron.d/fff-
>> nodewatcher
>> index 55a2cc0..d67b087 100644
>> ---
>a/src/packages/fff/fff-nodewatcher/files/usr/lib/micron.d/fff-nodewatcher
>> +++ b/src/packages/fff/fff-nodewatcher/files/usr/lib/micron.d/fff-
>> nodewatcher
>> @@ -1 +1 @@
>> -*/5 * * * * sleep $(/usr/bin/random 0 29); /usr/sbin/nodewatcher
>> +*/5 * * * * sleep $(/usr/bin/random 0 29); [ $(cut -f1 -d .
>/proc/uptime) -gt 300
>> ] && /usr/sbin/nodewatcher
>> diff --git
>a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher
>> b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher
>> index 5e75f03..cc634a5 100755
>> --- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher
>> +++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher
>> @@ -2,8 +2,6 @@
>>  # Netmon Nodewatcher (C) 2010-2012 Freifunk Oldenburg
>>  # License; GPL v3
>> 
>> -test -f /tmp/started || exit
>> -
>>  # Allow only one instance
>>  lockfile="/var/lock/${0##*/}.lock"
>>  if ! lock -n "$lockfile"; then
>> --
>> 2.20.1


Mehr Informationen über die Mailingliste franken-dev