View Full Version : [C] read non bloccanti & pipes: coppia impossibile?
australopiteci
08-02-2007, 19:13
Salve a tutti, ho cercato ovunque ma non riesco a capire perchè non ci sia una qualche opzione per rendere non bloccanti le read, quando si ha a che fare con le pipes. Ho visto che per le fifo e per altri tipi di meccanismi di IPC si può usare l'opzione o_NONBLOCK. Per le pipes invece non riesco a capire come rendere non bloccanti le mie read.. stavo leggendo qualcosa su poll e select ma non so se c'entri più di tanto..
Con la select si dovrebbero poter usare le pipe. In pratica con la select riesci a capire preventivamente se ci sono o meno dati da leggere. Spesso si usa anche per i socket, per fare server mono processo anche gestendo più socket contemporaneamente.
australopiteci
08-02-2007, 19:47
ciao Cionci, grazie per aver risposto. Quindi è sicuro al 100% che non esista qualcosa tipo l'opzione o_NONBLOCK?.. provo a documentarmi per vedere se sono difficili da utilizzare.
No, questo non lo so, ma soprattutto se lavori su più pipe contemporaneamente la select è la scelta migliore.
ilsensine
09-02-2007, 09:00
ciao Cionci, grazie per aver risposto. Quindi è sicuro al 100% che non esista qualcosa tipo l'opzione o_NONBLOCK?.. provo a documentarmi per vedere se sono difficili da utilizzare.
Priva con:
fcntl(fd,F_SETFL, fcntl(fd,F_GETFL,0) | O_NONBLOCK);
australopiteci
17-02-2007, 00:14
grazie del suggerimento, ora ci proverò
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.