… | |
… | |
16 | |
16 | |
17 | =cut |
17 | =cut |
18 | |
18 | |
19 | package Coro::Socket; |
19 | package Coro::Socket; |
20 | |
20 | |
21 | no warnings qw(uninitialized); |
21 | BEGIN { eval { require warnings } && warnings->unimport ("uninitialized") } |
22 | |
22 | |
23 | use Errno (); |
23 | use Errno (); |
24 | use Carp qw(croak); |
24 | use Carp qw(croak); |
25 | use Socket; |
25 | use Socket; |
26 | |
26 | |
27 | use Coro::Util (); |
27 | use Coro::Util (); |
28 | |
28 | |
29 | use base 'Coro::Handle'; |
29 | use base 'Coro::Handle'; |
30 | |
30 | |
31 | $VERSION = 0.7; |
31 | $VERSION = 0.8; |
32 | |
32 | |
33 | sub _proto($) { |
33 | sub _proto($) { |
34 | $_proto{$_[0]} ||= do { |
34 | $_proto{$_[0]} ||= do { |
35 | ((getprotobyname $_[0])[2] || (getprotobynumber $_[0])[2]) |
35 | ((getprotobyname $_[0])[2] || (getprotobynumber $_[0])[2]) |
36 | or croak "unsupported protocol: $_[0]"; |
36 | or croak "unsupported protocol: $_[0]"; |