The SyncEvent class
(PECL sync >= 1.0.0)
A cross-platform, native implementation of named and unnamed event objects. Both automatic and manual event objects are supported.
An event object waits, without polling, for the object to be fired/set. One instance waits on the event object while another instance fires/sets the event. Event objects are useful wherever a long-running process would otherwise poll a resource (e.g. checking to see if uploaded data needs to be processed).