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]

Reply via email to