jfclere     2005/06/15 08:15:54

  Modified:    jni/examples/org/apache/tomcat/jni SSLServer.java
  Log:
  test retcode of recv() to prevent the example for looping.
  BTW: When testing with openssl 'Q' closes the socket in openssl ' Q' could
  be used to get the closing in SSLServer.
  
  Revision  Changes    Path
  1.7       +7 -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.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SSLServer.java    12 Jun 2005 10:31:16 -0000      1.6
  +++ SSLServer.java    15 Jun 2005 15:15:54 -0000      1.7
  @@ -183,14 +183,12 @@
                   while (!doClose) {
                       /* Do a blocking read byte at a time */
                       byte [] buf = new byte[1];
  -                    while (SSLSocket.recv(clientSock, buf, 0, 1) == 1) {
  -                        if (buf[0] == '\n')
  -                            break;
  -                        else if (buf[0] == 'Q') {
  -                            doClose = true;
  -                            break;
  -                        }
  -                    }
  +                    int ret;
  +                    ret = SSLSocket.recv(clientSock, buf, 0, 1);
  +                    if (ret != 1)
  +                        throw(new Exception("SSLSocket.recv failed"));
  +                    if (buf[0] == 'Q')
  +                        doClose = true;
                       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