[net.micro.mac] LightSpeedC setjmp/longjmp question

u557676751ea@ucdavis.UUCP (Mark Nagel) (10/24/86)

    I have a program I am writing in LightspeedC that uses setjmp/longjmp and
it doesn't seem to work, since whenever the longjmp executes, the system breaks
to the debugger with:
ILL GLBL

    The program looks like:

    #include <setjmp.h>

    jmp_buf accvio_env;

    map(va)
    long va;
    {
	if (illegal(va))
	    longjmp(accvio_env,-1);
	/* more stuff */
    }


    icycle()
    {
	if (setjmp(accvio_env) < 0)
	    goto accvio_handler;

	/* more stuff */
    }

The function icycle is always called first and it is the only function that
calls map.  I wrote the same code on VMS VAX C 2.1 and it worked fine.  Does
anyone know if this is a known bug or something?  I called THINK and Steve Stein
said he would check it out for me.  I just wanted to see if anyone knew anything
about this problem (or is it *my* problem?)



- Mark Nagel


ucdavis!deneb!u557676751ea@ucbvax.berkeley.edu               (ARPA)
mdnagel@ucdavis                                              (BITNET)
...!{sdcsvax|lll-crg|ucbvax}!ucdavis!deneb!u557676751ea      (UUCP)