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