Further info... Based on a suggestion from Bill, I moved that nested call to just after the call to fork(), and that *also* eliminated the problem, provided I added another call level. So it would appear that the register window problem may be related to fork(), and not to sigreturn as I suspected.