Killing threads

Daniel Franke dfoxfranke at
Tue Sep 27 19:34:46 UTC 2016

On 9/27/16, Gary E. Miller <gem at> wrote:
> On Tue, 27 Sep 2016 15:16:55 -0400
> Daniel Franke <dfoxfranke at> wrote:
>> But in that case, what's the point of using signals?
> So the user can also niely terminate a thread.  Or so a system shutdown
> can nicely terminate the thread.Or if the msater thread already crashed.
> Or the thread is stuck in an infinite loop and not checking the shutdown
> condition variable.  Or the thread is stuck in a system call that is
> not returning.  Or...

In the first two cases you just want to kill the entire process. So
the user (or initd) sends a signal to the process, and the signal
handler calls exit(2) and every thread terminates at once, thus
there's no concern about inconsistency because the whole heap is
getting deallocated. In all the latter cases, you might *wish* you
could just kill one thread, but nonetheless killing the whole process
is the only safe course of action because your heap is trashed and
there's no reliable way to repair it.

More information about the devel mailing list