On Jun 2, 2012, at 10:23 AM, Alexander Burger wrote:
> Hi Henrik,
>> I don't know if the boss function might be of help to you? It helped
>> me in order for the current forked instance of the web server to be
> That's right.
> But I'd like to point out (again) that 'boss' must be used with absolute
> care. It executes expressions in the parent process, but the parent
> process is the central coordinator for child synchronization and IPC. It
> should always be as responsive as possible (because otherwise all
> children might be slowed down or even blocked), and it should never!
In my situation, a crash is not a big deal. Just reinvoke the command.
As for IPC, I don't foresee any commutication between processes (besides the
need to communicate the results back).
> A crashing or blocking child process, on the other hand, doesn't do any
> harm to the rest of the system. Therefore, I strongly recommend to do
> any database modifications in a child process, as is the standard setup
> in all PicoLisp examples.
> Another reason for not putting any load on the parent process is: If the
> parent starts to do non-trivial work, it will increase its heap size. In
> the following, all fork'ed child processes will inherit this heap,
> including possible temporary data and cached objects. It is difficult
> then go get a predictable behavior.
This could be a good reason though, but perhaps I can avoid growing the heap in
that process with some manual GCs.
I'll also experiment with Henrik's suggestion.