[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [CPROG] asynkron I/O (forsat)



Erwin S. Andreasen <sslug@sslug> wrote in message
news:sslug@sslug
> Elias Naur <sslug@sslug> writes:
>
> > Hvorfor kan jeg ikke finde O_ASYNC flaget under man 2 open? Hvis det
bare
> > er mig der er dum, hvor kan jeg så finde det flag? Gør det andet end at
slå
> > signalering til for I/O?
>
> Men vil vel normalt ikke sætte det flag ved open, men med en fcntl på
> en eksisterende file descriptor (giver det mening at gøre det på andet
> end en socket?) Se man fcntl, den nævner den.

Jeps jeg ved det, men fcntl siger jeg skal kigge i open efter forklaring...

>
> > Når jeg får signaleret at jeg kan skrive uden at blocke (POLLOUT) hvor
> > meget kan man så skrive? Fyldes bufferne bare og antallet af bytes
skrevet
> > returneres?
>
> Een gang uden at blokere, men du kan forsøge at skrive så mange bytes
> du egentlig vil. write() vill returnere det faktiske antal bytes
> skrevet, så du kan ikke går ud fra at den kunne skrive det hele. Du
> skal altså have en buffer som du selv holder styr på.

Det var det jeg tænkte.

>
> poll/O_ASYNC er altså nogle forskellige ting, jeg ved ikke om du
> bruger dem samtidigt?
>

Også forstået, men i det førnævnte link om high performance network I/O,
beskrives realtime signaler som en mulighed for hurtig I/O i kerner >
2.3.blah. Disse realtime signalkøer kan dog overløbe, og så skal man falde
tilbage til alm. poll loops.  Man kan tilsyneladende bruge signal-per-fd
patchen
(http://www.uwsg.indiana.edu/hypermail/linux/kernel/0105.2/0646.html) for at
undgå dette.

VH Elias Naur




 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:08 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *