condVariableImpl