mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-20 22:59:54 +01:00
If the reader detects a clean close, let the writer finish and close
cleanly.
This commit is contained in:
@@ -113,7 +113,9 @@ abstract class StreamConnection implements DatabaseListener {
|
|||||||
dbExecutor.execute(new GenerateAcks());
|
dbExecutor.execute(new GenerateAcks());
|
||||||
} else if(e instanceof ContactRemovedEvent) {
|
} else if(e instanceof ContactRemovedEvent) {
|
||||||
ContactId c = ((ContactRemovedEvent) e).getContactId();
|
ContactId c = ((ContactRemovedEvent) e).getContactId();
|
||||||
if(contactId.equals(c)) writerTasks.add(CLOSE);
|
if(contactId.equals(c)) {
|
||||||
|
if(!disposed.getAndSet(true)) transport.dispose(false, true);
|
||||||
|
}
|
||||||
} else if(e instanceof MessagesAddedEvent) {
|
} else if(e instanceof MessagesAddedEvent) {
|
||||||
if(canSendOffer.getAndSet(false))
|
if(canSendOffer.getAndSet(false))
|
||||||
dbExecutor.execute(new GenerateOffer());
|
dbExecutor.execute(new GenerateOffer());
|
||||||
@@ -172,8 +174,8 @@ abstract class StreamConnection implements DatabaseListener {
|
|||||||
throw new FormatException();
|
throw new FormatException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// The writer will dispose of the transport
|
||||||
writerTasks.add(CLOSE);
|
writerTasks.add(CLOSE);
|
||||||
if(!disposed.getAndSet(true)) transport.dispose(false, true);
|
|
||||||
} catch(DbException e) {
|
} catch(DbException e) {
|
||||||
if(LOG.isLoggable(Level.WARNING)) LOG.warning(e.toString());
|
if(LOG.isLoggable(Level.WARNING)) LOG.warning(e.toString());
|
||||||
if(!disposed.getAndSet(true)) transport.dispose(true, true);
|
if(!disposed.getAndSet(true)) transport.dispose(true, true);
|
||||||
|
|||||||
Reference in New Issue
Block a user