diff options
| author | sasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-10-30 15:22:44 +0000 |
|---|---|---|
| committer | sasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-10-30 15:22:44 +0000 |
| commit | 5e4063517c2aba730d1aa2273754a85891375282 (patch) | |
| tree | b51454a45765f1d0e249e1f8943f22b2d2e7ca7b /src/zabbix_server/trapper | |
| parent | 28372be4dd75b7c4ffe459ec2dd82af252112fac (diff) | |
| download | zabbix-5e4063517c2aba730d1aa2273754a85891375282.tar.gz zabbix-5e4063517c2aba730d1aa2273754a85891375282.tar.xz zabbix-5e4063517c2aba730d1aa2273754a85891375282.zip | |
- [NTT-29] zabbix_server process on master node terminated unexpectedly
[svn merge -r4947:4948 svn://svn.zabbix.com/branches/1.4.j]
git-svn-id: svn://svn.zabbix.com/trunk@4949 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src/zabbix_server/trapper')
| -rw-r--r-- | src/zabbix_server/trapper/nodeevents.c | 7 | ||||
| -rw-r--r-- | src/zabbix_server/trapper/trapper.c | 5 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/zabbix_server/trapper/nodeevents.c b/src/zabbix_server/trapper/nodeevents.c index 10200ebf..7fd21b3e 100644 --- a/src/zabbix_server/trapper/nodeevents.c +++ b/src/zabbix_server/trapper/nodeevents.c @@ -73,18 +73,23 @@ static int process_record(int nodeid, char *record) memset(&event,0,sizeof(DB_EVENT)); zbx_get_field(record,tmp,0,ZBX_DM_DELIMITER); - sscanf(tmp,ZBX_FS_UI64,&event.eventid); ZBX_STR2UINT64(event.eventid, tmp); + zbx_get_field(record,tmp,1,ZBX_DM_DELIMITER); event.source=atoi(tmp); + zbx_get_field(record,tmp,2,ZBX_DM_DELIMITER); event.object=atoi(tmp); + zbx_get_field(record,tmp,3,ZBX_DM_DELIMITER); ZBX_STR2UINT64(event.objectid, tmp); + zbx_get_field(record,tmp,4,ZBX_DM_DELIMITER); event.clock=atoi(tmp); + zbx_get_field(record,tmp,5,ZBX_DM_DELIMITER); event.value=atoi(tmp); + zbx_get_field(record,tmp,6,ZBX_DM_DELIMITER); event.acknowledged=atoi(tmp); diff --git a/src/zabbix_server/trapper/trapper.c b/src/zabbix_server/trapper/trapper.c index 58e5167c..5b40f0ac 100644 --- a/src/zabbix_server/trapper/trapper.c +++ b/src/zabbix_server/trapper/trapper.c @@ -104,13 +104,12 @@ static int process_trap(zbx_sock_t *sock,char *s, int max_len) else { res = calculate_checksums(nodeid, NULL, 0); if (SUCCEED == res && NULL != (data = get_config_data(nodeid, ZBX_NODE_SLAVE))) { - if (SUCCEED == res) - res = send_data_to_node(sender_nodeid, sock, data); + res = send_data_to_node(sender_nodeid, sock, data); + zbx_free(data); if (SUCCEED == res) res = recv_data_from_node(sender_nodeid, sock, &answer); if (SUCCEED == res && 0 == strcmp(answer, "OK")) res = update_checksums(nodeid, ZBX_NODE_SLAVE, SUCCEED, NULL, 0, NULL); - zbx_free(data); } } |
