<?php $loop = uv_default_loop(); $timer = uv_timer_init(); $i = 0; uv_timer_start($timer, 1000, 1000, function ($stat) use(&$i, $timer, $loop) { echo "count: {$i}" . PHP_EOL; $i++; if ($i > 3) { uv_timer_stop($timer); uv_unref($timer); } }); uv_run(); echo "finished";
<?php $loop = uv_default_loop(); $idle = uv_idle_init(); $i = 0; uv_idle_start($idle, function ($stat) use(&$i, $idle, $loop) { echo "count: {$i}" . PHP_EOL; $i++; if ($i > 3) { uv_idle_stop($idle); uv_unref($idle); } sleep(1); }); uv_run(); echo "finished";
public function clearInterval($interval_id) { uv_timer_stop($interval_id); uv_unref($interval_id); }
private function disablePollFromWatcher($watcher) { $poll = $watcher->poll; $watcherId = $watcher->id; unset($poll->readers[$watcherId], $poll->writers[$watcherId]); $poll->disable[$watcherId] = $watcher; if ($watcher->keepAlive) { \uv_unref($poll->handle); } if (!($poll->readers || $poll->writers)) { \uv_poll_stop($poll->handle); return; } // If we're still here we may need to update the polling flags $newFlags = 0; if ($poll->readers) { $newFlags |= \UV::READABLE; } if ($poll->writers) { $newFlags |= \UV::WRITABLE; } if ($poll->flags != $newFlags) { $poll->flags = $newFlags; \uv_poll_start($poll->handle, $newFlags, $poll->callback); } }
<?php $loop = uv_default_loop(); $prepare = uv_prepare_init($loop); uv_prepare_start($prepare, function ($rsc, $status) { echo "Hello"; uv_unref($rsc); }); uv_run();