Konstruktoren und Objekte in andern Klassen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
BlackJack

@sandra84: Passiert das beim ersten Kommando das gesendet wird? Kann es sein, dass die "Gegenseite" die Pipes nach einem Kommando, oder vielleicht nach einer gewissen Zeit, schliesst und man über die dann einfach kein zweites Kommando absetzen kann!?
sandra84
User
Beiträge: 17
Registriert: Mittwoch 9. Juni 2010, 06:34

hmmm ja also in der Theorie ja..

Es wird das kommando "quit" gesendet und der task test.out beendet. Aber die sendCommand macht ja wieder Popen etc. (was ich eigentlich der Meinung bin, dass es das gar nicht braucht wg. dem Konstruktor). Hatte das Testhalber nochmal in die sendCommand geschrieben um ebend das mit dem "quit" etc. zu umgehen.
sandra84
User
Beiträge: 17
Registriert: Mittwoch 9. Juni 2010, 06:34

aha! also wenn ich das ganze nicht kill.. dann klappts auch mit der pipe.. warum er aber die sendCommand nicht einfach ohne ein neues Klassen-Objekt nimmt versteh ich nicht. Das Objekt ist ja noch vorhanden zu dem Zeitpunkt und die sendCommand macht ja eine eigene auf.
BlackJack

@sandra84: Ich bin jetzt etwas verwirrt von dem Quelltext, denn in der `__init__()` wird ja auch schon einmal `self.client` gebunden. Und dann nicht verwendet?

Und wie sieht der komplette Traceback aus? Denn die vorletzte Zeile wie Du sagst, kann ja nicht der Punkt für einen IOError sein, höchstens auf dem Aufrufstack dahin der Auslöser.
sandra84
User
Beiträge: 17
Registriert: Mittwoch 9. Juni 2010, 06:34

ne.. also ja..

ich habs mal Testhalber in die sendCommand reingeschrieben. Eigentlich sollte es nur in der init stehen.

Ach der mist ist.. ich kanns nicht so ohne weiteres kopieren :P also den Traceback..

self.worker.sendCommand("read 34")
self.client.stdin.write(cmd + "\n")
IOError: [Errno 32] Broken pipe

wie gesagt, der Fehler ist nun weg, da ich den Prozess der test.out nicht mehr kill, aber
mir will nicht in den Kopf warum das überhaupt ein Problem dargestellt hatte, da die sendCommand eigentlich wieder alles "gestartet" hat.
Antworten