ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/lib/AnyEvent.pm
(Generate patch)

Comparing AnyEvent/lib/AnyEvent.pm (file contents):
Revision 1.224 by root, Fri Jul 3 21:44:14 2009 UTC vs.
Revision 1.229 by root, Wed Jul 8 02:01:12 2009 UTC

176=head2 I/O WATCHERS 176=head2 I/O WATCHERS
177 177
178You can create an I/O watcher by calling the C<< AnyEvent->io >> method 178You can create an I/O watcher by calling the C<< AnyEvent->io >> method
179with the following mandatory key-value pairs as arguments: 179with the following mandatory key-value pairs as arguments:
180 180
181C<fh> is the Perl I<file handle> (I<not> file descriptor) to watch 181C<fh> is the Perl I<file handle> (or a naked file descriptor) to watch
182for events (AnyEvent might or might not keep a reference to this file 182for events (AnyEvent might or might not keep a reference to this file
183handle). Note that only file handles pointing to things for which 183handle). Note that only file handles pointing to things for which
184non-blocking operation makes sense are allowed. This includes sockets, 184non-blocking operation makes sense are allowed. This includes sockets,
185most character devices, pipes, fifos and so on, but not for example files 185most character devices, pipes, fifos and so on, but not for example files
186or block devices. 186or block devices.
968no warnings; 968no warnings;
969use strict qw(vars subs); 969use strict qw(vars subs);
970 970
971use Carp; 971use Carp;
972 972
973our $VERSION = 4.452; 973our $VERSION = 4.8;
974our $MODEL; 974our $MODEL;
975 975
976our $AUTOLOAD; 976our $AUTOLOAD;
977our @ISA; 977our @ISA;
978 978
1123# allow only one watcher per fd, so we dup it to get a different one). 1123# allow only one watcher per fd, so we dup it to get a different one).
1124sub _dupfh($$;$$) { 1124sub _dupfh($$;$$) {
1125 my ($poll, $fh, $r, $w) = @_; 1125 my ($poll, $fh, $r, $w) = @_;
1126 1126
1127 # cygwin requires the fh mode to be matching, unix doesn't 1127 # cygwin requires the fh mode to be matching, unix doesn't
1128 my ($rw, $mode) = $poll eq "r" ? ($r, "<") 1128 my ($rw, $mode) = $poll eq "r" ? ($r, "<") : ($w, ">");
1129 : $poll eq "w" ? ($w, ">")
1130 : Carp::croak "AnyEvent->io requires poll set to either 'r' or 'w'";
1131 1129
1132 open my $fh2, "$mode&" . fileno $fh 1130 open my $fh2, "$mode&", $fh
1133 or die "cannot dup() filehandle: $!,"; 1131 or die "AnyEvent->io: cannot dup() filehandle in mode '$poll': $!,";
1134 1132
1135 # we assume CLOEXEC is already set by perl in all important cases 1133 # we assume CLOEXEC is already set by perl in all important cases
1136 1134
1137 ($fh2, $rw) 1135 ($fh2, $rw)
1138} 1136}
1470 1468
1471=item C<PERL_ANYEVENT_MAX_FORKS> 1469=item C<PERL_ANYEVENT_MAX_FORKS>
1472 1470
1473The maximum number of child processes that C<AnyEvent::Util::fork_call> 1471The maximum number of child processes that C<AnyEvent::Util::fork_call>
1474will create in parallel. 1472will create in parallel.
1473
1474=item C<PERL_ANYEVENT_MAX_OUTSTANDING_DNS>
1475
1476The default value for the C<max_outstanding> parameter for the default DNS
1477resolver - this is the maximum number of parallel DNS requests that are
1478sent to the DNS server.
1479
1480=item C<PERL_ANYEVENT_RESOLV_CONF>
1481
1482The file to use instead of F</etc/resolv.conf> (or OS-specific
1483configuration) in the default resolver. When set to the empty string, no
1484default config will be used.
1485
1486=item C<PERL_ANYEVENT_CA_FILE>, C<PERL_ANYEVENT_CA_PATH>.
1487
1488When neither C<ca_file> nor C<ca_path> was specified during
1489L<AnyEvent::TLS> context creation, and either of these environment
1490variables exist, they will be used to specify CA certificate locations
1491instead of a system-dependent default.
1475 1492
1476=back 1493=back
1477 1494
1478=head1 SUPPLYING YOUR OWN EVENT MODEL INTERFACE 1495=head1 SUPPLYING YOUR OWN EVENT MODEL INTERFACE
1479 1496

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines