Switched back to barrier + cond variable race sync idea