On 14/12/10 18:20, Paul Eggert wrote: > On 14/12/10 09:55, Jim Meyering wrote: >> It'd be a shame to make everyone sleep even one second for NFS. > > Well, it is marked as an _expensive_ test. :-) > > On 12/14/10 02:07, Pádraig Brady wrote: >> If the subprocesses were reparented to the shell, >> then one could just `wait`. > > I don't know how to do reparenting like that.
Me neither. I don't know why I thought they might be reparented to the grand parent. > But this raises a > more general issue: is it OK that when 'sort' is interrupted and > exits, that it does not kill off its children? That is, it relies on > compressors nicely exiting (because 'sort' exits and they read EOF), > and it relies on decompressors nicely exiting (because they write to a > dangling pipe and get SIGPIPE or a write failure). If either > assumption is false, 'sort' will leave behind orphan processes that > never exit. To handle this, you'd have to do something like what `timeout` does. It creates a process group, so that if you kill it, you kill everything underneath. This could be handy in test scripts actually to kill everything in a timely manner, by just killing a timeout process. Your test script is fine as is though. > > I'm sort of inclined to say that's OK, Definitely agreed, considering the type of processes invoked. cheers, Pádraig.