You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by pr...@apache.org on 2007/09/02 19:00:01 UTC

svn commit: r572033 - /mina/branches/1.1/core/src/main/java/org/apache/mina/common/support/BaseIoSession.java

Author: proyal
Date: Sun Sep  2 10:00:00 2007
New Revision: 572033

URL: http://svn.apache.org/viewvc?rev=572033&view=rev
Log:
Make boolean volatile to avoid synchronization on reads. Remove unnecessary read synchronization. Found as part of DIRMINA-431

Modified:
    mina/branches/1.1/core/src/main/java/org/apache/mina/common/support/BaseIoSession.java

Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/common/support/BaseIoSession.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/common/support/BaseIoSession.java?rev=572033&r1=572032&r2=572033&view=diff
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/common/support/BaseIoSession.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/common/support/BaseIoSession.java Sun Sep  2 10:00:00 2007
@@ -53,7 +53,7 @@
      */
     private final CloseFuture closeFuture = new DefaultCloseFuture(this);
 
-    private boolean closing;
+    private volatile boolean closing;
 
     // Configuration variables
     private int idleTimeForRead;
@@ -101,9 +101,7 @@
     }
 
     public boolean isClosing() {
-        synchronized (lock) {
-            return closing || closeFuture.isClosed();
-        }
+        return closing || closeFuture.isClosed();
     }
 
     public CloseFuture getCloseFuture() {
@@ -137,10 +135,8 @@
     }
 
     public WriteFuture write(Object message, SocketAddress remoteAddress) {
-        synchronized (lock) {
-            if (isClosing() || !isConnected()) {
-                return DefaultWriteFuture.newNotWrittenFuture(this);
-            }
+        if (isClosing() ) {
+            return DefaultWriteFuture.newNotWrittenFuture(this);
         }
 
         WriteFuture future = new DefaultWriteFuture(this);
@@ -155,6 +151,8 @@
      *
      * By default, this method is implemented to set the future to
      * 'not written' immediately.
+     *
+     * @param writeRequest Write request to make
      */
     protected void write0(WriteRequest writeRequest) {
         writeRequest.getFuture().setWritten(false);