[gelöst] BlockingCall forkt mit PPID1/Anzahl der BlockingCalls begrenzen

Begonnen von abc2006, 13 Oktober 2017, 00:33:28

Vorheriges Thema - Nächstes Thema

abc2006

ZitatSeit neustem gibt es noch einen zweiten Parameter der an die AbortFn übergeben wird, den kann man mit auswerten wenn man will. Schau Dir am besten mal den Code von Blocking.pm

Vielleicht bin ich blind, aber ich habe keinen weiteren Parameter gefunden (den ich aus dem child an die AbortFn übergeben könnte ...

Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

CoolTux

Du musst da nichts übergeben. Das macht Blocking.pm von sich aus.

sub Test_Abort($$} {

my ($hash,$msg) = @_;


Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

Oder auch: Im zweiten (optionalen) Parameter steht der Grund des Abbruchts (Timeout, oder Kind verstorben).
Wenn du selbst mehrere Parameter uebergeben willst, dann muss man die weiterhin alle ins $hash stecken, da hat sich nichts geaendert.

CoolTux

ups dann ist meine Version falsch


sub Test_Abort($$} {

my ($hash,$msg) = @_;


Muss dann wohl zu

sub Test_Abort($;$} {

my ($hash,$msg) = @_;
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

abc2006

jaaa, das habe ich gesehen.. das problem ist, dass $msg nicht von der "blockigen" kommt, sondern bereits im blockingCall übergeben werden muss.. (im Gegensatz zur FinishFn, die sehr wohl den return-Wert erhält). Das heisst, ich kann in der AbortFn *nicht* auf Fehler in der blockigen reagieren, sondern *ausschließlich* auf Timeouts und Todesfälle.  Oder?

grade die Antwort von Rudi gelesen - alles klar. Hätte es praktisch gefunden, zwei Funktionen zu haben, eine für "hat geklappt" und eine für "hat nicht geklappt", jeweils mit dem return-Wert aufgerufen...

Aber:
Ist nicht schlimm, ich habs mittlerweile alles in die finishFn gebaut und bin jetzt dabei, ein Modul zu schreiben ...  ( und, dank euch, viel gelernt!)

Mal sehen, ob das was wird  ::)

Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX