tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Henri Gomez <hgo...@apache.org>
Subject Re: jk_connect and multi-threading
Date Tue, 13 Jul 2004 06:12:48 GMT
Bill Barker wrote:
> ----- Original Message -----
> From: "Henri Gomez" <hgomez@apache.org>
> To: "Tomcat Developers List" <tomcat-dev@jakarta.apache.org>
> Sent: Monday, July 12, 2004 3:07 AM
> Subject: jk_connect and multi-threading
> 
> 
> 
>>Hi to all,
>>
>>I'm looking for a strange problem under iSeries (AS/400) and wonder
>>about this look in jk_open_socket() (jk_connect.c) :
>>
>>         do {
>>             jk_log(l, JK_LOG_DEBUG, "jk_open_socket, try to connect
>>socket = %d to %s\n",
>>                    sock, jk_dump_hinfo(addr, buf));
>>
>>             ret = connect(sock,
>>                           (struct sockaddr *)addr,
>>                           sizeof(struct sockaddr_in));
>>#if defined(WIN32) || (defined(NETWARE) && defined(__NOVELL_LIBC__))
>>             if(SOCKET_ERROR == ret) {
>>                 errno = WSAGetLastError() - WSABASEERR;
>>             }
>>#endif /* WIN32 */
>>             jk_log(l, JK_LOG_DEBUG, "jk_open_socket, after connect ret
>>= %d\n", ret);
>>         } while (-1 == ret && EINTR == errno);
>>
>>
>>What's the status on errno in multi-threaded environnement ?
>>
> 
> 
> On older *nix boxes it wasn't safe to use it with threads.  Don't know about
> iSeries.  On Solaris it's per-thread (assuming that you've compiled
> with -D_REENTRANT).
> 
> 
>>Shouldn't we clear errno before the connect() call ?
>>
> 
> 
> It's not supposed to matter.
> 
> 
>>BTW, I wonder why we check the errno in such case...

Ok, I take a look at IBM errno list and error 3021 is for EINVAL 
(invalid argument).

I'll investigate this error farther...

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Mime
View raw message