NAME
Coro::PatchSet::Socket - fix Coro::Socket as much as possible
SYNOPSIS
use Coro::PatchSet::Socket;
# or
# use Coro::PatchSet 'socket';
use Coro;
async { ... }
PATCHES
timeout
In the current Coro::Socket implementation internal io_socket_timeout
variable is not defined. But this variable exists in the IO::Socket::INET objects, which Coro::Socket tries to emulate. And many modules relies on the value of this variable. One of this is LWP::UserAgent, so without this variable timeout in the LWP requests will not work. This patch defines this variable with the value specified in the Timeout
constructor option. See t/03_socket_timeout.t
connect
In the current Coro::Socket implementation Coro::Socket->new(PeerAddr => $a, PeerPort => $p) always returns Coro::Socket object, even if connection was not successfull. But in fact it should return undef if fail occured. So, after this patch Coro::Socket constructor will always return proper value. See t/04_socket_connect.t
inheritance
In the current Coro::Socket implementation Coro::Socket handles PeerAddr argument in the constructor. This is not compatible with IO::Socket::INET implementation where all arguments handled inside configure(). Because of this some classes inherited from Coro::Socket which defines PeerAddr only inside configure() may not work. See t/06_socket_inherit.t
SEE ALSO
Coro::PatchSet, Coro::PatchSet::Handle
COPYRIGHT
Copyright Oleg G <oleg@cpan.org>.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.