Yo Daniel!

On Tue, 27 Sep 2016 15:16:55 -0400
Daniel Franke <[email protected]> wrote:

> On 9/27/16, Gary E. Miller <[email protected]> wrote:
> > There is more than one way to 'kill' a thread.  The nice way is to
> > 'kill -HUP', which politely tells the thread to commit seppuku in
> > the cleanest way the thread knows how.  
> 
> Sure, but the default signal handler for that just terminates the
> thread immediately and leaves it in a likely-unsafe state. A thread
> can install its own signal handler, but the only safe/sane way to
> implement one is to have the handler set a condition variable
> which the thread then checks for periodically and cleans up if it
> finds it set.

Yes.

> 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...

> Just have the parent thread set the condition variable directly,
> then join on the child and wait while it cleans up.

As a start, yes, but that leaves unsolved the other important cases I
just stated.

RGDS
GARY
---------------------------------------------------------------------------
Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703
        [email protected]  Tel:+1 541 382 8588

Attachment: pgpm9XMA31cO9.pgp
Description: OpenPGP digital signature

_______________________________________________
devel mailing list
[email protected]
http://lists.ntpsec.org/mailman/listinfo/devel

Reply via email to