26 lines (16 with data), 1.5 kB
Road map:
unique timestamps (no two equal timestamps supplied): use a date like expression
to describe the sequence; for example:
%I%M%S
produces: 213105 213106 213209 ... but not: 213105 213105 even if two clients
ask for a unique timestamp during the same second (the second client will wait)
fix PHP for Ubuntu 16.04, see https://github.com/tiian/flom/issues/5
implement a loop for connect/bind if bind returns an error: this should help
to reduce the race condition between a closing daemon and a starting client.
See this thread: https://github.com/tiian/flom/issues/3
"object" resources with a state, a memory area, managed by FLoM to transform it in a "state manager" other than a "lock manager"; for flom client, the object will be dumped/restored to/from file
"vector" resources with an associative array of memory areas, managed by FLoM (evolution of "object"; for flom client, the vector will be dumped/restored to/from a zip file or a directory
RESTful interface implemented using Mongoose (?)
replace poll custom based implementation with libevent... (is it interesting?)
put inside function flom_accept_loop_chklockers a check if the thread associated to the locker is really active; if the thread leaved (due to an error), make a clean-up phase. This avoid a daemon crash after a thread terminated with an error, but listener thread has a "locker object" already active
implement FIFO, LIFO, FIRST FIT (for numerical resources) lock allocation policies