Znovu FIFO a blokovani v open()

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


On Tue, 19 Oct 1999, Michal Krause wrote:

> > 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)
> 
> A jak se to realizuje?

v kostce:
otevre se socket a nastavi se, ze je non-blocking
udela se connect(), a kdyz vrati EINPROGRESS...
provede se select() na zapisovatelnost socketu
az je zapisovatelny, tak se da vysledek precist pres getsockopt(SO_ERROR)

ale lepsi bude prostudovat zdrojaky nejakeho programu, co to dela (jediny,
o kterem nabeton vim, je Tiny Fugue)

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