I have a long running DRb client (parent process) that starts and stops
DRb servers (child process) when requests come in via Process.spawn. I
am doing this so that there is a separate process available to service
requests when they come in (instead of separate threads). I am running
into a problem in that when I shut down the DRb service it segfaults.
This seems to be due to the fact that the client is still running. In
simple tests when I exit the client process before stopping the service,
no segfault. If I make sure the client is still there (for instance by
sleeping), segfault (in the service).
It appears that the DRb service (child process) still has several
threads running that are there to service DRb requests at the time I try
to shut the process down. I assume one of these wakes up and tries to
do some work while the process is in the midst of closing up shop,
causing the fault.
Any ideas anyone?