[PATCH 1/2] nodewatcher: split up

Adrian Schmutzler mail at adrianschmutzler.de
Mo Okt 7 21:18:45 CEST 2019


Hallo nochmal,

ich habe mir das run_with_timeout nochmal genauer angesehen.

Ich denke, ich verstehe jetzt einigermaßen, was es tut. Dementsprechend sind die 2 sec. keine Wartezeit, sondern die Zeit, nach der ein Teilskript abgeschossen wird?

Das würde dann bedeuten, dass der nodewatcher die Daten aus diesem Skript nicht bekommt und daher ein unvollständiges XML baut.
Meiner Meinung nach sollte dann der ganze nodewatcher ein exit 1 machen, anstatt einen unvollständigen Datensatz rauszuschicken.

+    for f in /usr/lib/nodewatcher.d/*.sh; do
+        tmp=$(run_with_timeout "$f")
+        if [ $? ]; then
+            DATA=$DATA"$tmp"

Was genau legt hier den Wert von $? fest? Die Zuweisung? Ist der Status-Code dann != 0, wenn tmp leer ist? Oder run_with_timeout?
Macht es ggf. mehr Sinn, hier mit [ -n "$tmp" ] zu prüfen? Hat das echo einen buffer, sodass ein blöder kill in der Funktion eine halbe Ausgabe erzeugen kann (dann müsste man den Status-Code von kill auswerten ...)?
Wahrscheinlich reicht es aber aus, einfach ein "else exit 1" hinzuzufügen.

Ich fände es außerdem super, wenn man in der Funktion run_with_timeout _jede_ Zeile kommentieren könnte, damit das auch ein Nicht-Pro versteht, wenn er es in zwei Jahren mal durchliest.

War jetzt zwar viel Text von mir, sollte aber recht unanstrengend zu beantworten sein.

Grüße

Adrian
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : openpgp-digital-signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 834 bytes
Beschreibung: nicht verfügbar
URL         : <https://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20191007/9a42dc0d/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev