in reply to Re: Does Net::Ping have concurrency issues?
in thread Does Net::Ping have concurrency issues?

I guess Net::Ping tracks the responses by PID.
No, not exactly. Net::Ping opens a socket, which is like a file descriptor. The socket is bound to a given port in the chosen protocol. When you fork, the socket (like any file descriptor) is shared by the children. When a ping response comes back, the operating system network driver looks at the port number in the packet to determine where to put the data. All your processes are trying to read the same port, but only one is going to get it.
  • Comment on Re: Re: Does Net::Ping have concurrency issues?