Znovu FIFO a blokovani v open()

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Úterý Říjen 19 21:17:02 CEST 1999


On Tue, 19 Oct 1999, Michal Krause wrote:

> Jenze non-blocking connect je pro me to same jako non-blocking open() na
> FIFO. Z duvodu, ktere jsem popisoval v nekterem z minulych mailu mam
> strach z toho, ze bude dochazet ke ztratam...

non-blocking connect() je operace takova, ze se pusti a pak se ceka, az
skonci (nebo az nam dojde trpelivost a skoncime ji sami zavrenim socketu)

> Ano, ale to znamena vybudovat externi kontrolni mechanismus zivosti demona
> a tomu jsem se chtel vyhnout.

pro "heavy-duty" aplikaci to ale neni spatny napad testovat prubezne
jeji funkcnost

krome toho existuje jedno okamzite dostupne kriterium selhani...kdyz
nedojde k obslouzeni urciteho prahoveho mnozstvi klientu (v casovem
limitu)

> Budto jsem netrefil spravnou dobu na Ctrl+C a nebo se to na 2.2.9 nedeje.

druhy klient musi byt zabit, kdyz ceka v connect(), ale je dost
pravdepodobne, ze 2.2 se chova jinak, protoze je dost prekopana

> Vazne? Mel jsem za to, ze flag O_NONBLOCK lze jenom zapnout a nikoliv
> vypnout.

fcntl() flagy prenastavuje, takze je dokaze jak nahodit, tak shodit

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."




Další informace o konferenci Linux