首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

EvSignal (class)

Introduction

(PECL ev >= 0.2.0)

EvSignal watchers will trigger an event when the process receives a specific signal one or more times. Even though signals are very asynchronous, libev will try its best to deliver signals synchronously, i.e. as part of the normal event processing, like any other event.

There is no limit for the number of watchers for the same signal, but only within the same loop, i.e. one can watch for SIGINT in the default loop and for SIGIO in another loop, but it is not allowed to watch for SIGINT in both the default loop and another loop at the same time. At the moment, SIGCHLD is permanently tied to the default loop.

If possible and supported, libev will install its handlers with SA_RESTART (or equivalent) behaviour enabled, so system calls should not be unduly interrupted. In case of a problem with system calls getting interrupted by signals, all the signals can be blocked in an EvCheck watcher and unblocked in a EvPrepare watcher.

Class synopsis

EvSignal extends EvWatcher {

/* Properties */

public $signum ;

/* Inherited properties */

public $is_active ;

public $data ;

public $is_pending ;

public $priority ;

/* Methods */

代码语言:javascript
复制
public __construct (  int $signum  ,  callable $callback  [,  mixed $data  = NULL  [,  int $priority  = 0  ]] )
代码语言:javascript
复制
final public static EvSignal createStopped (  int $signum  ,  callable $callback  [,  mixed $data  = NULL  [,  int $priority  = 0  ]] )
代码语言:javascript
复制
public void set (  int $signum  )

/* Inherited methods */

代码语言:javascript
复制
public int EvWatcher::clear ( void )
代码语言:javascript
复制
abstract public EvWatcher::__construct ( void )
代码语言:javascript
复制
public void EvWatcher::feed (  int $revents  )
代码语言:javascript
复制
public EvLoop EvWatcher::getLoop ( void )
代码语言:javascript
复制
public void EvWatcher::invoke (  int $revents  )
代码语言:javascript
复制
public bool EvWatcher::keepalive ([  bool $value  ] )
代码语言:javascript
复制
public void EvWatcher::setCallback (  callable $callback  )
代码语言:javascript
复制
public void EvWatcher::start ( void )
代码语言:javascript
复制
public void EvWatcher::stop ( void )

}

Properties

signum

Signal number. See the constants exported by pcntl extension. See also signal(7) man page.

Table of Contents

  • EvSignal::__construct — Constructs EvSignal watcher object
  • EvSignal::createStopped — Create stopped EvSignal watcher object
  • EvSignal::set — Configures the watcher

← EvPrepare::createStopped

EvSignal::__construct →

代码语言:txt
复制
 ? 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com