> "Manuel M. T. Chakravarty" wrote:
> > [...]
> >The specification says in Section 4.6 (about "safe" and "unsafe"
> > C calls) that in case of a "safe" call, a new OS thread is
> > spawned to execute the called C
>
> As I understand, it's fine to run them in new OS thread , because safe
> functions should be pure and should have no side effects.
There's a bit of confusion over the whole safe/unsafe thing here, and it
didn't help when we swapped over the definitions without telling anyone :-)
See my earlier mail for the real definitions. We use the term "unsafe" to
mean "a function that we call in an unsafe way". The function we call
should be pure in order for nothing to go wrong. So when you say "unsafe"
you are referrring to the calling mechanism, not the external function
itself.
Cheers,
Simon