[ExtractorProcess] Handle extractor process crashes even when DrKonqi messes up process signals
DrKonqui catches the SIGSEGV or SIGILL from a misbehaving extractor,
and then eventually quits the process. This may happen either by
re-raising the signal, or just are regular _exit(253)
.
Which one is used depends on the kernel /proc/sys/kernel/core_pattern
setting - if it uses a pipe, the signal will be reraised, otherwise
the parent process sees only a regular exit (QProcess::NormalExit
).
The unexpected exit status was not handled before, and could cause
a blocking indexer, as neither a done()
or failed()
signal would
ever be emitted.
This also causes the list of failed files to stay empty, i.e.
balooctl failed
would not return anything.