<snip>
>
> If the above is true, what are the real primitives of chicken (that
> can thus be used without 'getting out' of the file) ?
I do not understand "... without 'getting out' of the file".
Well, I meant "without running code that re-enables interrupts". And
I guessed the "re-enabling" is done when executing code from
"somewhere else". But I don't see what is the "somewhere else".
I.e. I don't see what triggers the "re-enabling".
And you won't, unless you either disassemble or tell the compiler to
keep the generated .c file(s). The declarations are file global &
apply to every procedure - the compiler generates the interrupt stuff
automatically. The compiler knows when a proc "calls out" & is
"called in".
There is a manual wrapper, 'critical-section', but it is deprecated.
Mailbox is special. It could have been implemented using explicit
synchronization but for such a high-performance & low computation
facility it makes more sense to just treat every procedure as if, as
you said, it were Java proc w/ synchronized.
There is an egg that provides syntactic-sugar for explicit
synchronization, "synch.egg". It has a small user community & makes
writing such code much easier.
<snip>
_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users