Ich schrieb diese Funktion für die Kommunikation mit einem externen Programm. Ein solches Programm nimmt Eingaben von stdin und druckt seine Ausgabe auf stdout. Um meinen Code mit diesem Programm kommunizieren zu lassen, leite ich die stdin und stdout zu den Puffern um, die Pfeifen verwenden.C pipe() gibt Fehler nach einer bestimmten Anzahl von Aufrufen zurück
das Problem ist, dass das 204. Mal, dass ich diese Funktion aufrufen, Pipe() gibt mir einen Fehler (-1) zurück! Irgendeine Idee warum ist das, oder wie kann ich es vermeiden? vielen Dank
weitere Details: Dies ist unter Linux. Das Ergebnis von uname -a lautet:
Linux snowy.*****.ac.uk 2.6.32-71.el6.x86_64 #1 SMP Fri May 20 03:51:51 BST 2011 x86_64 x86_64 x86_64 GNU/Linux
Was ist der Wert oder 'errno' zum Zeitpunkt des Fehlers? – trojanfoe
'man 3 errno',' ulimit -n' und überprüfen Sie, wie viele offene Dateideskriptoren Sie in diesem Prozess haben. –
Besser noch, was ist der Wert von 'strerror (errno)'? –