apertium-apy
apertium-apy copied to clipboard
keep track of all flushing-processes started in apy?
(moved from https://sourceforge.net/p/apertium/tickets/78/ )
Currently, we only keep track of the pids of the "ends" of flushing pipelines (inpipe, outpipe), not the whole group.
If part of a language pair pipeline crashes on startup, the rest of the pipeline may simply hang (and leave the request hanging). Of course this might mean there's a serious bug in the core tools (or language data was compiled for the wrong version), but it'd be nice if APY were more robust here.
One possible way of mitigating this might be to store pids of all started procs in the FlushingPipeline object, and then in the cleanup function go through pipelines_holding and stop all procs of any pipeline which hasn't been used in over a minute.