Instead of adding the SOLARIS check to each HAVE_SYSINFO check let's just make the sysinfo autoconf logic a bit pickier about what it considers a usable sysinfo.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77878 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Joshua Colp 18 years ago
parent a7aaa0bbc2
commit 1e4bd7a192

4
configure vendored

@ -1,5 +1,5 @@
#! /bin/sh
# From configure.ac Revision: 77866 .
# From configure.ac Revision: 77875 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.61.
#
@ -16120,7 +16120,7 @@ cat >>conftest.$ac_ext <<_ACEOF
int
main ()
{
struct sysinfo sys_info;
struct sysinfo sys_info; int uptime = sys_info.uptime
;
return 0;
}

@ -382,7 +382,7 @@ AC_SUBST(AST_DECLARATION_AFTER_STATEMENT)
AC_MSG_CHECKING(for sysinfo)
AC_LINK_IFELSE(
AC_LANG_PROGRAM([#include <sys/sysinfo.h>],
[struct sysinfo sys_info;]),
[struct sysinfo sys_info; int uptime = sys_info.uptime]),
AC_MSG_RESULT(yes)
AC_DEFINE([HAVE_SYSINFO], 1, [Define to 1 if your system has sysinfo support]),
AC_MSG_RESULT(no)

@ -80,7 +80,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <grp.h>
#include <pwd.h>
#include <sys/stat.h>
#if defined(HAVE_SYSINFO) && !defined(SOLARIS)
#if defined(HAVE_SYSINFO)
#include <sys/sysinfo.h>
#endif
#ifdef linux
@ -166,7 +166,7 @@ int option_debug; /*!< Debug level */
double option_maxload; /*!< Max load avg on system */
int option_maxcalls; /*!< Max number of active calls */
int option_maxfiles; /*!< Max number of open file handles (files, sockets) */
#if defined(HAVE_SYSINFO) && !defined(SOLARIS)
#if defined(HAVE_SYSINFO)
long option_minmemfree; /*!< Minimum amount of free system memory - stop accepting calls if free memory falls below this watermark */
#endif
@ -360,7 +360,7 @@ static int handle_show_settings(int fd, int argc, char *argv[])
ast_cli(fd, " Verbosity: %d\n", option_verbose);
ast_cli(fd, " Debug level: %d\n", option_debug);
ast_cli(fd, " Max load avg: %lf\n", option_maxload);
#if defined(HAVE_SYSINFO) && !defined(SOLARIS)
#if defined(HAVE_SYSINFO)
ast_cli(fd, " Min Free Memory: %ld MB\n", option_minmemfree);
#endif
if (ast_localtime(&ast_startuptime, &tm, NULL)) {
@ -416,7 +416,7 @@ static int handle_show_threads(int fd, int argc, char *argv[])
return 0;
}
#if defined(HAVE_SYSINFO) && !defined(SOLARIS)
#if defined(HAVE_SYSINFO)
static const char show_sysinfo_help[] =
"Usage: core show sysinfo\n"
" List current system information.\n";
@ -1647,7 +1647,7 @@ static struct ast_cli_entry cli_asterisk[] = {
handle_show_threads, "Show running threads",
show_threads_help },
#if defined(HAVE_SYSINFO) && !defined(SOLARIS)
#if defined(HAVE_SYSINFO)
{ { "core", "show", "sysinfo", NULL },
handle_show_sysinfo, "Show System Information",
show_sysinfo_help },
@ -2452,7 +2452,7 @@ static void ast_readconfig(void)
}
} else if (!strcasecmp(v->name, "languageprefix")) {
ast_language_is_prefix = ast_true(v->value);
#if defined(HAVE_SYSINFO) && !defined(SOLARIS)
#if defined(HAVE_SYSINFO)
} else if (!strcasecmp(v->name, "minmemfree")) {
/* specify the minimum amount of free memory to retain. Asterisk should stop accepting new calls
* if the amount of free memory falls below this watermark */
@ -2533,7 +2533,7 @@ int main(int argc, char *argv[])
/* Check for options */
while ((c = getopt(argc, argv, "mtThfFdvVqprRgciInx:U:G:C:L:M:e:")) != -1) {
switch (c) {
#if defined(HAVE_SYSINFO) && !defined(SOLARIS)
#if defined(HAVE_SYSINFO)
case 'e':
if ((sscanf(&optarg[1], "%ld", &option_minmemfree) != 1) || (option_minmemfree < 0)) {
option_minmemfree = 0;

@ -37,7 +37,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <time.h>
#include <sys/time.h>
#include <limits.h>
#if defined(HAVE_SYSINFO) && !defined(SOLARIS)
#if defined(HAVE_SYSINFO)
#include <sys/sysinfo.h>
#endif
@ -2536,7 +2536,7 @@ static int increase_call_count(const struct ast_channel *c)
{
int failed = 0;
double curloadavg;
#if defined(HAVE_SYSINFO) && !defined(SOLARIS)
#if defined(HAVE_SYSINFO)
long curfreemem;
struct sysinfo sys_info;
#endif
@ -2555,7 +2555,7 @@ static int increase_call_count(const struct ast_channel *c)
failed = -1;
}
}
#if defined(HAVE_SYSINFO) && !defined(SOLARIS)
#if defined(HAVE_SYSINFO)
if (option_minmemfree) {
if (!sysinfo(&sys_info)) {
/* make sure that the free system memory is above the configured low watermark

Loading…
Cancel
Save