[plt-scheme] scheme_signal_error

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Tue Apr 15 14:45:38 EDT 2003

At Tue, 15 Apr 2003 17:59:12 +0200, Olivier ORABONA wrote:
> I've played around with scheme_signal_error and went thru a weird "behavior" 
> with this code snippet :
> 
> Scheme_Object* foo(void* p, int argc, Scheme_Object** argv) {
> 	Scheme_Object* tmp = argv[O];
> 	while(!SCHEME_NULLP(tmp)) {
> 		if(bar(SCHEME_CAR(tmp))==BAD_INPUT)
> 			scheme_signal_error("Bad Input");
> 		tmp=SCHEME_CDR(tmp);
> 	}
> 	return scheme_true;
> }
> 
> scheme_signal_error seems to "throw" a Page Fault Exception (tested under 
> Windows only). But it worked elsewhere. bar function content is irrelevant.
> Is my code bad or ... ?

Is this in an extension, or is it in an embedding of Mzscheme?

If it's an embedding, is there a scheme_setjmp(scheme_error_buf)
protecting the initial C-to-Scheme crossing?

Matthew



Posted on the users mailing list.