HP-UX (IA64) sendmsg() failed
Maxim Dounin
mdounin at mdounin.ru
Sat Jun 16 01:14:06 UTC 2012
Hello!
On Mon, Jun 11, 2012 at 05:08:38AM -0400, wwwyq2003 wrote:
> nginx nginx-1.2.1
> OS HP-UX B.11.23 U ia64
> built by gcc 4.2.3
>
> When I start the nginx server,it throws some errors.
>
> The error.log contains
> 2012/06/11 16:46:07 [notice] 6820#0: using the "/dev/poll" event method
> 2012/06/11 16:46:07 [notice] 6820#0: nginx/1.2.1
> 2012/06/11 16:46:07 [notice] 6820#0: built by gcc 4.2.3
> 2012/06/11 16:46:07 [notice] 6820#0: getrlimit(RLIMIT_NOFILE):
> 10240:10240
> 2012/06/11 16:46:07 [notice] 6821#0: start worker processes
> 2012/06/11 16:46:07 [notice] 6821#0: start worker process 6822
> 2012/06/11 16:46:07 [notice] 6821#0: start worker process 6823
> 2012/06/11 16:46:07 [alert] 6821#0: sendmsg() failed (9: Bad file
> number)
> 2012/06/11 16:46:07 [notice] 6821#0: start worker process 6824
> 2012/06/11 16:46:07 [alert] 6821#0: sendmsg() failed (9: Bad file
> number)
> 2012/06/11 16:46:07 [alert] 6821#0: sendmsg() failed (9: Bad file
> number)
> 2012/06/11 16:46:07 [notice] 6821#0: start worker process 6825
> 2012/06/11 16:46:07 [alert] 6821#0: sendmsg() failed (9: Bad file
> number)
> 2012/06/11 16:46:07 [alert] 6821#0: sendmsg() failed (9: Bad file
> number)
> 2012/06/11 16:46:07 [alert] 6821#0: sendmsg() failed (9: Bad file
> number)
>
>
> Someone help me.
> Thank you very much!
The following patch should help:
# HG changeset patch
# User Maxim Dounin <mdounin at mdounin.ru>
# Date 1339809190 -14400
# Node ID 94e0eb86b0d0743f8ddbe946f142b35d6a606e2e
# Parent 87049097aab36ec42513ccb8f015c3ce59edeff3
Fixed "sendmsg() failed" alerts on HP-UX.
HP-UX needs _HPUX_ALT_XOPEN_SOCKET_API to be defined to be able to
use various POSIX versions of networking functions. Notably sendmsg()
resulted in "sendmsg() failed (9: Bad file number)" alerts without it.
See xopen_networking(7) for more details.
diff --git a/auto/os/conf b/auto/os/conf
--- a/auto/os/conf
+++ b/auto/os/conf
@@ -48,6 +48,7 @@ case "$NGX_PLATFORM" in
CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
CORE_SRCS="$UNIX_SRCS"
CC_AUX_FLAGS="$CC_AUX_FLAGS -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
+ CC_AUX_FLAGS="$CC_AUX_FLAGS -D_HPUX_ALT_XOPEN_SOCKET_API"
;;
OSF1:*)
diff --git a/src/os/unix/ngx_posix_config.h b/src/os/unix/ngx_posix_config.h
--- a/src/os/unix/ngx_posix_config.h
+++ b/src/os/unix/ngx_posix_config.h
@@ -12,6 +12,7 @@
#if (NGX_HPUX)
#define _XOPEN_SOURCE
#define _XOPEN_SOURCE_EXTENDED 1
+#define _HPUX_ALT_XOPEN_SOCKET_API
#endif
Maxim Dounin
More information about the nginx
mailing list