blockingEval

Evaluates expr by borrowing an evaluator from the pool, blocking the current thread until one is available and recycling it afterwards.

The pool is a bounded buffer of size evaluators, so this blocks when all are in use and waits for one to be recycled. Do not call it more than size times concurrently, or from a context that already holds the pool's only evaluator, or it can deadlock.

Return

the boolean result of the evaluation

Parameters

expr

the expression to evaluate