#ignore child processes to prevent zombies $SIG{CHLD} = 'IGNORE'; #### threads->create ("read_data", $queue, $connection)->detach; #### sub read_data { # accept data from the socket and put it on the queue my ($queue, $socket) = @_; while (<$socket>) { print "listener got: $_"; $queue -> enqueue(time." $_"); } close $socket; }