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]