Indexamajig should exec after fork
Indexamajig does something naughty in creating its worker processes: it calls fork
and carries on without calling exec
. Technically, this is not allowed - only async-safe calls are allowed between fork
and exec
. So far, we get away with this because none of the libraries create any threads or locks that might conflict. However, this might change at any time.
Instead, indexamajig should replace the entire process image with exec
, and carry across only the necessary resources (file descriptors and shared memory). Or, use a different API such as posix_spawn
.
Changing this will need a big effort (though, not that big). Or, just leave it because it's good enough for Python?