PHPackages                             gos/pnctl-event-loop-emitter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. gos/pnctl-event-loop-emitter

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

gos/pnctl-event-loop-emitter
============================

Pnctl event emitter for event loop

v0.1.7(8y ago)201.2M↓39.4%3[1 issues](https://github.com/GeniusesOfSymfony/PNCTLEventLoopEmitter/issues)MITPHPPHP &gt;=5.4

Since Jun 1Pushed 5y ago3 watchersCompare

[ Source](https://github.com/GeniusesOfSymfony/PNCTLEventLoopEmitter)[ Packagist](https://packagist.org/packages/gos/pnctl-event-loop-emitter)[ Docs](https://github.com/GeniusesOfSymfony/PnctlEventLoopEmitter)[ RSS](/packages/gos-pnctl-event-loop-emitter/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (8)Dependencies (2)Versions (9)Used By (0)

**NOTE** - This repository is no longer maintained

PNCTL Event Loop Emitter
========================

[](#pnctl-event-loop-emitter)

[![Latest Stable Version](https://camo.githubusercontent.com/135bd0dc4b8883952e964ff7db2dfcb7fdf304d937d12b18605c129f186270f8/68747470733a2f2f706f7365722e707567782e6f72672f676f732f706e63746c2d6576656e742d6c6f6f702d656d69747465722f762f737461626c65)](https://packagist.org/packages/gos/pnctl-event-loop-emitter) [![Total Downloads](https://camo.githubusercontent.com/a196b514a722deb089d4fc4cf668741e857374f953d71aa34a5994dd956dfa7e/68747470733a2f2f706f7365722e707567782e6f72672f676f732f706e63746c2d6576656e742d6c6f6f702d656d69747465722f646f776e6c6f616473)](https://packagist.org/packages/gos/pnctl-event-loop-emitter) [![License](https://camo.githubusercontent.com/1305cd25d98434286d68c446da06f95495b6e87e1959d93a171f13d5bd53baed/68747470733a2f2f706f7365722e707567782e6f72672f676f732f706e63746c2d6576656e742d6c6f6f702d656d69747465722f6c6963656e7365)](https://packagist.org/packages/gos/pnctl-event-loop-emitter)

Brings PNCTL event to event loop.

Install
-------

[](#install)

```
composer require gos/pnctl-event-loop-emitter
```

Usage
-----

[](#usage)

```
use React\EventLoop\Factory;
use Gos\Component\PnctlEventLoopEmitter\PnctlEmitter;

$loop = Factory::create();

$pnctlEmitter = new PnctlEmitter($loop);

$pnctlEmitter->on(SIGTERM, function () use ($loop) {
	//do something

	$loop->stop();
});

$pnctlEmitter->on(SIGINT, function () use ($loop) {
	//do something

	$loop->stop();
});

$loop->run();
```

Example
-------

[](#example)

Handle double CTRL+C

```
use React\EventLoop\Factory;
use Gos\Component\PnctlEventLoopEmitter\PnctlEmitter;

$loop = Factory::create();
$pnctlEmitter = new PnctlEmitter($loop);

$pnctlEmitter->on(SIGINT, function () use ($loop) {
	$this->logger->notice('Press CTLR+C again to stop the server');

    if (SIGINT === pcntl_sigtimedwait([SIGINT], $siginfo, 5)) {
        $this->logger->notice('Stopping server ...');

        //Do your stuff to stop the server

        $loop->stop();

        $this->logger->notice('Server stopped !');
    } else {
    	$this->logger->notice('CTLR+C not pressed, continue to run normally');
    }
});

$loop->run();
```

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity45

Moderate usage in the ecosystem

Community14

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 57.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~148 days

Recently: every ~193 days

Total

8

Last Release

2962d ago

PHP version history (2 changes)v0.1.0PHP &gt;=5.3

v0.1.7PHP &gt;=5.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/2697e85bca7c41cb6166cf78dca3156bdbbe7950189f0b958115201dcd9a919a?d=identicon)[ProPheT777](/maintainers/ProPheT777)

---

Top Contributors

[![Prophet777](https://avatars.githubusercontent.com/u/76678181?v=4)](https://github.com/Prophet777 "Prophet777 (4 commits)")[![mbabker](https://avatars.githubusercontent.com/u/368545?v=4)](https://github.com/mbabker "mbabker (2 commits)")[![jjsaunier](https://avatars.githubusercontent.com/u/1763341?v=4)](https://github.com/jjsaunier "jjsaunier (1 commits)")

---

Tags

event-loopreactphpPnctl

### Embed Badge

![Health badge](/badges/gos-pnctl-event-loop-emitter/health.svg)

```
[![Health](https://phpackages.com/badges/gos-pnctl-event-loop-emitter/health.svg)](https://phpackages.com/packages/gos-pnctl-event-loop-emitter)
```

###  Alternatives

[react/stream

Event-driven readable and writable streams for non-blocking I/O in ReactPHP

689126.8M194](/packages/react-stream)[react/react

ReactPHP: Event-driven, non-blocking I/O with PHP.

9.1k3.6M63](/packages/react-react)[react/child-process

Event-driven library for executing child processes with ReactPHP.

34076.1M136](/packages/react-child-process)[react/event-loop

ReactPHP's core reactor event loop that libraries can use for evented I/O.

1.3k139.6M664](/packages/react-event-loop)[react/promise-timer

A trivial implementation of timeouts for Promises, built on top of ReactPHP.

34141.9M96](/packages/react-promise-timer)[clue/reactphp-eventsource

Instant real-time updates. Lightweight EventSource client receiving live messages via HTML5 Server-Sent Events (SSE). Fast stream processing built on top of ReactPHP's event-driven architecture.

5818.5k3](/packages/clue-reactphp-eventsource)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
