On 02/14/2012 10:24 AM, Stefan Hajnoczi wrote:
setjmp() followed by return is usually bad. We're relying on the fact that the return code path here does not clobber local variables 'self' and 'co'. Can't we longjmp out back to the coroutine_new() function instead?
http://www.gnu.org/software/pth/rse-pmt.ps covers this. Basically, this turned out to be more portable than longjmp from a signal handler.
Paolo