incrementWaiters(guard); try { final Condition condition = guard.condition;
incrementWaiters(guard); try { final Condition condition = guard.condition;
signalConditionsOfSatisfiedGuards(null); incrementWaiters(guard); try { final Condition condition = guard.condition;
@GuardedBy("lock") private void waitInterruptibly(Guard guard, boolean signalBeforeWaiting) throws InterruptedException { if (!guard.isSatisfied()) { if (signalBeforeWaiting) { signalConditionsOfSatisfiedGuards(null); } incrementWaiters(guard); try { final Condition condition = guard.condition; do { try { condition.await(); } catch (InterruptedException interrupt) { try { signalConditionsOfSatisfiedGuards(guard); } catch (Throwable throwable) { Thread.currentThread().interrupt(); throw Throwables.propagate(throwable); } throw interrupt; } } while (!guard.isSatisfied()); } finally { decrementWaiters(guard); } } }
@GuardedBy("lock") private void waitInterruptibly(Guard guard, boolean signalBeforeWaiting) throws InterruptedException { if (!guard.isSatisfied()) { if (signalBeforeWaiting) { signalConditionsOfSatisfiedGuards(null); } incrementWaiters(guard); try { final Condition condition = guard.condition; do { try { condition.await(); } catch (InterruptedException interrupt) { try { signalConditionsOfSatisfiedGuards(guard); } catch (Throwable throwable) { Thread.currentThread().interrupt(); throw Throwables.propagate(throwable); } throw interrupt; } } while (!guard.isSatisfied()); } finally { decrementWaiters(guard); } } }
signalConditionsOfSatisfiedGuards(null); incrementWaiters(guard); try { final Condition condition = guard.condition;
@GuardedBy("lock") private void waitUninterruptibly(Guard guard, boolean signalBeforeWaiting) { if (!guard.isSatisfied()) { if (signalBeforeWaiting) { signalConditionsOfSatisfiedGuards(null); } incrementWaiters(guard); try { final Condition condition = guard.condition; do { condition.awaitUninterruptibly(); } while (!guard.isSatisfied()); } finally { decrementWaiters(guard); } } }
@GuardedBy("lock") private void waitUninterruptibly(Guard guard, boolean signalBeforeWaiting) { if (!guard.isSatisfied()) { if (signalBeforeWaiting) { signalConditionsOfSatisfiedGuards(null); } incrementWaiters(guard); try { final Condition condition = guard.condition; do { condition.awaitUninterruptibly(); } while (!guard.isSatisfied()); } finally { decrementWaiters(guard); } } }