longjmp()/setjmp() difference between gcc 3.3 (Apple) and gcc 3.4.x
Remy Martin
vsxo@hotmail.com
Sun Jan 23 04:34:00 GMT 2005
> > setjmp() needs to be called only once, I think..
>
>Incorrect. Once you leave the frame in which setjmp was called,
>the contents of the jmpbuf become invalid.
Hmm. This explains my observation on the counter variable, but the (forced)
jump itself is executed correctly. Can that be because setjmp's frame was
called in a loop doing hardly anything else, so that the jmpbuf contents
remained largely valid?
Or can I take your remark to mean that if I call the function that does the
setjmp (contains the jump target) from my main(), the jmpbuf will remain
valid?
R.
More information about the Gcc
mailing list