--- IO-AIO/AIO.pm 2005/08/07 03:34:07 1.26 +++ IO-AIO/AIO.pm 2005/08/16 22:22:18 1.27 @@ -68,7 +68,7 @@ $VERSION = 1.1; @EXPORT = qw(aio_read aio_write aio_open aio_close aio_stat aio_lstat aio_unlink - aio_fsync aio_fdatasync aio_readahead); + aio_rmdir aio_symlink aio_fsync aio_fdatasync aio_readahead); @EXPORT_OK = qw(poll_fileno poll_cb min_parallel max_parallel max_outstanding nreqs); require XSLoader; @@ -193,6 +193,11 @@ Asynchronously unlink (delete) a file and call the callback with the result code. +=item aio_rmdir $pathname, $callback + +Asynchronously rmdir (delete) a directory and call the callback with the +result code. + =item aio_fsync $fh, $callback Asynchronously call fsync on the given filehandle and call the callback @@ -320,9 +325,9 @@ my $sym = "IO::AIO::fd#$_[0]"; local *$sym; - open *$sym, "+<&$_[0]" # usually under any unix - or open *$sym, "<&$_[0]" # cygwin needs this - or open *$sym, ">&$_[0]" # cygwin needs this + open *$sym, "+<&=$_[0]" # usually works under any unix + or open *$sym, "<&=$_[0]" # cygwin needs this + or open *$sym, ">&=$_[0]" # or this or return undef; *$sym @@ -336,6 +341,13 @@ 1; +=head2 FORK BEHAVIOUR + +IO::AIO handles all outstanding AIO requests before the fork, destroys all +AIO threads, and recreates them in both the parent and the child after the +fork. + + =head1 SEE ALSO L, L.