1# test relay closes stdin after relaying some data
2
3use strict;
4use warnings;
5
6our %args = (
7    client => {
8	func => sub { errignore(@_); write_stream(@_); },
9	len => 2**30,  # not reached
10	sndbuf => 2**10,  # small buffer triggers error during write
11	# the error message seems to be timing dependent
12	down => "Client print failed: (Broken pipe|Connection reset by peer)",
13	nocheck => 1,
14	error => 54,
15    },
16    relay => {
17	func => sub { errignore(@_); $SIG{ALRM} = sub { close STDIN };
18	  alarm(3); relay(@_); },
19	rcvbuf => 2**10,
20	sndbuf => 2**10,
21	down => "Bad file descriptor",
22	nocheck => 1,
23	errorin => "",
24    },
25    server => {
26	rcvbuf => 2**10,
27	nocheck => 1,
28    },
29);
30