diff options
| author | sasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2008-02-25 19:15:55 +0000 |
|---|---|---|
| committer | sasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2008-02-25 19:15:55 +0000 |
| commit | 97d3cefc8e7bb3c5cd3c5c90b725ff2cdd15bf44 (patch) | |
| tree | aaf5424a1520500190e55091d5df2f03dff5e744 /src/zabbix_proxy/proxyconfig | |
| parent | 1bb0fd47706fa5b634807fe870358891decef421 (diff) | |
| download | zabbix-97d3cefc8e7bb3c5cd3c5c90b725ff2cdd15bf44.tar.gz zabbix-97d3cefc8e7bb3c5cd3c5c90b725ff2cdd15bf44.tar.xz zabbix-97d3cefc8e7bb3c5cd3c5c90b725ff2cdd15bf44.zip | |
- [DEV-110] Proxy
git-svn-id: svn://svn.zabbix.com/trunk@5398 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src/zabbix_proxy/proxyconfig')
| -rw-r--r-- | src/zabbix_proxy/proxyconfig/proxyconfig.c | 18 | ||||
| -rw-r--r-- | src/zabbix_proxy/proxyconfig/proxyconfig.h | 2 |
2 files changed, 13 insertions, 7 deletions
diff --git a/src/zabbix_proxy/proxyconfig/proxyconfig.c b/src/zabbix_proxy/proxyconfig/proxyconfig.c index 24bdd054..ff2acd8b 100644 --- a/src/zabbix_proxy/proxyconfig/proxyconfig.c +++ b/src/zabbix_proxy/proxyconfig/proxyconfig.c @@ -20,6 +20,7 @@ #include "common.h" #include "db.h" #include "log.h" +#include "daemon.h" #include "zbxjson.h" #include "proxyconfig.h" @@ -131,7 +132,8 @@ static int process_proxyconfig_table(struct zbx_json_parse *jp, const char *tabl */ if (FAIL == zbx_json_brackets_open(p, &jp_row)) goto json_error; - if (NULL == (pf = zbx_json_next(&jp_row, NULL)) || NULL == (pf = zbx_json_decodevalue(pf, recid, sizeof(recid))) ) + pf = NULL; + if (NULL == (pf = zbx_json_next_value(&jp_row, pf, recid, sizeof(recid)))) goto json_error; result = DBselect("select 0 from %s where %s=%s", @@ -159,10 +161,7 @@ static int process_proxyconfig_table(struct zbx_json_parse *jp, const char *tabl /* {"hosts":{"fields":["hostid","host",...],"data":[[1,"zbx01",...],[2,"zbx02",...],...]},"items":{...},...} * ^ */ f = 1; - while (NULL != (pf = zbx_json_next(&jp_row, pf))) { - if (NULL == (pf = zbx_json_decodevalue(pf, buf, sizeof(buf)))) - goto json_error; - + while (NULL != (pf = zbx_json_next_value(&jp_row, pf, buf, sizeof(buf)))) { execute = 1; if (f == field_count) { @@ -337,11 +336,16 @@ exit: ******************************************************************************/ void main_proxyconfig_loop() { -#define CONFIG_PROXYCONFIG_FREQUENCY 10 + struct sigaction phan; int start, sleeptime; zabbix_log(LOG_LEVEL_DEBUG, "In main_proxyconfig_loop()"); + phan.sa_handler = child_signal_handler; + sigemptyset(&phan.sa_mask); + phan.sa_flags = 0; + sigaction(SIGALRM, &phan, NULL); + for (;;) { start = time(NULL); @@ -360,7 +364,7 @@ void main_proxyconfig_loop() if (sleeptime > 0) { zbx_setproctitle("configuration syncer [sleeping for %d seconds]", sleeptime); - zabbix_log (LOG_LEVEL_DEBUG, "Sleeping %d seconds", + zabbix_log(LOG_LEVEL_DEBUG, "Sleeping for %d seconds", sleeptime); sleep(sleeptime); } diff --git a/src/zabbix_proxy/proxyconfig/proxyconfig.h b/src/zabbix_proxy/proxyconfig/proxyconfig.h index 15ab3fd8..beeab05f 100644 --- a/src/zabbix_proxy/proxyconfig/proxyconfig.h +++ b/src/zabbix_proxy/proxyconfig/proxyconfig.h @@ -20,6 +20,8 @@ #ifndef ZABBIX_PROXYCONFIG_H #define ZABBIX_PROXYCONFIG_H +extern int CONFIG_PROXYCONFIG_FREQUENCY; + void main_proxyconfig_loop(); #endif |
