[Python] Read bloccanti su pipe.
Listemessaggi CoPlast
listemessaggi a coplast.eu
Dom 24 Ago 2008 19:33:07 CEST
Ciao a tutti.
Se creo una named pipe (su linux) mkfifo mio_path e la apro
mio_file = open("mio_path", "r") il programma rimane in attesa che
qualcuno invii qualcosa a quella pipe.
Ora se invio qualcosa ad esempio banalmente echo 1 > mio_path allora
il programma supera l'istruzione open e va alle successive. Quì trova
dei cicli while contenenti delle mio_file.read() ed ora continua
all'infinito dentro la while anche se la pipe è vuota. Quando c'è
qualcosa nella pipe la legge e svuota la pipe ma poi continua nel loop
infinito restituendo niente dalle read.
Se non ho capito male in C sono le read ad essere bloccanti (a meno di
specifare diversamente nella open del C). La cosa mi interesserebbe (le
read bloccanti intendo), esiste un modo per farlo con python?
Matteo.
Maggiori informazioni sulla lista
Python