StackThreads/MP: version 0.77 User's Guide
ST_CALLBACK_BEGIN(); @ ST_CALLBACK_END();
These two procedures together declare that the surrounding procedure may
be called from a sequential procedure (a procedure that is compiled by
plain gcc
). When a procedure f is called from a sequential
procedure, ST_CALLBACK_BEGIN()
must be placed in the top of
f's variable declaration (ST_CALLBACK_BEGIN()
is a macro that
is expanded into a variable declaration). ST_CALLBACK_END()
must
be placed immediately before returning from f. More precisely, f
must execute ST_CALLBACK_BEGIN()
before any sub-procedure call in
f and ST_CALLBACK_END()
after any sub-procedure call in
f. ST_CALLBACK_END()
may syntactically appear twice or more
(unless only one of them is executed at runtime). See Sequential Modules for more about this topic.