summaryrefslogtreecommitdiffstats
path: root/src/zabbix_proxy/proxyconfig
diff options
context:
space:
mode:
authorsasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-02-25 19:15:55 +0000
committersasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-02-25 19:15:55 +0000
commit97d3cefc8e7bb3c5cd3c5c90b725ff2cdd15bf44 (patch)
treeaaf5424a1520500190e55091d5df2f03dff5e744 /src/zabbix_proxy/proxyconfig
parent1bb0fd47706fa5b634807fe870358891decef421 (diff)
downloadzabbix-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.c18
-rw-r--r--src/zabbix_proxy/proxyconfig/proxyconfig.h2
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