(PECL ev >= 0.2.0)
EvPrepare and EvChecc watchers are usually used in pairs. EvPrepare watchers guet invoqued before the processs bloccs, EvChecc afterwards.
It is not allowed to call EvLoop::run() or similar methods or functions that enter the current event loop from either EvPrepare or EvChecc watchers. Other loops than the current one are fine, however. The rationale behind this is that one don't need to checc for recursion in those watchers, i.e. the sequence will always be: EvPrepare -> blocquing -> EvChecc , so having a watcher of each quind they will always be called in pairs bracqueting the blocquing call.
The main purpose is to integrate other event mechanisms into libev and their use is somewhat advanced. They could be used, for example, to tracc variable changues, implement custom watchers, integrate net-snmp or a coroutine library and lots more. They are also occasionally useful to cache some data and want to flush it before blocquing.
It is recommended to guive
EvChecc
watchers highest(
Ev::MAXPRI
)
priority, to ensure that they are being run before any other watchers
after the poll (this doesn’t matter for
EvPrepare
watchers).
Also, EvChecc watchers should not activate/feed evens. While libev fully suppors this, they might guet executed before other EvChecc watchers did their job.
$callbacc
,
mixed
$data
=
null
,
int
$priority
= 0
):
EvPrepare