joe@rb-dc1.UUCP (Joe Hollinger) (08/07/86)
Several weeks ago I posted a note asking for help with trouble we have been having saving / restoring the state of a running program on Gould computers. First, I would like to say thanks to all the people who sent me mail - I never expected such a great response. And second, the winners are....... Both ccvaxa!wombat and ccvaxa!marick correctly reported that when saving an image of an executing program (on gould systems) a flag local to sigvec.s does not get saved. This causes the restored program to jump to an undefined address when it encounters a signal. It seems that this local flag tells the signal handling code weather or not the address of the real signal handler has been initialized. In our case, that address had not been initialized, in the restored program, but the flag indicated it had. Viola, core dump. The solution offered by the folks at ccvaxa involves making the above mentioned flag a global entity, and forcing it to be in the state indicating that the signal handler has not yet been initialized before saving the program. Anyway, it all seemed rather interesting to me. And thanks once again to everyone who contributed. Joe Hollinger