|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Feb 2005
Messaggi: 127
|
[C] read non bloccanti & pipes: coppia impossibile?
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..
__________________
the AUSTRALOPITECI |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
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.
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Feb 2005
Messaggi: 127
|
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.
__________________
the AUSTRALOPITECI |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
No, questo non lo so, ma soprattutto se lavori su più pipe contemporaneamente la select è la scelta migliore.
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
fcntl(fd,F_SETFL, fcntl(fd,F_GETFL,0) | O_NONBLOCK);
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Feb 2005
Messaggi: 127
|
grazie del suggerimento, ora ci proverò
__________________
the AUSTRALOPITECI |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:34.