select() a pojmenovane fifo

Michal Schmidt xschmi00 na stud.feec.vutbr.cz
Neděle Červenec 2 22:01:28 CEST 2006


Petr Janda wrote:
> mam problem s chovanim select() pro sledovani pojmenovane fifo.
> 
> program velmi zjednodusene vypada takto:
> [...]
> Moje potiz spociva v tom, ze 
> - dokud do fifo nic nepise, tak select() spravne ceka timeout a pak 
>   vrati 0 ...
> 
> - pokud ji neco otevre pro zapis, tak take ceka a pracuje podle
>   ocekavani (jsou data - navrat s 1, nesou data po timeout vraci 0)
> 
> - pokud ji to neco zavre, tak 
>   - nedostanu SIGPIPE

SIGPIPE dostane proces tehdy, kdyz se pokusi zapsat do roury, kterou 
nikdo necte. To neni Vas pripad.

>   - select vraci okamzite 1 pri kazdem pruchodu smyckou - to me stve
>     nejvic

Proc Vas to stve? Jeden z deskriptoru je nyni pripraven pro cteni (je na 
nem ten EOF). To je v poradku, ne?

>   - pripadne cteni z fifo_file precte 0 byte a skonci s EOF

Presne jak ma.
Jake jine chovani byste vlastne chtel?

Michal



Další informace o konferenci Linux