Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 80014 invoked from network); 21 Jun 2004 22:17:37 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 21 Jun 2004 22:17:37 -0000 Received: (qmail 39545 invoked by uid 500); 21 Jun 2004 22:17:41 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 39465 invoked by uid 500); 21 Jun 2004 22:17:40 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 39352 invoked by uid 99); 21 Jun 2004 22:17:38 -0000 Received: from [204.146.167.214] (HELO Boron.MeepZor.Com) (204.146.167.214) by apache.org (qpsmtpd/0.27.1) with ESMTP; Mon, 21 Jun 2004 15:17:38 -0700 Received: from wstoddard.com (cpe-024-211-135-032.nc.rr.com [24.211.135.32]) by Boron.MeepZor.Com (8.11.6/8.11.6) with ESMTP id i5LMH2T07235 for ; Mon, 21 Jun 2004 18:17:08 -0400 Message-ID: <40D75E3D.1040707@wstoddard.com> Date: Mon, 21 Jun 2004 18:16:29 -0400 From: Bill Stoddard User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6) Gecko/20040113 X-Accept-Language: en-us, en MIME-Version: 1.0 To: dev@httpd.apache.org Subject: Re: interesting Win32 PR 23982: "Apache 2.xx is incompatible with Winsock 2.0" References: <40D6D0B4.7080602@attglobal.net> <6.1.0.6.2.20040621120216.07749ec0@pop3.rowe-clan.net> In-Reply-To: <6.1.0.6.2.20040621120216.07749ec0@pop3.rowe-clan.net> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Playing with this patch... seems to work w/minimal performance penalty... Bill Index: sendrecv.c =================================================================== RCS file: /home/cvs/apr/network_io/win32/sendrecv.c,v retrieving revision 1.64.2.1 diff -u -r1.64.2.1 sendrecv.c --- sendrecv.c 13 Feb 2004 09:33:51 -0000 1.64.2.1 +++ sendrecv.c 21 Jun 2004 22:15:42 -0000 @@ -204,6 +204,7 @@ } +#define WAIT_FOR_EVENT #if APR_HAS_SENDFILE /* *#define WAIT_FOR_EVENT @@ -352,10 +353,21 @@ if (rv == WAIT_OBJECT_0) { status = APR_SUCCESS; if (!disconnected) { +#if 0 if (!GetOverlappedResult(wait_event, &overlapped, &nbytes, FALSE)) { status = apr_get_os_error(); } +#else + if (!WSAGetOverlappedResult(sock->socketdes, + &overlapped, + &nbytes, + FALSE, + &dwFlags)) { + status = apr_get_netos_error(); + } + +#endif /* Ugly code alert: GetOverlappedResult returns * a count of all bytes sent. This loop only * tracks bytes sent out of the file.