1# test EOPNOTSUPP for splicing from listen socket
2
3use strict;
4use warnings;
5use IO::Socket;
6use BSD::Socket::Splice "SO_SPLICE";
7
8our %args = (
9    errno => 'EOPNOTSUPP',
10    func => sub {
11	my $s = IO::Socket::INET->new(
12	    Proto => "tcp",
13	    Listen => 1,
14	) or die "socket failed: $!";
15
16	my $ss = IO::Socket::INET->new(
17	    Proto => "tcp",
18	) or die "socket splice failed: $!";
19
20	$s->setsockopt(SOL_SOCKET, SO_SPLICE, pack('i', $ss->fileno()))
21	    and die "splice from listen socket succeeded";
22    },
23);
24