The way I read Alexandre's answer to 1088, it hasn't been accepted because avoiding the crashes just isn't worth the extra complication. I'm inclined to agree with that assessment, because the crashes don't do any more harm than printing errors to the console. Along similar lines, I think that avoiding the crashes isn't worth the extra complication that results from not using libc functions.
Actually I very much think we should avoid the crashes, but I'd rather do that by not using troublesome Unix functions. In particular, creating threads on the Unix side is ugly and should be avoided at all costs IMNSHO.
SIGKILL is ugly, sure, but it's ugly because we're killing processes. It's fundamentally no uglier than TerminateProcess().
We can't use SIGKILL because it doesn't allow setting the exit code.