Yes -- using longjmp() would require you to first clean up all allocated resources (otherwise you'd leak a bunch of stuff on every "restart"). The logic involved in doing this is going to be basically the same logic as returning normally back up the call stack in the first place.
Another silly method would be to re-exec() yourself. Actually, depending on the context (which is still completely unclear), that might not be such a bad option.


