[Python-de] fifo mit readline() auslesen

Diez B. Roggisch deets at web.de
Die Feb 8 22:57:47 CET 2005


> Wenn ich das richtig sehe, reicht (jedenfalls auf meinem System) ein
> einziges in die Fifo geschriebenes Zeichen aus.
>
> Die bisherige "Lösung" blockiert tatsächlich, aber nur bis das erste Mal
> etwas in die Fifo geschrieben wird. Danach dreht die Schleife durch und
> schreibt am laufenden Band "loop" auf die Konsole. Ich will aber einen
> Serverprozess haben, der fortwährend Nachrichten aus einer Fifo saugt und
> blockiert (d.h. vom Betriebssystem suspendiert wird), wenn keine Daten in
> die Fifo geschrieben werden. Und alle bisherigen Varianten, außer das
> blockierende open() in der While-Schleife, drehen, nach dem das erste Mal
> etwas in die Fifo geschrieben wurde, durch.

Das ist seltsam - genau dieses Verhaltn - blockiereren bis was ankommt - zeigt 
das Skript bei mir. Ich habe auch noch mal extra dein server-beispiel 
genommen und den dazugehoerigen client geschrieben. Bis auf die andere 
buffergroesse ist das Verhalten gleich.

Was hast du denn fuer ein system - und ist das wirklich auch der servercode?

Diez