From 0dda56a48e940826f173b5068bff9777a40de2cf Mon Sep 17 00:00:00 2001 From: Nicholas Heath Date: Sun, 3 Feb 2013 19:08:37 +0000 Subject: [PATCH] Preliminary changes for Minix3. --- configure.ac | 8 ++++++++ test/bench.c | 4 ++-- test/bench_cascade.c | 4 ++-- test/bench_httpclient.c | 4 ++++ 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 75b2b6a4..4979cbfb 100644 --- a/configure.ac +++ b/configure.ac @@ -679,6 +679,14 @@ AC_CHECK_MEMBERS([struct in6_addr.s6_addr32, struct in6_addr.s6_addr16, struct s #endif ]) +AC_CHECK_TYPES([struct so_linger], +[#define HAVE_SO_LINGER], , +[ +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +]) + AC_MSG_CHECKING([for socklen_t]) AC_TRY_COMPILE([ #include diff --git a/test/bench.c b/test/bench.c index 2f5271b2..01aecfdd 100644 --- a/test/bench.c +++ b/test/bench.c @@ -125,7 +125,7 @@ run_once(void) int main(int argc, char **argv) { -#ifndef _WIN32 +#ifdef HAVE_SETRLIMIT struct rlimit rl; #endif int i, c; @@ -156,7 +156,7 @@ main(int argc, char **argv) } } -#ifndef _WIN32 +#ifdef HAVE_SETRLIMIT rl.rlim_cur = rl.rlim_max = num_pipes * 2 + 50; if (setrlimit(RLIMIT_NOFILE, &rl) == -1) { perror("setrlimit"); diff --git a/test/bench_cascade.c b/test/bench_cascade.c index 873a14ea..a5d5a6f6 100644 --- a/test/bench_cascade.c +++ b/test/bench_cascade.c @@ -139,7 +139,7 @@ run_once(int num_pipes) int main(int argc, char **argv) { -#ifndef _WIN32 +#ifdef HAVE_SETRLIMIT struct rlimit rl; #endif int i, c; @@ -157,7 +157,7 @@ main(int argc, char **argv) } } -#ifndef _WIN32 +#ifdef HAVE_SETRLIMIT rl.rlim_cur = rl.rlim_max = num_pipes * 2 + 50; if (setrlimit(RLIMIT_NOFILE, &rl) == -1) { perror("setrlimit"); diff --git a/test/bench_httpclient.c b/test/bench_httpclient.c index affd60d1..22f174da 100644 --- a/test/bench_httpclient.c +++ b/test/bench_httpclient.c @@ -113,14 +113,18 @@ errorcb(struct bufferevent *b, short what, void *arg) static void frob_socket(evutil_socket_t sock) { +#ifdef HAVE_SO_LINGER struct linger l; +#endif int one = 1; if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (void*)&one, sizeof(one))<0) perror("setsockopt(SO_REUSEADDR)"); +#ifdef HAVE_SO_LINGER l.l_onoff = 1; l.l_linger = 0; if (setsockopt(sock, SOL_SOCKET, SO_LINGER, (void*)&l, sizeof(l))<0) perror("setsockopt(SO_LINGER)"); +#endif } static int -- 2.50.0