while (1) { my $client = $server->accept() ; if (!defined($client)) { ... can do things when accept() times out ... next ; } ; ... prepare to launch thread ... my $thr = threads->new(\&processit, $client)->detach(); } ;