Problem s FIFO (mirne OT)

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Neděle Červen 13 21:41:10 CEST 1999


On Sun, 6 Jun 1999, Michal Krause wrote:

> Takze otazka zni: lze nejak dosahnout napriklad timeoutu ve volani open()?

1. nastavit prazdny handler na SIGALRM (mozna funguje i SIG_IGN, ale ruku
   do ohne za to bez konzultace chytrych knih nedam)
2. nastavit alarm
3. pustit blokujici open
4. zkontrolovat, jestli neskoncilo s chybou EINTR


On Wed, 9 Jun 1999, Mikulas Patocka wrote:

> Uff, to mi nejak neni jasne (neni v tom nejaky zaludny option?). Normalne
> kdyz se fifo otevre jednou pro cteni, tak se pak muze otevrit
> libovolnekrat pro zapis. Test: mknod fifo p
> Na prvni konzoli: cat <fifo
> Na druhe: cat >fifo
> Na treti: cat >fifo
> Nyni vse, co pisu na druhe i treti konzoli se objevuje na prvni.
> 
> Daemon by mohl mit fifo otevrene porad.

Vtip je v tom, ze jakmile nastane stav, kdy to vsichni producenti zavrou,
tak uz se ta roura zavre cela a dalsi producenti zacnou vytvaret novou
rouru, ke ktere se konzument musi explicitne znovu pripojit. Je to trochu
podivne, ale je to tak.


--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"NSA GCHQ KGB CIA nuclear conspiration war weapon spy agent... Hi Echelon!"




Další informace o konferenci Linux