Availability:built-in
[det]engine_yield(+Term)Called from within the engine, causing engine_next/2 
in the caller to return with Term. A subsequent call to engine_next/2 
causes
engine_yield/1 
to `return'. This predicate can only be called if the engine is not 
involved in a callback from C, i.e., when the engine calls a predicate 
defined in C that calls back Prolog it is not possible to use this 
predicate. Trying to do so results in a
permission_error exception.