Znovu FIFO a blokovani v open()

Michal Krause mike na navrcholu.cz
Úterý Říjen 19 20:59:39 CEST 1999


Dne 19.10.1999 Pavel Kankovsky napsal

> On Tue, 19 Oct 1999, Michal Krause wrote:
> 
> > Socket je na tom relativne lepe, ale je to vyhoda pofiderni - az nejaky
> > proces skonci s timeoutem, hned ho zastoupi jiny.
> 
> Da se udelat non-blocking connect a pak se taky da udelat to, ze jakmile

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...

> je pozitivne zjisteno, ze je demon tuhy, tak bude "resuscitovan" pomoci
> volani kill() (no a pres sockety klienti dostanou v teto situaci jasne
> najevo, ze nejsou vitani, protoze connect() selze).

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

> > Myslel jsem, ze vliv na to, zda se connect blockne do timeoutu ma
> > nastaveni backlogu (listen), ale budto to nechapu nebo to nefunguje.
> > Predpokladal jsem, ze pokud bude backlog nastaven na hodnotu 1, muze byt
> > jeden pozadavek resen, druhy ve fronte a tretimu by mel connect() vratit
> > ECONNREFUSED. Nebo je to jinak?
> 
> Hmmm...ted s tim experimentuji a vypada to, ze aspon u unixovych se zadny
> ECONNREFUSED nekona. Navic se mi podarilo vyloudit zajimavou vec: kdyz

:(

> klient zablokovany v connect() chcipne, tak accept() v serveru uspeje,
> objevi se novy spojeny socket, ale nic se s nim neda delat. Budu muset
> vyzkouset, jestli to delaji i jine verze nez 2.0.36. Pokud by to chtel
> nekdo mermomoci zkouset, tak ma ty programky na konci. Staci prelozit a
> dat server & klient & klient a pak promptne Ctrl+C.

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

-- 
S pozdravem

Michal Krause                                                      /\
ICQ: 7665279            Informace (nejenom) ze sveta Linuxu     /\/  \
email: mike na navrcholu.cz ______ http://www.root.cz/ ______ NAVRCHOLU.cz

Co napsat do signatury, aby to nikoho nepohorsilo? Snad jedine nejakou
obecne znamou pravdu. Doufam, ze vsichni vite, ze tucnak je bylozrava ryba. 




Další informace o konferenci Linux