diff options
| author | Rafael H. Schloming <rhs@apache.org> | 2008-02-12 22:22:20 +0000 |
|---|---|---|
| committer | Rafael H. Schloming <rhs@apache.org> | 2008-02-12 22:22:20 +0000 |
| commit | 364b74b1355a4af8368e78926eff4b91e231dc47 (patch) | |
| tree | 83d2478c0c3decfba7f51f7ff28e7a4a59c7220a /qpid/java/common | |
| parent | 41c05e91fd96dab821327e5f5ac8b4380759efe5 (diff) | |
| download | qpid-python-364b74b1355a4af8368e78926eff4b91e231dc47.tar.gz | |
synchronize access to lastWrite future
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@627154 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/common')
| -rw-r--r-- | qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaSender.java | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaSender.java b/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaSender.java index 17ae7ea0f7..f0f5731037 100644 --- a/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaSender.java +++ b/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/mina/MinaSender.java @@ -51,16 +51,23 @@ public class MinaSender implements Sender<java.nio.ByteBuffer> { throw new TransportException("attempted to write to a closed socket"); } - lastWrite = session.write(ByteBuffer.wrap(buf)); + + synchronized (this) + { + lastWrite = session.write(ByteBuffer.wrap(buf)); + } } - public void close() + public synchronized void close() { // MINA will sometimes throw away in-progress writes when you // ask it to close - if (lastWrite != null) + synchronized (this) { - lastWrite.join(); + if (lastWrite != null) + { + lastWrite.join(); + } } CloseFuture closed = session.close(); closed.join(); |
