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);


Reply via email to