--- IO-AIO/AIO.pm 2015/06/13 00:06:13 1.252 +++ IO-AIO/AIO.pm 2015/06/25 15:47:01 1.256 @@ -396,7 +396,7 @@ C, C, C, C, C, C, C, C, C, C, C, -C, C and C. +C, C, C, C, and C. =item aio_close $fh, $callback->($status) @@ -2059,13 +2059,21 @@ C<$prot> is a combination of C, C, C and/or C, -C<$flags> can be a combination of C or -C, or a number of system-specific flags (when -not available, the are defined as 0): C -(which is set to C if your system only provides this -constant), C, C, -C, C or -C +C<$flags> can be a combination of +C or +C, +or a number of system-specific flags (when not available, the are C<0>): +C (which is set to C if your system only provides this constant), +C, +C, +C, +C, +C, +C, +C, +C, +C or +C. If C<$fh> is C, then a file descriptor of C<-1> is passed. @@ -2128,6 +2136,26 @@ C<-1>/C everywhere else. If anybody knows how to influence pipe buffer size on other systems, drop me a note. +=item ($rfh, $wfh) = IO::AIO::pipe2 [$flags] + +This is a direct interface to the Linux L system call. If +C<$flags> is missing or C<0>, then this should be the same as a call to +perl's built-in C function and create a new pipe, and works on +systems that lack the pipe2 syscall. On win32, this case invokes C<_pipe +(..., 4096, O_BINARY)>. + +If C<$flags> is non-zero, it tries to invoke the pipe2 system call with +the given flags (Linux 2.6.27, glibc 2.9). + +On success, the read and write file handles are returned. + +On error, nothing will be returned. If the pipe2 syscall is missing and +C<$flags> is non-zero, fails with C. + +Please refer to L for more info on the C<$flags>, but at the +time of this writing, C, C and +C (Linux 3.4, for packet-based pipes) were supported. + =back =cut