facil.io v0.6.0 Release Notes
-
๐ Version 0.6.0 is a major release, changing much of the extension API (HTTP, pub/sub, CLI) and some of the core API (i.e., moving the evio polling from level-triggered to one-shot polling, a rewrite to the facil.io dynamic object types FIOBJ, and more).
๐ The following updates are included in this release (in addition to the beta updates):
๐ Fix: (
pubsub
) Fixed an issue where deferred pub/sub messages would haveudata2
set toudata1
instead of the actual correct value.๐ Fix: (
facil
) Fixed thefacil_is_running()
function, which could crash if facil.io wasn't initialized before the function was called.๐ Fix: (
facil
) Fix CPU limit detection. Negative values are now meaningful (fraction of CPU cores, so -2 == cores/2). Zero values are replaced by facil.io.โก๏ธ Update: (
facil
) Hot restart is now available for cluster mode. By sending theSIGUSR1
signal to the program, facil.io will shutdown any worker processes and re-spawn new workers, allowing for a hot restart feature. Disable usingFACIL_DISABLE_HOT_RESTART
โก๏ธ Update: (
facil
) Dedicated system mode can be toggled by setting theFIO_DEDICATED_SYSTEM
macro during compile time. WhenFIO_DEDICATED_SYSTEM
is set, facil.io will assume all the CPU cores are available and it will activate threads sooner. WhenFIO_DEDICATED_SYSTEM
is defined as 0, facil.io will limit thread to protect against slow user code (rather than attempt concurrent IO).โก๏ธ Update: (
fio_mem
) replaced the double linked list logic with a single linked list to make the library more independent as well as reduce some operations.๐จ As well as some refactoring and minor adjustments.