mirror of
https://git.yoctoproject.org/poky
synced 2026-04-21 21:32:12 +02:00
apr: Fix packet discards HTTP redirect
Disconnect the connection by poll() timeout. If timeout=0 and apr_wait_for_io_or_timeout()=APR_TIMEUP then apr_socket_recv() returns EAGAIN. (From OE-Core rev: cef4de5cd6c12091146dc1ef02cd80e094c6728e) Signed-off-by: Noriaki Yoshitane <yoshitane.nrs@cnt.ncos.nec.co.jp> Signed-off-by: Li Wang <li.wang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
Fix packet discards HTTP redirect.
|
||||
|
||||
Disconnect the connection by poll() timeout.
|
||||
If timeout=0 and apr_wait_for_io_or_timeout()=APR_TIMEUP then
|
||||
apr_socket_recv() returns EAGAIN.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Noriaki Yoshitane <yoshitane.nrs@cnt.ncos.nec.co.jp>
|
||||
Signed-off-by: Li Wang <li.wang@windriver.com>
|
||||
---
|
||||
network_io/unix/sendrecv.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/network_io/unix/sendrecv.c b/network_io/unix/sendrecv.c
|
||||
index c133a26..e8faf15 100644
|
||||
--- a/network_io/unix/sendrecv.c
|
||||
+++ b/network_io/unix/sendrecv.c
|
||||
@@ -85,6 +85,10 @@ apr_status_t apr_socket_recv(apr_socket_t *sock, char *buf, apr_size_t *len)
|
||||
&& (sock->timeout > 0)) {
|
||||
do_select:
|
||||
arv = apr_wait_for_io_or_timeout(NULL, sock, 1);
|
||||
+ if ((arv == APR_TIMEUP) && (sock->timeout == 0)) {
|
||||
+ *len = 0;
|
||||
+ return EAGAIN;
|
||||
+ }
|
||||
if (arv != APR_SUCCESS) {
|
||||
*len = 0;
|
||||
return arv;
|
||||
--
|
||||
1.7.9.5
|
||||
|
||||
@@ -15,6 +15,7 @@ SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \
|
||||
file://configfix.patch \
|
||||
file://run-ptest \
|
||||
file://upgrade-and-fix-1.5.1.patch \
|
||||
file://Fix-packet-discards-HTTP-redirect.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "4e9769f3349fe11fc0a5e1b224c236aa"
|
||||
|
||||
Reference in New Issue
Block a user