Thanks for the reply Mladen.
 
I was wrong, this is not a lingering time problem, but instead related
to the value that is being used for MAX_SECS_TO_LINGER, which is 16.
I still have data waiting to be transferred from Tomcat after 16 receives.
Each call to jk_tcp_socket_recvfull() returns data, but it takes more than
16 loops to get a JK_SOCKET_EOF.
 
Apache is using 30 for MAX_SECS_TO_LINGER. Any objection why
mod_jk cannot use the same value?

Thanks,
--JJ

>>> [EMAIL PROTECTED] 5/20/2005 12:21 PM >>>

Jean-Jacques Clar wrote:
> Hi,
>  
> file: jk_connect.c
> in jk_shutdown_socket(); when reading data from tomcat in the while loop,
> the variable ttl is incremented every time by one, until breaking out of the 
> loop:
> snippet: 
> line 505 *-------------------------
>     /* Read all data from the peer until we reach "end-of-file" (FIN
>      * from peer) or we've exceeded our overall timeout. If the client does
>      * not send us bytes within12 second, close the connection.
>      */
>     while (1) {
>         nbytes = jk_tcp_socket_recvfull(s, dummy, sizeof(dummy));
>         if (nbytes <= 0)
>             break;
>         ttl += SECONDS_TO_LINGER;
>         if (ttl > MAX_SECS_TO_LINGER)
>             break;
>     
>     }


The problem is because I do not have a Netware box.
You guys can try to enable the following:

#if defined(WIN32)
     setsockopt(s, SOL_SOCKET, SO_RCVTIMEO,
                (const char *) &tmout, sizeof(int));

#endif

for Netware too...
I didn't try to enable that because so many times the
JK has been broken because of Netware build bugs ;)

Also the code in nb_connect:
#if defined(WIN32)
         int tmout = timeout * 1000;
         setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO,
                    (const char *) &tmout, sizeof(int));
         setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO,
                    (const char *) &tmout, sizeof(int));
#else ...

Shuld be checked for: (probably but who knows ;)
for :
#if defined(WIN32) || (defined(NETWARE) && defined(__NOVELL_LIBC__))


Regards,
Mladen

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to