jfclere 2005/06/21 06:51:03 Modified: jni/examples/org/apache/tomcat/jni SSLServer.java Log: Prevent it from looping when the client closes the communication. Revision Changes Path 1.11 +13 -9 jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni/SSLServer.java Index: SSLServer.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jni/examples/org/apache/tomcat/jni/SSLServer.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- SSLServer.java 18 Jun 2005 08:03:21 -0000 1.10 +++ SSLServer.java 21 Jun 2005 13:51:03 -0000 1.11 @@ -183,15 +183,19 @@ while (!doClose) { /* Do a blocking read byte at a time */ byte [] buf = new byte[1]; - while (Socket.recv(clientSock, buf, 0, 1) == 1) { - if (buf[0] == '\n') - break; - else if (buf[0] == '!') { - doClose = true; - break; - } - Socket.send(clientSock, buf, 0, 1); + int ret; + ret = Socket.recv(clientSock, buf, 0, 1); + if (ret != 1) + throw(new Exception("Socket.recv failed")); + + if (buf[0] == '\n') + continue; + else if (buf[0] == '!') { + doClose = true; + break; } + Socket.send(clientSock, buf, 0, 1); + if (doClose) { try { byte [] msg = ("Bye from worker: " + workerId + "\r\n").getBytes();
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]