--- IO-AIO/AIO.pm 2005/08/17 04:47:02 1.29 +++ IO-AIO/AIO.pm 2005/08/17 06:12:10 1.33 @@ -65,7 +65,7 @@ use Fcntl (); BEGIN { - $VERSION = 1.2; + $VERSION = 1.4; @EXPORT = qw(aio_read aio_write aio_open aio_close aio_stat aio_lstat aio_unlink aio_rmdir aio_symlink aio_fsync aio_fdatasync aio_readahead); @@ -152,6 +152,10 @@ callback without the actual number of bytes read (or -1 on error, just like the syscall). +The C<$data> scalar I be modified in any way while the request +is outstanding. Modifying it can result in segfaults or WW3 (if the +necessary/optional hardware is installed). + Example: Read 15 bytes at offset 7 into scalar C<$buffer>, starting at offset C<0> within the scalar: @@ -351,13 +355,11 @@ =head2 FORK BEHAVIOUR -Before the fork IO::AIO first handles all outstanding requests - if other -threads add requests during this period, this time is prolonged. It then -enters a quiescent state where no requests can be added in other threads -and no results will be processed. After the fork the parent simply leaves -the quiescent state and continues request processing, while the child will -free the request and result queue and start the same number of threads as -were in use by the parent. +Before the fork IO::AIO enters a quiescent state where no requests can be +added in other threads and no results will be processed. After the fork +the parent simply leaves the quiescent state and continues request/result +processing, while the child clears the request/result queue and starts the +same number of threads as were in use by the parent. =head1 SEE ALSO