ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libeio/eio.pod
(Generate patch)

Comparing libeio/eio.pod (file contents):
Revision 1.29 by sf-exg, Mon Sep 26 17:10:10 2011 UTC vs.
Revision 1.31 by root, Fri Dec 28 20:05:45 2012 UTC

630 630
631=over 4 631=over 4
632 632
633=item eio_mtouch (void *addr, size_t length, int flags, int pri, eio_cb cb, void *data) 633=item eio_mtouch (void *addr, size_t length, int flags, int pri, eio_cb cb, void *data)
634 634
635Reads (C<flags == 0>) or modifies (C<flags == EIO_MT_MODIFY) the given 635Reads (C<flags == 0>) or modifies (C<flags == EIO_MT_MODIFY>) the given
636memory area, page-wise, that is, it reads (or reads and writes back) the 636memory area, page-wise, that is, it reads (or reads and writes back) the
637first octet of every page that spans the memory area. 637first octet of every page that spans the memory area.
638 638
639This can be used to page in some mmapped file, or dirty some pages. Note 639This can be used to page in some mmapped file, or dirty some pages. Note
640that dirtying is an unlocked read-write access, so races can ensue when 640that dirtying is an unlocked read-write access, so races can ensue when
764request finish on its own. 764request finish on its own.
765 765
766=item 3) open callback adds more requests 766=item 3) open callback adds more requests
767 767
768In the open callback, if the open was not successful, copy C<< 768In the open callback, if the open was not successful, copy C<<
769req->errorno >> to C<< grp->errorno >> and set C<< grp->errorno >> to 769req->errorno >> to C<< grp->errorno >> and set C<< grp->result >> to
770C<-1> to signal an error. 770C<-1> to signal an error.
771 771
772Otherwise, malloc some memory or so and issue a read request, adding the 772Otherwise, malloc some memory or so and issue a read request, adding the
773read request to the group. 773read request to the group.
774 774
775=item 4) continue issuing requests till finished 775=item 4) continue issuing requests till finished
776 776
777In the real callback, check for errors and possibly continue with 777In the read callback, check for errors and possibly continue with
778C<eio_close> or any other eio request in the same way. 778C<eio_close> or any other eio request in the same way.
779 779
780As soon as no new requests are added the group request will finish. Make 780As soon as no new requests are added, the group request will finish. Make
781sure you I<always> set C<< grp->result >> to some sensible value. 781sure you I<always> set C<< grp->result >> to some sensible value.
782 782
783=back 783=back
784 784
785=head4 REQUEST LIMITING 785=head4 REQUEST LIMITING

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines