[Python-de] fifo mit readline() auslesen

Christian Helmbold c.helmbold at gmx.de
Die Feb 8 12:07:39 CET 2005


Hallo Diez,

danke für deine Ausdauer! Ich habe dein Skript mal auf den Serverteil
reduziert und der dreht leider immer noch durch. 


import os, select

fifo = "annahme"

try:
    os.mkfifo(fifo)
except:
    print "fifo konnte nicht erzeugt werden!"

ff = os.open(fifo, os.O_RDONLY)

while True:
    print "loop"
    select.select([ff], [], [])
    print os.read(ff, 1)


Wenn ich das richtig sehe, wird das Durchdrehen bei der Variante mit Threads
nur durch das Schlafen abgemildert. Aber ich will den Serverprozess auf
keinen Fall schlafen legen. Scheint so, als müsste ich doch das
_blockierende_ open() in die Schleife packen. Oder habe ich irgendwas
grundlegend falsch verstanden?

Danke
Christian

-- 
Lassen Sie Ihren Gedanken freien Lauf... z.B. per FreeSMS
GMX bietet bis zu 100 FreeSMS/Monat: http://www.gmx.net/de/go/mail