Thread Win32 - Pipe erzeugung funktioniert nicht (3 answers)
Opened by Snicker at 2008-10-07 14:18

Snicker
 2008-10-07 19:54
#115251 #115251
User since
2008-08-09
25 Artikel
BenutzerIn
[default_avatar]
Taulmarill+2008-10-07 17:07:24--
Hm, evtl. habe ich nur irgend etwas an deinem Script nicht verstanden, aber für mich sieht es so aus, als ob du eine Pipe mit dem Namen "My Pipe Name $q" erzeugst und dann versuchst nach "My Pipe Name $op" zu verbinden. Dabei ist aber nicht sicher gestellt, dass $q == $op ist. So wie das ganze aussieht bin ich mir sogar ziemlich sicher, dass $q != $op. Da das Programm nach dem ersten fehlgeschlagenen Versuch sofort mit die beendet wird, kommt es nie zu einer Verbindung.


das Problem liegt nicht beim $q != $op, da $op ==$q. Hab das nochmal nachgeprüft.
Das erstaunlich ist, dass die Berechnungen im Fork-Prozess nicht ausgeführt werden. Sobald ich aber satt
Code (perl): (dl )
$Pipe = new Win32::Pipe("\\\\server\\pipe\\My Pipe Name $op")

Code (perl): (dl )
$Pipe = new Win32::Pipe("\\\\.\\pipe\\My Pipe Name $op")
schreibe, werden meine Berechnungen in jedem Forkprozess gestartet. Eigentlich dürfte es keinen Unterschied geben.

Versuche ich nun im fork-prozess den pipe auszulesen, dann erhalte ich ebenfalls die Fehlermeldung, dass das Lesen meines "My Pipe Name 0" nicht funktioniert hat. Irgendwie scheine ich wohl nicht in der Lage zu sein, meine Pipes starten zu können bzw. nicht lesen zu können, obwohl die Namen übereinstimmen.

@$q!=$op:
in der Hinsicht hast teilweise Recht. Mein Intervall wurde von mir um 1 zu klein gewählt. Statt 0 ... 3 hat er bisher 0 ... 2 abgesucht. Habe es jetzt korrigiert.

View full thread Win32 - Pipe erzeugung funktioniert nicht