[PATCH 1/2] nodewatcher: split up

robert rlanghammer at web.de
Mo Okt 7 23:22:03 CEST 2019


Hi Adrian,

Am 07.10.19 um 21:18 schrieb Adrian Schmutzler:
> 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"

[ $? ] ist IMMER true, da immer exsistent! Ich denke da wurde nur der
Test auf 0 vergessen: if [ $? = 0 ]

In $? ist in diesem Fall der Exitstatus der Subshell.

Gruß Robert

>
> 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   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 833 bytes
Beschreibung: OpenPGP digital signature
URL         : <https://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20191007/a2fba6f0/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev