Return-Path: X-Original-To: apmail-apr-dev-archive@www.apache.org Delivered-To: apmail-apr-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id CE6D76D24 for ; Fri, 29 Jul 2011 07:30:31 +0000 (UTC) Received: (qmail 37341 invoked by uid 500); 29 Jul 2011 07:30:30 -0000 Delivered-To: apmail-apr-dev-archive@apr.apache.org Received: (qmail 36520 invoked by uid 500); 29 Jul 2011 07:30:21 -0000 Mailing-List: contact dev-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Id: Delivered-To: mailing list dev@apr.apache.org Received: (qmail 36504 invoked by uid 99); 29 Jul 2011 07:30:19 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 29 Jul 2011 07:30:19 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [87.249.123.12] (HELO smtp.nedap.com) (87.249.123.12) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 29 Jul 2011 07:30:11 +0000 Received: from nvs0066 ([10.91.8.1]) by smtp.nedap.com with Microsoft SMTPSVC(6.0.3790.1830); Fri, 29 Jul 2011 09:29:49 +0200 X-TM-IMSS-Message-ID: <51bb0a660002400c@nedap.com> Received: from [10.4.16.108] ([10.4.16.108]) by nedap.com ([10.91.8.1]) with ESMTP (TREND IMSS SMTP Service 7.1) id 51bb0a660002400c ; Fri, 29 Jul 2011 09:28:56 +0200 Message-ID: <4E32616D.6020006@nedap.com> Date: Fri, 29 Jul 2011 09:29:49 +0200 From: Eric van der Maarel Reply-To: eric.vandermaarel@nedap.com Organization: NEDAP User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101027 Fedora/3.0.10-1.fc12 Lightning/1.0b2pre Thunderbird/3.0.10 MIME-Version: 1.0 To: dev@apr.apache.org Subject: Fwd: Re: 100% cpu with APR on Windows Content-Type: multipart/mixed; boundary="------------000809070901000809000908" X-OriginalArrivalTime: 29 Jul 2011 07:29:49.0757 (UTC) FILETIME=[4CB096D0:01CC4DC1] X-Virus-Checked: Checked by ClamAV on apache.org This is a multi-part message in MIME format. --------------000809070901000809000908 Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi, Maybe the patch is required as an attachment? Here it is. Can it be included in apr? Regards, Eric --- apr.orig/poll/unix/select.c 2009-10-02 18:24:00.000000000 +0200 +++ apr/poll/unix/select.c 2011-07-07 14:55:29.000000000 +0200 @@ -149,6 +149,14 @@ break; } if (FD_ISSET(fd, &readset)) { + char c; + int r = recv(fd, &c, 1, MSG_PEEK); + if (r == 0) { + aprset[i].rtnevents |= APR_POLLHUP; + } + else if (r < 0) { + aprset[i].rtnevents |= APR_POLLERR; + } aprset[i].rtnevents |= APR_POLLIN; } if (FD_ISSET(fd, &writeset)) { @@ -399,6 +407,14 @@ pollset->p->result_set[j] = pollset->p->query_set[i]; pollset->p->result_set[j].rtnevents = 0; if (FD_ISSET(fd, &readset)) { + char c; + int r = recv(fd, &c, 1, MSG_PEEK); + if (r == 0) { + pollset->p->result_set[j].rtnevents |= APR_POLLHUP; + } + else if (r < 0) { + pollset->p->result_set[j].rtnevents |= APR_POLLERR; + } pollset->p->result_set[j].rtnevents |= APR_POLLIN; } if (FD_ISSET(fd, &writeset)) { -- ------------------------------------------- | Eric van der Maarel | | NEDAP IDEAS | | eric.vandermaarel@nedap.com | -------------------------------------------^[ZZ --------------000809070901000809000908 Content-Type: text/plain; name="diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="diff" LS0tIGFwci5vcmlnL3BvbGwvdW5peC9zZWxlY3QuYwkyMDA5LTEwLTAyIDE4OjI0OjAwLjAw MDAwMDAwMCArMDIwMAorKysgYXByL3BvbGwvdW5peC9zZWxlY3QuYwkyMDExLTA3LTA3IDE0 OjU1OjI5LjAwMDAwMDAwMCArMDIwMApAQCAtMTQ5LDYgKzE0OSwxNCBAQAogICAgICAgICAg ICAgYnJlYWs7DQogICAgICAgICB9DQogICAgICAgICBpZiAoRkRfSVNTRVQoZmQsICZyZWFk c2V0KSkgew0KKyAgICAgICAgICAgIGNoYXIgYzsNCisgICAgICAgICAgICBpbnQgciA9IHJl Y3YoZmQsICZjLCAxLCBNU0dfUEVFSyk7DQorICAgICAgICAgICAgaWYgKHIgPT0gMCkgew0K KyAgICAgICAgICAgICAgICBhcHJzZXRbaV0ucnRuZXZlbnRzIHw9IEFQUl9QT0xMSFVQOw0K KyAgICAgICAgICAgIH0NCisgICAgICAgICAgICBlbHNlIGlmIChyIDwgMCkgew0KKyAgICAg ICAgICAgICAgICBhcHJzZXRbaV0ucnRuZXZlbnRzIHw9IEFQUl9QT0xMRVJSOw0KKyAgICAg ICAgICAgIH0NCiAgICAgICAgICAgICBhcHJzZXRbaV0ucnRuZXZlbnRzIHw9IEFQUl9QT0xM SU47DQogICAgICAgICB9DQogICAgICAgICBpZiAoRkRfSVNTRVQoZmQsICZ3cml0ZXNldCkp IHsNCkBAIC0zOTksNiArNDA3LDE0IEBACiAgICAgICAgICAgICBwb2xsc2V0LT5wLT5yZXN1 bHRfc2V0W2pdID0gcG9sbHNldC0+cC0+cXVlcnlfc2V0W2ldOw0KICAgICAgICAgICAgIHBv bGxzZXQtPnAtPnJlc3VsdF9zZXRbal0ucnRuZXZlbnRzID0gMDsNCiAgICAgICAgICAgICBp ZiAoRkRfSVNTRVQoZmQsICZyZWFkc2V0KSkgew0KKyAgICAgICAgICAgICAgICBjaGFyIGM7 DQorICAgICAgICAgICAgICAgIGludCByID0gcmVjdihmZCwgJmMsIDEsIE1TR19QRUVLKTsN CisgICAgICAgICAgICAgICAgaWYgKHIgPT0gMCkgew0KKyAgICAgICAgICAgICAgICAgICAg cG9sbHNldC0+cC0+cmVzdWx0X3NldFtqXS5ydG5ldmVudHMgfD0gQVBSX1BPTExIVVA7DQor ICAgICAgICAgICAgICAgIH0NCisgICAgICAgICAgICAgICAgZWxzZSBpZiAociA8IDApIHsN CisgICAgICAgICAgICAgICAgICAgIHBvbGxzZXQtPnAtPnJlc3VsdF9zZXRbal0ucnRuZXZl bnRzIHw9IEFQUl9QT0xMRVJSOw0KKyAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg ICAgIHBvbGxzZXQtPnAtPnJlc3VsdF9zZXRbal0ucnRuZXZlbnRzIHw9IEFQUl9QT0xMSU47 DQogICAgICAgICAgICAgfQ0KICAgICAgICAgICAgIGlmIChGRF9JU1NFVChmZCwgJndyaXRl c2V0KSkgew0K --------------000809070901000809000908--