Aarrgghh. I'll interpret that as a gracious way of saying "you busted us, Greg, now fix the damn thing!" I'll take care of it.
The problem arises when the UI goes away while an SMP exec is running - the disappearance of the pipe causes the dxexec process connected to the pipe to go away (proc 1, for some reason, rather than 0), but the others don't see it. Instead, they finish what they are doing, then loop looking for the terminate flag which would have been set by proc 1. If they are hung - or effectively hung, and the user disconnected to get rid of them, they stay hung. So I put in code to interrupt things. When the pipe goes away , proc 1 sends a SIGQUIT to proc 0, which turns around and sends a SIGQUIT to the rest of them. Its using SIGUSR2 now, but it strikes me that a SIGQUIT would be more appropriate. Sorry, Greg
