diff options
| author | artem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2008-04-01 09:07:31 +0000 |
|---|---|---|
| committer | artem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2008-04-01 09:07:31 +0000 |
| commit | 03e678c45527d1f317671a2ea28fc263fd02fd13 (patch) | |
| tree | c345a19603df24ea0661f3d4dced278dd0aabb88 /src | |
| parent | 53988b911a9c89465dce8b694177e090fc737a91 (diff) | |
| download | zabbix-03e678c45527d1f317671a2ea28fc263fd02fd13.tar.gz zabbix-03e678c45527d1f317671a2ea28fc263fd02fd13.tar.xz zabbix-03e678c45527d1f317671a2ea28fc263fd02fd13.zip | |
- fixes to services calculation algorithms (Artem)
git-svn-id: svn://svn.zabbix.com/trunk@5570 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src')
| -rw-r--r-- | src/libs/zbxdbhigh/db.c | 2 | ||||
| -rw-r--r-- | src/libs/zbxdbhigh/host.c | 16 | ||||
| -rw-r--r-- | src/zabbix_server/events.c | 2 |
3 files changed, 9 insertions, 11 deletions
diff --git a/src/libs/zbxdbhigh/db.c b/src/libs/zbxdbhigh/db.c index b4c61a95..84cf6e57 100644 --- a/src/libs/zbxdbhigh/db.c +++ b/src/libs/zbxdbhigh/db.c @@ -441,7 +441,7 @@ int latest_service_alarm(zbx_uint64_t serviceid, int status) int DBadd_service_alarm(zbx_uint64_t serviceid,int status,int clock) { zabbix_log(LOG_LEVEL_DEBUG,"In add_service_alarm()"); - + if(latest_service_alarm(serviceid,status) == SUCCEED) { return SUCCEED; diff --git a/src/libs/zbxdbhigh/host.c b/src/libs/zbxdbhigh/host.c index 52e5178c..7a593948 100644 --- a/src/libs/zbxdbhigh/host.c +++ b/src/libs/zbxdbhigh/host.c @@ -1,4 +1,4 @@ -/* +/* ** ZABBIX ** Copyright (C) 2000-2005 SIA Zabbix ** @@ -275,13 +275,14 @@ static int DBget_service_status( DB_ROW row; int status = 0; - char sql[MAX_STRING_LEN]; char sort_order[MAX_STRING_LEN]; - + char sql[MAX_STRING_LEN]; + if( 0 != triggerid ) { result = DBselect("select priority from triggers where triggerid=" ZBX_FS_UI64 " and status=0 and value=%d", triggerid, TRIGGER_VALUE_TRUE); - if( (row = DBfetch(result)) ) + row = DBfetch(result); + if(row && (DBis_null(row[0])!=SUCCEED)) { status = atoi(row[0]); } @@ -478,13 +479,10 @@ void DBupdate_services( while((row=DBfetch(result))) { ZBX_STR2UINT64(serviceid,row[0]); - + DBadd_service_alarm( serviceid, - DBget_service_status( - serviceid, - atoi(row[1]), - 0), + status, time(NULL) ); diff --git a/src/zabbix_server/events.c b/src/zabbix_server/events.c index 3b590ed3..c29bed27 100644 --- a/src/zabbix_server/events.c +++ b/src/zabbix_server/events.c @@ -194,7 +194,7 @@ int process_event(DB_EVENT *event) process_actions(event); } - if(event->value == TRIGGER_VALUE_TRUE) + if(TRIGGER_VALUE_TRUE == event->value) { DBupdate_services(event->objectid, event->trigger_priority); } |
