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