Preprocessor macro expanding to a command
Space | User/kernel |
Context | Async |
May block | No |
SPL | Higher or equal than SPL of AST or IORQ |
Dynamic memory | No |
#include <SPAD/AC.H>
RETURN_AST(ast);
The behavior of RETURN_AST(ast)
is equivalent to
CALL_AST(ast)
;
RETURN;
RETURN_AST
is faster than the above sequence, because in most cases AST doesn't have to be queued and then extracted from the queue.
There is slight difference between CALL_AST; RETURN and RETURN_AST
: CALL_AST and RETURN queue the AST after all ASTs on a given SPL, but RETURN_AST
executes the AST directly, jumping the queue. Because order of executing ASTs is not defined, code must be written in such a way that this difference doesn't change behavior.