libpersist is a small library of C++ base classes and templates providing the capability to store and load objects in their entirety across executions. It also provides for object relocation between threads in a NUMA (non-uniform memory access) parallel processing environment. Objects are stored to disk as POD. They are reconstructed when reloaded into memory. Relocation is a special case of persistence, requiring reconstruction after the POD has been moved in memory. After all objects have been relocated, all references to the objects are swizzled (their IDs are resolved to their addresses), so that they can be dereferenced efficiently.
Multi Threaded Daemon - enhanced is a class that implements a daemon that can spawn multiple parallel threads. It includes a sample app to monitor a "queue" directory on the filesystem, and spawns up to "N" child processes to parse individual files from it. It is an enhanced version of the original Multithreaded Daemon class written by Benoit Perroud. This version provides several robustness improvements, adds support for handling signals (SIGTERM, SIGHUP), and a unique PID file to avoid starting multiple instances.
cqueues is a comprehensive event and networking library for Lua 5.2 and LuaJIT using modern Unix O(1) polling facilities. It includes libraries for buffered socket I/O, SSL/TLS sockets, DNS querying, signal handling, threading, file change notification, and X.509 key management. It natively supports Linux, *BSD, OS X, and Solaris systems without third-party dependencies, and is interoperable with any event loop that accepts plain descriptors, or is usable standalone.