I have a simple program that connects a program's stdin, stdout and stderr to a socket, like this,
go func() {
defer conn.Close();
defer stdin.Close();
io.Copy(stdin, conn);
}();
go func() {
defer conn.Close();
defer stdout.Close();
defer stderr.Close();
io.Copy(conn, stdout);
io.Copy(conn, stderr);
}();
select{}
I have two problems,
select{}
select{}
loop if that happens.Any ideas?
If connection is closed, io.Copy()
will return (0, io.EOF)
, so you can check it.