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