apr: set flag of inheriting O_NONBLOCK as no
cover apr: set flag of inheriting O_NONBLOCK as no
From: "Roy.Li" <[email protected]>
The following changes since commit 99f003356be43bb361634359a5d3c520f72f0a08:
local.conf.sample: Enable disk space monitoring by default (2012-11-28 15:25:14 +0000)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib roy/apr
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=roy/apr
Roy.Li (1):
apr: set flag of inheriting O_NONBLOCK as no
meta/recipes-support/apr/apr_1.4.6.bb | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
Signature · 1 line
1.7.5.4
PATCH 1/1 apr: set flag of inheriting O_NONBLOCK as no
From: "Roy.Li" <[email protected]>
The flag ac_cv_o_nonblock_inherited is always set to yes in cross compiling environment. This flag is intended to think the socket, returned from accept(), inherit file status flags such as O_NONBLOCK from the listening socket, but socket never inherits file status from the listening socket on Linux (more information to man accept).
If ac_cv_o_nonblock_inherited is set to yes on Linux, clients can not access the same ip address(URL) with Apache web server via http(port 80) and https(port443) without redirection
--- meta/recipes-support/apr/apr_1.4.6.bb | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
meta/recipes-support/apr/apr_1.4.6.bb +2 -1
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0c35ff3c4c83b89d2f076e315caac28b \ BBCLASSEXTEND = "native" -PR = "r1" +PR = "r2" SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \ file://configure_fixes.patch \
@@ -22,6 +22,7 @@ SRC_URI[sha256sum] = "9b635e60feb163e6fc6c375721f71f44d7e26d6b9cd52f6b86b04e65d2 inherit autotools lib_package binconfig multilib_header OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'" +EXTRA_OECONF = "ac_cv_o_nonblock_inherited=no" do_configure_prepend() { cd ${S}
Signature · 1 line
1.7.5.4
Quoted 5 lines · On Thursday, 29 November 2012 at 06:36, [email protected] wrote:
The flag
ac_cv_o_nonblock_inheritedis always set to yes in cross compiling environment. This flag is intended to think the socket, returned fromaccept(), inherit file status flags such asO_NONBLOCKfrom the listening socket, but socket never inherits file status from the listening socket on Linux (more information to man accept).
meta/site/powerpc32-linux already sets this to no, so if this Linux-wide behaviour it should be moved to site/common-linux instead of being specific to apr.
Ross
Quoted 10 lines · Ross Burton
Quoted 5 lines · On Thursday, 29 November 2012 at 06:36, [email protected] wrote:
The flag
ac_cv_o_nonblock_inheritedis always set to yes in cross compiling environment. This flag is intended to think the socket, returned fromaccept(), inherit file status flags such asO_NONBLOCKfrom the listening socket, but socket never inherits file status from the listening socket on Linux (more information to man accept).meta/site/powerpc32-linux already sets this to no, so if this Linux-wide behaviour it should be moved to site/common-linux instead of being specific to apr.
Ross
You reminds me, powerpc does not have this bug, but other arch have.
From man accept(), this is a Linux-wide behaviour, and it should be put to sit/common-linux.
-Roy
Quoted 2 lines
Signature · 2 lines
Best Reagrds, Roy | RongQing Li