marzenia się spełniają Login
X
Login: 
Password: 

Фотоальбомы / Fotoalbumy
  Тайм-аут
13.07.2010 15:54

Проблема
Вы хотите гарантировать, что продолжительность некоторой операции не превышает заданный промежуток времени. Допустим, вы проводите архивацию файловой системы и хотите прервать ее, если она затянется более чем на час. Или вы хотите, чтобы через час произошло некоторое событие.
Решение
Чтобы прервать затянувшуюся операцию, используйте обработчик SIGALRM и вызовите в нем die. Установите таймер функцией alarm и включите код в eval:

$SIG{ALRM} = sub { die "timeout" };
eval {
  alarm(3600);
  # Продолжительные операции alarm(O);
}
if ($@) {
  if ($@ =~ /timeout/) {
    # Тайм-аут; сделайте то, что считаете нужным
  } else {
    die; # Передать дальше неожиданное исключение
  }
}
THUD XYZZY PLUGH FRED WALDO GARPLY
GRAULT CORGE QUUZ QUX BAZ BAR FOO

Już dostępnie

Tagi


Linki zewnętrzne


Moje ostatnie projekty


Inne projekty na tej stronie


Projekty na obcych stronach

Valid XHTML 1.0 Transitional

Valid CSS!

проверить ip адрес


Copyright © 1998-2010 Serż Minus. All rights reserved