Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:aginies
perl-IO-AIO
perl-IO-AIO.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File perl-IO-AIO.spec of Package perl-IO-AIO
# vim: set sw=4 ts=4 et nu: Name: perl-IO-AIO Version: 3.71 Release: 0 Summary: Perl Module for Asynchronous Input/Output Source: http://search.cpan.org/CPAN/authors/id/M/ML/MLEHMANN/IO-AIO-%{version}.tar.gz URL: http://search.cpan.org/dist/IO-AIO Group: Development/Libraries/Perl License: Perl License BuildRoot: %{_tmppath}/build-%{name}-%{version} Requires: perl = %{perl_version} BuildRequires: perl BuildRequires: make BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: perl(common::sense) Requires: perl(common::sense) %description 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. %package -n treescan-aio Summary: File Tree Scanner that uses Asynchronous I/O Group: System/Base Requires: perl(IO::AIO) = %{version} %if 0%{?suse_version} >= 1120 BuildArch: noarch %endif %description -n treescan-aio Scans a tree of files for changes, using AIO (Asynchronous I/O). %prep %setup -q -n "IO-AIO-%{version}" %__sed -i '/^auto_install/d' Makefile.PL %build %__perl Makefile.PL PREFIX="%{_prefix}" %__make %{?jobs:-j%{jobs}} %install %perl_make_install %perl_process_packlist %__rm -f "%{buildroot}/var/adm/perl-modules/%{name}" %check %__make test %clean %{?buildroot:%__rm -rf "%{buildroot}"} %files %defattr(-,root,root) %doc Changes README COPYING %dir %{perl_vendorarch}/IO %{perl_vendorarch}/IO/AIO.pm %dir %{perl_vendorarch}/auto/IO %{perl_vendorarch}/auto/IO/AIO %doc %{perl_man3dir}/IO::AIO.%{perl_man3ext}%{ext_man} %files -n treescan-aio %defattr(-,root,root) %{_bindir}/treescan
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor