diff options
-rw-r--r-- | dist/IO/lib/IO/Socket.pm | 2 | ||||
-rw-r--r-- | dist/IO/t/cachepropagate-tcp.t | 1 | ||||
-rw-r--r-- | dist/IO/t/cachepropagate-unix.t | 1 |
3 files changed, 2 insertions, 2 deletions
diff --git a/dist/IO/lib/IO/Socket.pm b/dist/IO/lib/IO/Socket.pm index 529423b5fd..5d4b19e2ab 100644 --- a/dist/IO/lib/IO/Socket.pm +++ b/dist/IO/lib/IO/Socket.pm @@ -249,6 +249,8 @@ sub accept { $peer = accept($new,$sock) or return; + ${*$new}{$_} = ${*$sock}{$_} for qw( io_socket_domain io_socket_type io_socket_proto ); + return wantarray ? ($new, $peer) : $new; } diff --git a/dist/IO/t/cachepropagate-tcp.t b/dist/IO/t/cachepropagate-tcp.t index 6bc2efed91..b9104bba09 100644 --- a/dist/IO/t/cachepropagate-tcp.t +++ b/dist/IO/t/cachepropagate-tcp.t @@ -43,7 +43,6 @@ SKIP: { my $new = $listener->accept(); - local $TODO = "this information isn't cached for accepted sockets"; is($new->sockdomain(), $d, 'domain match'); SKIP: { skip "no Socket::SO_PROTOCOL", 1 if !defined(eval { Socket::SO_PROTOCOL }); diff --git a/dist/IO/t/cachepropagate-unix.t b/dist/IO/t/cachepropagate-unix.t index 3e3a73ab2f..2f8c55e1f8 100644 --- a/dist/IO/t/cachepropagate-unix.t +++ b/dist/IO/t/cachepropagate-unix.t @@ -47,7 +47,6 @@ SKIP: { my $new = $listener->accept(); - $TODO = "this information isn't cached for accepted sockets"; is($new->sockdomain(), $d, 'domain match'); SKIP: { skip "no Socket::SO_PROTOCOL", 1 if !defined(eval { Socket::SO_PROTOCOL }); |