Moin
Ich habe einen Prozess mit fork() kopiert und will jetzt, dass die Prozesse kommunizieren. Dazu hat der Vater zwei Pipes, das Kind hat diese umgeleitet auf 0/1. So sollte es möglich sein, über die erste Pipe Daten vom Vater zum Kind zu schicken - geht problemlos - und über die zweite Daten vom Kind zum Vater zu schicken - Problem: Der Vater kann die Daten vom Kind erst lesen, wenn dieses beendet ist. Kann mir jemand sagen, was man da machen kann?
Danke im voraus, Stefan
Problem: Der Vater kann die Daten vom Kind erst
lesen, wenn dieses beendet ist. Kann mir jemand sagen, was man
da machen kann?
Versuch mal, nachdem du die Daten geschrieben hast, fsync auf den Schreibe-Deskriptor anzusetzen.
Funktioniert - aber mit Einschränkungen: Daten, die mit printf() geschrieben wurden, kann ich so nicht einlesen. Nur die, die mit write() geschrieben wurden. Wie kann man auch an diese Daten rankommen?
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Funktioniert - aber mit Einschränkungen: Daten, die mit
printf() geschrieben wurden, kann ich so nicht einlesen. Nur
die, die mit write() geschrieben wurden. Wie kann man auch an
diese Daten rankommen?
Versuchs mal mit fflush(stdout). Die stdio-Funktionen betreiben soweit ich weiß nochmal ihre eigenen Puffer.
Versuchs mal mit fflush(stdout). Die stdio-Funktionen
betreiben soweit ich weiß nochmal ihre eigenen Puffer.
Danke! Damit gehts.
MfG, Stefann