Date: Sat, 9 Dec 2006 20:12:39 +0800 (CST) From: Gea-Suan Lin <gslin@gslin.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: gslin@gslin.org Subject: ports/106526: [NEW PORT] devel/p5-IO-AIO: Asynchronous Input/Output Message-ID: <20061209121239.732FA8D@netnews.NCTU.edu.tw> Resent-Message-ID: <200612091220.kB9CKAJ3018796@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 106526 >Category: ports >Synopsis: [NEW PORT] devel/p5-IO-AIO: Asynchronous Input/Output >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sat Dec 09 12:20:09 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Gea-Suan Lin >Release: FreeBSD 6.1-RELEASE-p8 i386 >Organization: >Environment: System: FreeBSD netnews.NCTU.edu.tw 6.1-RELEASE-p8 FreeBSD 6.1-RELEASE-p8 #0: Fri Sep 29 03:41:50 CST 2006 >Description: This module implements asynchronous I/O using whatever means your operating system supports. 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 or might not work (aio_read fails on sockets/pipes/fifos). Use an event loop for that (such as the Event module): IO::AIO will naturally fit into such an event loop itself. WWW: http://search.cpan.org/dist/IO-AIO/ Generated with FreeBSD Port Tools 0.77 >How-To-Repeat: >Fix: --- p5-IO-AIO-2.2.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # p5-IO-AIO # p5-IO-AIO/pkg-descr # p5-IO-AIO/Makefile # p5-IO-AIO/pkg-plist # p5-IO-AIO/distinfo # echo c - p5-IO-AIO mkdir -p p5-IO-AIO > /dev/null 2>&1 echo x - p5-IO-AIO/pkg-descr sed 's/^X//' >p5-IO-AIO/pkg-descr << 'END-of-p5-IO-AIO/pkg-descr' XThis module implements asynchronous I/O using whatever means your Xoperating system supports. X XAsynchronous means that operations that can normally block your Xprogram (e.g. reading from disk) will be done asynchronously: the Xoperation will still block, but you can do something else in the Xmeantime. This is extremely useful for programs that need to stay Xinteractive even when doing heavy I/O (GUI programs, high performance Xnetwork servers etc.), but can also be used to easily do operations in Xparallel that are normally done sequentially, e.g. stat'ing many files, Xwhich is much faster on a RAID volume or over NFS when you do a number Xof stat operations concurrently. X XWhile most of this works on all types of file descriptors (for example Xsockets), using these functions on file descriptors that support Xnonblocking operation (again, sockets, pipes etc.) is very inefficient Xor might not work (aio_read fails on sockets/pipes/fifos). Use an Xevent loop for that (such as the Event module): IO::AIO will naturally Xfit into such an event loop itself. X XWWW: http://search.cpan.org/dist/IO-AIO/ END-of-p5-IO-AIO/pkg-descr echo x - p5-IO-AIO/Makefile sed 's/^X//' >p5-IO-AIO/Makefile << 'END-of-p5-IO-AIO/Makefile' X# New ports collection makefile for: p5-IO-AIO X# Date created: 2006-12-09 X# Whom: Gea-Suan Lin <gslin@gslin.org> X# X# $FreeBSD$ X# X XPORTNAME= IO-AIO XPORTVERSION= 2.2 XCATEGORIES= devel perl5 XMASTER_SITES= CPAN XMASTER_SITE_SUBDIR= IO XPKGNAMEPREFIX= p5- X XMAINTAINER= gslin@gslin.org XCOMMENT= Asynchronous Input/Output X XPERL_CONFIGURE= yes X XMAN3= IO::AIO.3 X X.include <bsd.port.pre.mk> X Xpost-patch: X ${PERL} -e 's,-lpthreads?,${PTHREAD_LIBS},g' ${WRKSRC}/Makefile.PL X X.include <bsd.port.post.mk> END-of-p5-IO-AIO/Makefile echo x - p5-IO-AIO/pkg-plist sed 's/^X//' >p5-IO-AIO/pkg-plist << 'END-of-p5-IO-AIO/pkg-plist' X@comment $FreeBSD$ X%%SITE_PERL%%/%%PERL_ARCH%%/IO/AIO.pm X%%SITE_PERL%%/%%PERL_ARCH%%/IO/autoconf.pm X%%SITE_PERL%%/%%PERL_ARCH%%/auto/IO/AIO/.packlist X%%SITE_PERL%%/%%PERL_ARCH%%/auto/IO/AIO/AIO.bs X%%SITE_PERL%%/%%PERL_ARCH%%/auto/IO/AIO/AIO.so X@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/IO/AIO X@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/IO X@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/IO END-of-p5-IO-AIO/pkg-plist echo x - p5-IO-AIO/distinfo sed 's/^X//' >p5-IO-AIO/distinfo << 'END-of-p5-IO-AIO/distinfo' XMD5 (IO-AIO-2.2.tar.gz) = 373af7475b9097a16aebcc82242cabae XSHA256 (IO-AIO-2.2.tar.gz) = cecdc7332f7c8272ec26364ba4c4cfd1ded9ad098623928ef45950fedb7450c9 XSIZE (IO-AIO-2.2.tar.gz) = 66607 END-of-p5-IO-AIO/distinfo exit --- p5-IO-AIO-2.2.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061209121239.732FA8D>