По умолчанию, событие в статусе ожидания становится активным, когда файловый дескриптор события становится доступен для записи или чтения, или истёк период ожидания. Статус ожидания снимается с события непосредственно перед запуском callback-функции события. Поэтому из callback-функции события на событии вызывают метод Event::add(), чтобы снова перевести событие в статус ожидания.
  Событие становится постоянным,
  если на событии установили флаг Event::PERSIST.
  Это означает, что событие остаётся в статусе ожидания, даже если
  запущена callback-функция события.
  Флаг постоянного снимают с события путём
  вызова на событии метода Event::del().
 
  Время ожидания постоянного события сбрасывается каждый раз, когда запускается
  callback-функция события. Поэтому, если для события установили флаги
  Event::READ
  |
  Event::PERSIST и время ожидания равно 5 секундам,
  событие станет активно в следующих случаях:
 
Каждый раз, когда сокет или дескриптор файла готов к чтению.
Каждый раз, когда прошли пять секунд с момента последнего события.
Дополнительную информацию даёт раздел «» Быстрое переносимое неблокирующее сетевое программирование с Libevent, о постоянных событиях».
