summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorsasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-09-03 14:41:18 +0000
committersasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-09-03 14:41:18 +0000
commit5df979d2e2addb993d8b7b4b63a41997f2d3c1a7 (patch)
treee10f0d72ffd0102fde8e13db6f7728e8e76a1190 /src
parent108da02c7e3ef8b135fe2a619324d2dc860e7754 (diff)
[ZBX-1] fixed wrong status of function "nodata" after server restart (Sasha)
[svn merge svn://svn.zabbix.com/branches/1.4 -r4717:4720] git-svn-id: svn://svn.zabbix.com/trunk@4722 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src')
-rw-r--r--src/zabbix_server/evalfunc.c6
-rw-r--r--src/zabbix_server/evalfunc.h1
-rw-r--r--src/zabbix_server/server.c5
3 files changed, 11 insertions, 1 deletions
diff --git a/src/zabbix_server/evalfunc.c b/src/zabbix_server/evalfunc.c
index 54491200..5bb59417 100644
--- a/src/zabbix_server/evalfunc.c
+++ b/src/zabbix_server/evalfunc.c
@@ -947,9 +947,11 @@ static int evaluate_NODATA(char *value,DB_ITEM *item,int parameter)
int now;
int res = SUCCEED;
+ zabbix_log( LOG_LEVEL_DEBUG, "In evaluate_NODATA()");
+
now = time(NULL);
- if(item->lastclock + parameter > now)
+ if((CONFIG_SERVER_STARTUP_TIME + parameter > now) || (item->lastclock + parameter > now))
{
strcpy(value,"0");
}
@@ -958,6 +960,8 @@ static int evaluate_NODATA(char *value,DB_ITEM *item,int parameter)
strcpy(value,"1");
}
+ zabbix_log( LOG_LEVEL_DEBUG, "End of evaluate_NODATA()");
+
return res;
}
diff --git a/src/zabbix_server/evalfunc.h b/src/zabbix_server/evalfunc.h
index af11427f..77826c3d 100644
--- a/src/zabbix_server/evalfunc.h
+++ b/src/zabbix_server/evalfunc.h
@@ -31,6 +31,7 @@
#define ZBX_FLAG_VALUES 1
extern int CONFIG_NODEID;
+extern int CONFIG_SERVER_STARTUP_TIME;
int evaluate_function(char *value,DB_ITEM *item,char *function,char *parameter);
int evaluate_function2(char *value,char *host,char *key,char *function,char *parameter);
diff --git a/src/zabbix_server/server.c b/src/zabbix_server/server.c
index 21429aca..ccbf9ecd 100644
--- a/src/zabbix_server/server.c
+++ b/src/zabbix_server/server.c
@@ -165,6 +165,9 @@ int CONFIG_ENABLE_LOG = 1;
/* From table config */
int CONFIG_REFRESH_UNSUPPORTED = 0;
+/* Zabbix server sturtup time */
+int CONFIG_SERVER_STARTUP_TIME = 0;
+
/******************************************************************************
* *
* Function: init_config *
@@ -224,6 +227,8 @@ void init_config(void)
{0}
};
+ CONFIG_SERVER_STARTUP_TIME = time(NULL);
+
parse_cfg_file(CONFIG_FILE,cfg);