написал многопоточный скрипт, иногда бывают ситуации что потоки вылетают, написал кодес перезапуска потоков если количество меньше первоначально-заданного, но он не срабатывает, в чем может быть дело?
Код:
# проверяем вдруг какие-то потоки сдохли
$thr_cnt = threads->list();
share($thr_cnt);
if ($thr_cnt < $threads)
{
$cnt = $threads - $thr_cnt;
threads->new(\&start) for (1..$cnt);
&log("[+] NEW THREAD ADDED BECAUSE OLD ONE IS GAY-THREAD\n");
}