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

Comparing libeio/eio.pod (file contents):
Revision 1.18 by root, Tue Jul 5 20:34:42 2011 UTC vs.
Revision 1.21 by root, Thu Jul 7 22:36:18 2011 UTC

131 131
132If C<eio_poll ()> is configured to not handle all results in one go 132If C<eio_poll ()> is configured to not handle all results in one go
133(i.e. it returns C<-1>) then you should start an idle watcher that calls 133(i.e. it returns C<-1>) then you should start an idle watcher that calls
134C<eio_poll> until it returns something C<!= -1>. 134C<eio_poll> until it returns something C<!= -1>.
135 135
136A full-featured conenctor between libeio and libev would look as follows 136A full-featured connector between libeio and libev would look as follows
137(if C<eio_poll> is handling all requests, it can of course be simplified a 137(if C<eio_poll> is handling all requests, it can of course be simplified a
138lot by removing the idle watcher logic): 138lot by removing the idle watcher logic):
139 139
140 static struct ev_loop *loop; 140 static struct ev_loop *loop;
141 static ev_idle repeat_watcher; 141 static ev_idle repeat_watcher;
276 276
277=over 4 277=over 4
278 278
279=item eio_cancel (eio_req *req) 279=item eio_cancel (eio_req *req)
280 280
281Cancel the request (and all it's subrequests). If the request is currently 281Cancel the request (and all its subrequests). If the request is currently
282executing it might still continue to execute, and in other cases it might 282executing it might still continue to execute, and in other cases it might
283still take a while till the request is cancelled. 283still take a while till the request is cancelled.
284 284
285Even if cancelled, the finish callback will still be invoked - the 285Even if cancelled, the finish callback will still be invoked - the
286callbacks of all cancellable requests need to check whether the request 286callbacks of all cancellable requests need to check whether the request
593as calling C<fdatasync>. 593as calling C<fdatasync>.
594 594
595Flags can be any combination of C<EIO_SYNC_FILE_RANGE_WAIT_BEFORE>, 595Flags can be any combination of C<EIO_SYNC_FILE_RANGE_WAIT_BEFORE>,
596C<EIO_SYNC_FILE_RANGE_WRITE> and C<EIO_SYNC_FILE_RANGE_WAIT_AFTER>. 596C<EIO_SYNC_FILE_RANGE_WRITE> and C<EIO_SYNC_FILE_RANGE_WAIT_AFTER>.
597 597
598=item eio_fallocate (int fd, int mode, off_t offset, off_t len, int pri, eio_cb cb, void *data)
599
600Calls C<fallocate> (note: I<NOT> C<posix_fallocate>!). If the syscall is
601missing, then it returns failure and sets C<errno> to C<ENOSYS>.
602
603The C<mode> argument can be C<0> (for behaviour similar to
604C<posix_fallocate>), or C<EIO_FALLOC_FL_KEEP_SIZE>, which keeps the size
605of the file unchanged (but still preallocates space beyond end of file).
606
598=back 607=back
599 608
600=head3 LIBEIO-SPECIFIC REQUESTS 609=head3 LIBEIO-SPECIFIC REQUESTS
601 610
602These requests are specific to libeio and do not correspond to any OS call. 611These requests are specific to libeio and do not correspond to any OS call.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines