Use self pipes for signals.

So that the detail file "reply" code doesn't call the "read"
code from a child thread