Enclose the call to getStat in a `try`, and release the previously
acquired lock in the `finally`. This prevents that the lock is left
unreleased in the case of an exception being raised in getStat.
Change-Id: I17b4cd134dae887e23a1165253be0ac2d4fd452c
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
private void creditSpace(int credit, DfsStreamKey key) {
clockLock.lock();
- getStat(liveBytes, key).addAndGet(-credit);
- clockLock.unlock();
+ try {
+ getStat(liveBytes, key).addAndGet(-credit);
+ } finally {
+ clockLock.unlock();
+ }
}
@SuppressWarnings("unchecked")