At Mon, 20 Dec 2021 11:57:29 -0800 (PST), "thomas_d...@alumni.brown.edu" wrote:
> So what happens from the perspective of embedding C code if an exception 
> occurs in Racket code it calls?

It's not defined. In certain cases, control will escape from the C
code, I think, but it depends on how the C code was reached.

> I can't seem to locate `disable-interrupts` or `enable-interrupts`  via 
> searching the docs, but it sounds like if I needed to compose a sequence of 
> several calls into Racket while keeping a consistent view of memory on the 
> C side, I could do something like:
> 
> racket_apply(racket_primitive("disable-interrupts"),Snil);
> // sequence of racket_ function calls
> racket_apply(racket_primitive("enable-interrupts"),Snil);
> 
> Does that sound correct?

Yes. Those are Chez Scheme functions, so you'd have to look in the Chez
Scheme documentation, which is not currently incorporated into the
Racket documentation.

Probably it would make sense to have more direct support for these in
the C API, and I've put that on my to-do list.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/20211220131104.3b7%40sirmail.smtps.cs.utah.edu.

Reply via email to