This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: longjmp()/setjmp() difference between gcc 3.3 (Apple) and gcc 3.4.x



> 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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]