diff --git a/components/net/sf/briar/transport/batch/IncomingBatchConnection.java b/components/net/sf/briar/transport/batch/IncomingBatchConnection.java index cf8e00d04e7213623a0c25ceb4d6a74a9aa43b43..e1a5082f062dc65e9eabd35e20209d6b20542844 100644 --- a/components/net/sf/briar/transport/batch/IncomingBatchConnection.java +++ b/components/net/sf/briar/transport/batch/IncomingBatchConnection.java @@ -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 { diff --git a/components/net/sf/briar/transport/stream/StreamConnection.java b/components/net/sf/briar/transport/stream/StreamConnection.java index 17839b393b199e84cbc899781a6caab12933e997..8e1cf6730c63ae9f02416af02374783e6e525171 100644 --- a/components/net/sf/briar/transport/stream/StreamConnection.java +++ b/components/net/sf/briar/transport/stream/StreamConnection.java @@ -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 {