You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2008/03/22 15:35:40 UTC

svn commit: r640002 - in /mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr: AprIoProcessor.java AprSocketAcceptor.java

Author: trustin
Date: Sat Mar 22 07:35:39 2008
New Revision: 640002

URL: http://svn.apache.org/viewvc?rev=640002&view=rev
Log:
Applied the same fix to AprIoProcessor and AprSocketAcceptor


Modified:
    mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java
    mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketAcceptor.java

Modified: mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java
URL: http://svn.apache.org/viewvc/mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java?rev=640002&r1=640001&r2=640002&view=diff
==============================================================================
--- mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java (original)
+++ mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprIoProcessor.java Sat Mar 22 07:35:39 2008
@@ -51,7 +51,7 @@
         new HashMap<Long, AprSession>(POLLSET_SIZE);
 
     private final Object wakeupLock = new Object();
-    private long wakeupSocket;
+    private final long wakeupSocket;
     private volatile boolean toBeWakenUp;
 
     private final long bufferPool; // memory pool

Modified: mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketAcceptor.java
URL: http://svn.apache.org/viewvc/mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketAcceptor.java?rev=640002&r1=640001&r2=640002&view=diff
==============================================================================
--- mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketAcceptor.java (original)
+++ mina/trunk/transport-apr/src/main/java/org/apache/mina/transport/socket/apr/AprSocketAcceptor.java Sat Mar 22 07:35:39 2008
@@ -26,7 +26,7 @@
     private static final int POLLSET_SIZE = 1024;
 
     private final Object wakeupLock = new Object();
-    private long wakeupSocket;
+    private volatile long wakeupSocket;
     private volatile boolean toBeWakenUp;
 
     private int backlog = 50;
@@ -37,7 +37,7 @@
     private final long[] polledSockets = new long[POLLSET_SIZE << 1];
     private final List<Long> polledHandles =
         new CircularQueue<Long>(POLLSET_SIZE);
-    
+
     public AprSocketAcceptor() {
         super(new DefaultSocketSessionConfig(), AprIoProcessor.class);
         ((DefaultSocketSessionConfig) getSessionConfig()).init(this);
@@ -84,7 +84,7 @@
         try {
             Socket.optSet(handle, Socket.APR_SO_NONBLOCK, 1);
             Socket.timeoutSet(handle, 0);
-            
+
             // Configure the server socket,
             Socket.optSet(handle, Socket.APR_SO_REUSEADDR, isReuseAddress()? 1 : 0);
             Socket.optSet(handle, Socket.APR_SO_RCVBUF, getSessionConfig().getReceiveBufferSize());
@@ -100,7 +100,7 @@
             } else {
                 sa = Address.info(Address.APR_ANYADDR, Socket.APR_INET, 0, 0, pool);
             }
-            
+
             int result = Socket.bind(handle, sa);
             if (result != Status.APR_SUCCESS) {
                 throwException(result);
@@ -109,7 +109,7 @@
             if (result != Status.APR_SUCCESS) {
                 throwException(result);
             }
-            
+
             result = Poll.add(pollset, handle, Poll.APR_POLLIN);
             if (result != Status.APR_SUCCESS) {
                 throwException(result);
@@ -128,16 +128,16 @@
         wakeupSocket = Socket.create(
                 Socket.APR_INET, Socket.SOCK_DGRAM, Socket.APR_PROTO_UDP, AprLibrary
                 .getInstance().getRootPool());
-    
+
         // initialize a memory pool for APR functions
         pool = Pool.create(AprLibrary.getInstance().getRootPool());
-        
+
         pollset = Poll.create(
                         POLLSET_SIZE,
                         pool,
                         Poll.APR_POLLSET_THREADSAFE,
                         Long.MAX_VALUE);
-        
+
         if (pollset <= 0) {
             pollset = Poll.create(
                     62,
@@ -180,7 +180,7 @@
             if (rv != -120001) {
                 throwException(rv);
             }
-            
+
             rv = Poll.maintain(pollset, polledSockets, true);
             if (rv > 0) {
                 for (int i = 0; i < rv; i ++) {
@@ -189,7 +189,7 @@
             } else if (rv < 0) {
                 throwException(rv);
             }
-            
+
             return false;
         } else {
             rv <<= 1;
@@ -207,7 +207,7 @@
                     }
                     continue;
                 }
-                
+
                 if ((flag & Poll.APR_POLLIN) != 0) {
                     polledHandles.add(socket);
                 }
@@ -235,7 +235,7 @@
         if (toBeWakenUp) {
             return;
         }
-        
+
         // Add a dummy socket to the pollset.
         synchronized (wakeupLock) {
             toBeWakenUp = true;
@@ -295,7 +295,7 @@
     public SocketSessionConfig getSessionConfig() {
         return (SocketSessionConfig) super.getSessionConfig();
     }
-    
+
     private void throwException(int code) throws IOException {
         throw new IOException(
                 org.apache.tomcat.jni.Error.strerror(-code) +