http://www.perlmonks.org?node_id=947017


in reply to TCP Socket and Serial Port

Your description of the problem is not especially clear for me, but I see that you're accessing single serial port from multiple threads without any synchronization, so I'm not surprised you have a problem. Only one client may write into serial port at a time, so I'd recommend you rewrite this script without threads, it would be much less code to debug then. Also, if you would add error checks after IO operations, it could help to find the problem too. E.g. instead of:

print $lclient "$lpeer -> Welcome\n\r"; # it will never be sended!
you can write
print $lclient "$lpeer -> Welcome\n\r" or die "Send failed because: $! +";