Ev EvSignal 클래스

(PECL ev >= 0.2.0)


소개

EvSignal 감시자는 프로세스가 특정 신호를 한 번 이상 수신할 때 이벤트를 트리거합니다. 신호가 매우 비동기적일지라도 libev는 신호를 동기적으로 전달하기 위해 최선을 다할 것입니다. 즉, 다른 이벤트와 마찬가지로 일반 이벤트 처리의 일부입니다.

동일한 신호에 대한 감시자 수에는 제한이 없지만 동일한 루프 내에서만, 즉 기본 루프에서 SIGINT를 감시하고 다른 루프에서 SIGIO를 감시할 수 있지만 두 루프 모두에서 SIGINT를 감시할 수는 없습니다. 기본 루프와 동시에 다른 루프. 현재 SIGCHLD는 기본 루프에 영구적으로 연결되어 있습니다.

가능하고 지원되는 경우 libev는 SA_RESTART(또는 이와 동등한) 동작이 활성화된 처리기를 설치하므로 시스템 호출이 과도하게 중단되지 않아야 합니다. 신호로 인해 시스템 호출이 중단되는 문제가 있는 경우 모든 신호는 EvCheck 감시자에서 차단되고 EvPrepare 감시자에서 차단 해제될 수 있습니다.


클래스 개요

                  
class EvSignal extends EvWatcher {

  /* Properties */
  public $signum;

  /* Inherited properties */
  public $is_active;
  public $data;
  public $is_pending;
  public $priority;

  /* Methods */
  public __construct(
       int $signum ,
       callable $callback ,
       mixed $data = null ,
       int $priority = 0
  )
  final public static createStopped(
       int $signum ,
       callable $callback ,
       mixed $data = null ,
       int $priority = 0
  ): EvSignal
  public set( int $signum ): void

  /* Inherited methods */
  public EvWatcher::clear(): int
  public EvWatcher::feed( int $revents ): void
  public EvWatcher::getLoop(): EvLoop
  public EvWatcher::invoke( int $revents ): void
  public EvWatcher::keepalive( bool $value = ?): bool
  public EvWatcher::setCallback( callable $callback ): void
  public EvWatcher::start(): void
  public EvWatcher::stop(): void
}
                  
                

Properties

signum
신호 번호. pcntl 확장으로 내보낸 상수를 참조하십시오. signal(7) 매뉴얼 페이지도 참조하십시오.

목차