Perl Module for Asynchronous Input/Output

Edit Package perl-IO-AIO
http://search.cpan.org/dist/IO-AIO

This module implements asynchronous I/O using whatever means your operating
system supports. It is implemented as an interface to libeio
(http://software.schmorp.de/pkg/libeio.html).

Asynchronous means that operations that can normally block your program (e.g.
reading from disk) will be done asynchronously: the operation will still block,
but you can do something else in the meantime. This is extremely useful for
programs that need to stay interactive even when doing heavy I/O (GUI programs,
high performance network servers etc.), but can also be used to easily do
operations in parallel that are normally done sequentially, e.g. stat'ing many
files, which is much faster on a RAID volume or over NFS when you do a number
of stat operations concurrently.

While most of this works on all types of file descriptors (for example
sockets), using these functions on file descriptors that support nonblocking
operation (again, sockets, pipes etc.) is very inefficient. Use an event loop
for that (such as the EV module): IO::AIO will naturally fit into such an event
loop itself.

In this version, a number of threads are started that execute your requests and
signal their completion. You don't need thread support in perl, and the threads
created by this module will not be visible to perl. In the future, this module
might make use of the native aio functions available on many operating systems.
However, they are often not well-supported or restricted (GNU/Linux doesn't
allow them on normal files currently, for example), and they would only support
aio_read and aio_write, so the remaining functionality would have to be
implemented using threads anyway.

Refresh
Refresh
Source Files
Filename Size Changed
IO-AIO-4.6.tar.gz 0000172531 168 KB
cpanspec.yml 0000000669 669 Bytes
perl-IO-AIO.changes 0000010270 10 KB
perl-IO-AIO.spec 0000004298 4.2 KB
Revision 7 (latest revision is 14)
Dirk Stoecker's avatar Dirk Stoecker (dstoecker) accepted request 640742 from Dirk Stoecker's avatar Dirk Stoecker (dstoecker) (revision 7)
- Fix autogenerated changes
- updated to 4.6
   see /usr/share/doc/packages/perl-IO-AIO/Changes
  TODO: dump config.log when automated testign and configure fails
  
  4.6  
  	- add st_btime, st_btimesec, st_btimensec and st_gen accessors,
            mostly for bsds which expose birthtime and st_gen members (netbsd, freebsd
            but only st_gen on openbsd because they compiled their perl without support
            for birthtimes).
          - fix madvise and munlock to properly support negative offsets.
          - allocate fd for the aio_close at boot time, to guarantee it working
            later, rather than calling abort when it fails. also avoids
            close-on-exec race issues after module load.
          - #undef utime on win32, maybe this helps some reports of utime hangs.
          - minor doc improvements.
          - minor configure cleanups.
          - use $Config{perllibs} instead of libs for configure. might help people
            who didn'T install all perl dependencies (might break things as well).
- updated to 4.54
   see /usr/share/doc/packages/perl-IO-AIO/Changes
  4.54 
  	- include sys/mkdev.h or sys/sysmacros.h if available.
          - further tweaks to configure invocation for systems requiring --rpath.
          - no longer rely on custom paths on win32 platforms.
          - try to work around buggy PAGESIZE macro on solaris.
  
  4.53 
  	- add $Config{libs} to LIBS for configure, to work around systems
            with broken library dependencies (... openbsd).
- updated to 4.52
   see /usr/share/doc/packages/perl-IO-AIO/Changes
- updated to 4.5
   see /usr/share/doc/packages/perl-IO-AIO/Changes
- updated to 4.4
   see /usr/share/doc/packages/perl-IO-AIO/Changes
- updated to 4.34
   see /usr/share/doc/packages/perl-IO-AIO/Changes
  TODO: lchown
Comments 0
openSUSE Build Service is sponsored by