Znovu FIFO a blokovani v open()

Michal Krause mike na navrcholu.cz
Úterý Říjen 19 19:35:40 CEST 1999


Dne 19.10.1999 Pavel Kankovsky napsal

> On Tue, 19 Oct 1999, Michal Krause wrote:
> 
> > vim, ze uz se z toho pomalu stava evergreen, ale potrebuju opet resit
> > problematiku blocknuti v open() pri otevirani FIFO, na jehoz druhem konci
> > nikdo neni a stavajici reseni (asi) neni pouzitelne.
> 
> A co misto rour pouzit sockety?

Jeste nad tim tady tak premyslim, ale nezda se mi, ze bych si se sockety
pomohl. Modelova situace:

Apache je omezen na X procesu, na druhe strane socketu/fifo je vytuhly
demon

       FIFO                       SOCKET
 vznika deadlock     proces se blokne az do timeoutu

At tak ci onak, neni problem dosahnout X bezicich procesu behem par
vterin a vysledek je stejny - web server neodpovida.

Socket je na tom relativne lepe, ale je to vyhoda pofiderni - az nejaky
proces skonci s timeoutem, hned ho zastoupi jiny.

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?

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