ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/IO-AIO/AIO.pm
(Generate patch)

Comparing IO-AIO/AIO.pm (file contents):
Revision 1.78 by root, Thu Oct 26 12:38:04 2006 UTC vs.
Revision 1.79 by root, Thu Oct 26 14:35:34 2006 UTC

874This module automatically runs C<max_parallel 0> at program end, to ensure 874This module automatically runs C<max_parallel 0> at program end, to ensure
875that all threads are killed and that there are no outstanding requests. 875that all threads are killed and that there are no outstanding requests.
876 876
877Under normal circumstances you don't need to call this function. 877Under normal circumstances you don't need to call this function.
878 878
879=item $oldnreqs = IO::AIO::max_outstanding $nreqs 879=item $oldmaxreqs = IO::AIO::max_outstanding $maxreqs
880 880
881[REMOVED] 881This is a very bad function to use in interactive programs because it
882blocks, and a bad way to reduce concurrency because it is inexact: Better
883use an C<aio_group> together with a feed callback.
882 884
883Pre-2.x versions used max_outstanding for a crude request queue length limit.
884
885In 2.x+ you are advised to use a group and a feeder to limit
886concurrency. The max_outstanding feature ran very unstable (endless
887recursions causing segfaults, bad interaction with groups etc.) and was
888removed.
889
890I am deeply sorry, but I am still on the hunt for a good limiting interface.
891
892Original description was as follows:
893
894Sets the maximum number of outstanding requests to C<$nreqs>. If you try 885Sets the maximum number of outstanding requests to C<$nreqs>. If you
895to queue up more than this number of requests, the caller will block until 886to queue up more than this number of requests, the next call to the
896some requests have been handled. 887C<poll_cb> (and C<poll_some> and other functions calling C<poll_cb>)
888function will block until the limit is no longer exceeded.
889
890The default value is very large, so there is no practical limit on the
891number of outstanding requests.
892
893You can still queue as many requests as you want. Therefore,
894C<max_oustsanding> is mainly useful in simple scripts (with low values) or
895as a stop gap to shield against fatal memory overflow (with large values).
897 896
898=back 897=back
899 898
900=cut 899=cut
901 900

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines