Ensure semaphore is released if an exception is thrown.

This commit is contained in:
akwizgran
2011-12-06 00:03:05 +00:00
parent f474ed229d
commit 00df158ad6
2 changed files with 18 additions and 9 deletions

View File

@@ -72,8 +72,9 @@ class IncomingBatchConnection {
} catch(DbException e) {
if(LOG.isLoggable(Level.WARNING))
LOG.warning(e.getMessage());
} finally {
semaphore.release();
}
semaphore.release();
}
});
} else if(proto.hasBatch()) {
@@ -90,8 +91,9 @@ class IncomingBatchConnection {
} catch(GeneralSecurityException e) {
if(LOG.isLoggable(Level.WARNING))
LOG.warning(e.getMessage());
} finally {
semaphore.release();
}
semaphore.release();
}
});
} else if(proto.hasSubscriptionUpdate()) {
@@ -105,8 +107,9 @@ class IncomingBatchConnection {
} catch(DbException e) {
if(LOG.isLoggable(Level.WARNING))
LOG.warning(e.getMessage());
} finally {
semaphore.release();
}
semaphore.release();
}
});
} else if(proto.hasTransportUpdate()) {
@@ -120,8 +123,9 @@ class IncomingBatchConnection {
} catch(DbException e) {
if(LOG.isLoggable(Level.WARNING))
LOG.warning(e.getMessage());
} finally {
semaphore.release();
}
semaphore.release();
}
});
} else {

View File

@@ -140,8 +140,9 @@ abstract class StreamConnection implements DatabaseListener {
} catch(DbException e) {
if(LOG.isLoggable(Level.WARNING))
LOG.warning(e.getMessage());
} finally {
semaphore.release();
}
semaphore.release();
}
});
} else if(proto.hasBatch()) {
@@ -158,8 +159,9 @@ abstract class StreamConnection implements DatabaseListener {
} catch(GeneralSecurityException e) {
if(LOG.isLoggable(Level.WARNING))
LOG.warning(e.getMessage());
} finally {
semaphore.release();
}
semaphore.release();
}
});
} else if(proto.hasOffer()) {
@@ -200,8 +202,9 @@ abstract class StreamConnection implements DatabaseListener {
} catch(DbException e) {
if(LOG.isLoggable(Level.WARNING))
LOG.warning(e.getMessage());
} finally {
semaphore.release();
}
semaphore.release();
}
});
// Store the requested message IDs and notify the writer
@@ -223,8 +226,9 @@ abstract class StreamConnection implements DatabaseListener {
} catch(DbException e) {
if(LOG.isLoggable(Level.WARNING))
LOG.warning(e.getMessage());
} finally {
semaphore.release();
}
semaphore.release();
}
});
} else if(proto.hasTransportUpdate()) {
@@ -238,8 +242,9 @@ abstract class StreamConnection implements DatabaseListener {
} catch(DbException e) {
if(LOG.isLoggable(Level.WARNING))
LOG.warning(e.getMessage());
} finally {
semaphore.release();
}
semaphore.release();
}
});
} else {