diff options
author | SUZUKI, Shinsuke <suz@kame.net> | 2007-07-24 15:48:58 +0000 |
---|---|---|
committer | Bjørn Mork <bjorn@mork.no> | 2010-08-06 15:37:37 +0200 |
commit | 47802624717c287dbeec18dd6f76e7683fc13ab0 (patch) | |
tree | 099c6cdeb2d80bd7e5390f41f0f3d97e0da2a0cd | |
parent | 8cd1aa21f41750e38f3e3f7e907b7926ebe473c4 (diff) |
use sig_atomic_t for a signal-handler variable (Bug-ID 1678874)
-rw-r--r-- | CHANGES | 2 | ||||
-rwxr-xr-x | configure | 73 | ||||
-rw-r--r-- | configure.in | 3 | ||||
-rw-r--r-- | dhcp6c.c | 2 | ||||
-rw-r--r-- | dhcp6relay.c | 2 | ||||
-rw-r--r-- | dhcp6s.c | 2 |
6 files changed, 81 insertions, 3 deletions
@@ -1,4 +1,6 @@ 2007-07-24 SUZUKI, Shinsuke <suz@kame.net> + * dhcp6s.c, dhcp6c.c, dhcp6relay.c, configure*: use sig_atomic_t for + a signal-handler variable (Bug-ID 1678874) * common.c: fixed a buffer overrun in sprint_uint64() (Bug-ID 1714648) @@ -4874,6 +4874,79 @@ _ACEOF fi fi +echo "$as_me:$LINENO: checking for sig_atomic_t" >&5 +echo $ECHO_N "checking for sig_atomic_t... $ECHO_C" >&6 +if test "${ac_cv_type_sig_atomic_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <sys/types.h> + #include <signal.h> + +int +main () +{ +if ((sig_atomic_t *) 0) + return 0; +if (sizeof (sig_atomic_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_type_sig_atomic_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_type_sig_atomic_t=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_sig_atomic_t" >&5 +echo "${ECHO_T}$ac_cv_type_sig_atomic_t" >&6 +if test $ac_cv_type_sig_atomic_t = yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE_SIG_ATOMIC_T 1 +_ACEOF + + +else + cat >>confdefs.h <<\_ACEOF +#define sig_atomic_t u_long +_ACEOF + +fi + + echo "$as_me:$LINENO: checking whether getpgrp requires zero arguments" >&5 echo $ECHO_N "checking whether getpgrp requires zero arguments... $ECHO_C" >&6 diff --git a/configure.in b/configure.in index 461949a..59dd84e 100644 --- a/configure.in +++ b/configure.in @@ -104,6 +104,9 @@ AC_TYPE_SIZE_T AC_HEADER_TIME AC_STRUCT_TM AC_STRUCT_TIMEZONE +AC_CHECK_TYPES([sig_atomic_t], , [AC_DEFINE(sig_atomic_t, u_long)], [#include <sys/types.h> + #include <signal.h>]) + dnl Checks for library functions. AC_FUNC_GETPGRP @@ -81,7 +81,7 @@ static int debug = 0; static int exit_ok = 0; -static u_long sig_flags = 0; +static sig_atomic_t sig_flags = 0; #define SIGF_TERM 0x1 #define SIGF_HUP 0x2 diff --git a/dhcp6relay.c b/dhcp6relay.c index e9b6dfd..fb84ce3 100644 --- a/dhcp6relay.c +++ b/dhcp6relay.c @@ -69,7 +69,7 @@ static int csock; /* socket for clients */ static int maxfd; /* maxi file descriptor for select(2) */ static int debug = 0; -static u_long sig_flags = 0; +static sig_atomic_t sig_flags = 0; #define SIGF_TERM 0x1 static char *relaydevice; @@ -124,7 +124,7 @@ struct relayinfo { TAILQ_HEAD(relayinfolist, relayinfo); static int debug = 0; -static u_long sig_flags = 0; +static sig_atomic_t sig_flags = 0; #define SIGF_TERM 0x1 const dhcp6_mode_t dhcp6_mode = DHCP6_MODE_SERVER; |