Author: mturk Date: Sun Jun 3 00:08:36 2007 New Revision: 543853 URL: http://svn.apache.org/viewvc?view=rev&rev=543853 Log: Use initial zero timeout for select call. Patch provided by David McLaughlin.
Modified: tomcat/connectors/trunk/jk/native/common/jk_connect.c tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml Modified: tomcat/connectors/trunk/jk/native/common/jk_connect.c URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_connect.c?view=diff&rev=543853&r1=543852&r2=543853 ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_connect.c (original) +++ tomcat/connectors/trunk/jk/native/common/jk_connect.c Sun Jun 3 00:08:36 2007 @@ -654,15 +654,18 @@ FD_ZERO(&fd); FD_SET(sock, &fd); - /* Wait one microsecond */ + /* Initially test the socket without any blocking. + */ tv.tv_sec = 0; - tv.tv_usec = 1; + tv.tv_usec = 0; do { rc = select((int)sock + 1, &fd, NULL, NULL, &tv); #if defined(WIN32) || (defined(NETWARE) && defined(__NOVELL_LIBC__)) errno = WSAGetLastError() - WSABASEERR; #endif + /* Wait one microsecond on next select, if EINTR */ + tv.tv_usec = 1; } while (rc == -1 && errno == EINTR); if (rc == 0) { Modified: tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml?view=diff&rev=543853&r1=543852&r2=543853 ============================================================================== --- tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml (original) +++ tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml Sun Jun 3 00:08:36 2007 @@ -28,6 +28,15 @@ <subsection name="Native"> <changelog> <fix> + Use initial zero timeout for jk_is_socket_connected. The resulting + detection is the same but offers a huge performance increase + with mod_jk. In most cases the Operating System does not favor + the 1 microsecond timeout, but it rather rounds that up to much + higher value (frequency of interrupt timer which on most systems + defaults to 100Hz). + Patch provided by David McLaughlin. (mturk) + </fix> + <fix> Always build with thread support, unless flag --enable-prefork is set during for configure. (rjung) </fix> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]