The problem is the
wait = yes option. For TCP connections xinetd seems to try and pass sockets around, instead of starting the server and redirecting STDIN/STDOUT.
Set
wait = no for TCP streams. This is what I did to fix this exact same problem I was having. Below is my final configuration in
/etc/xinetd.d/myservice:
Code:
service mycustomservice
{
disable = no
type = UNLISTED
server = /home/askmemyname/myservice.pl
id = mycustomservice-stream
socket_type = stream
protocol = tcp
user = root
wait = no
port = 12345
}