it fully passes the GNU timeout regression tests, it is written in a mostly portable way (only signal parsing is relying on non portable structures) Phabric: D377