neblokujici zapis do socketu

Peter Surda shurdeek na routehat.org
Středa Únor 16 15:25:58 CET 2005


On Wed, Feb 16, 2005 at 02:22:49PM +0100, Ladislav Vaiz wrote:
> Melo by se to chovat tak, ze nekolik write() pujde do bufferu jadra. Kdyz
> jadro uzna, ze mu to staci, tak vrati EAGAIN. Vy si musite nekde
> zapamatovat, kolik dat jste uz zapsal.
Ja to na suboroch oskusane nemam, len na socketoch, a tam to funguje presne
ako si to popisal.

> Pak cekejte select(n,NULL,&wfd,NULL,tv) dokud nemuzete opet zapisovat a
> pokracujte v zapisu.
Lepsie je podla mna robit najprv select a az potom skusit write, lebo to
vyzera cistejsie.

> Pokud write vrati jinou chybu, prestoze byla udalost na wfd, tak asi doslo k
> preruseni spojeni. (Neodzkouseno, read se takto chova, tak si myslim, ze u
> write to bude stejne).
Aj toto sa tak chova (pri socketoch).

Ale kedze socket je tiez len filedescriptor, pri suboroch to snad bude
rovnake. Len si niesom isty, nakolko to jadro rozlisuje, resp. ci to ma nejaky
zmysel :-).

> La'd"a
S pozdravom,

Peter Surda (Shurdeek) <shurdeek na routehat.org>, ICQ 10236103, +436505122023

-- 
          "One world, one web, one program"  -- Microsoft promotional ad
         "Ein Volk, ein Reich, ein Fuehrer"  -- Adolf Hitler
         "Ein Auto, ein Computer, ein Mann"  -- Knight Rider


Další informace o konferenci Linux