summaryrefslogtreecommitdiffstats
path: root/include/functions.c
diff options
context:
space:
mode:
authorhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2004-03-15 18:45:05 +0000
committerhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2004-03-15 18:45:05 +0000
commite1c7208663b030ba141463b317db95014282cd82 (patch)
treea3a6a6df494bd06112bda7bf1cb136d02cb1f036 /include/functions.c
parent18e3f391e24c5924076f55e2ae1c3ab6c48ba922 (diff)
downloadzabbix-e1c7208663b030ba141463b317db95014282cd82.tar.gz
zabbix-e1c7208663b030ba141463b317db95014282cd82.tar.xz
zabbix-e1c7208663b030ba141463b317db95014282cd82.zip
- fixed serious issue with sending of alerts (Alexei)
git-svn-id: svn://svn.zabbix.com/trunk@1297 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'include/functions.c')
-rw-r--r--include/functions.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/include/functions.c b/include/functions.c
index 6a084b89..acf88b7c 100644
--- a/include/functions.c
+++ b/include/functions.c
@@ -1156,9 +1156,9 @@ void update_triggers(int itemid)
DB_RESULT *result;
int i;
-/* int prevvalue;*/
+ int prevvalue;
- zabbix_log( LOG_LEVEL_DEBUG, "In update_triggers (%d)", itemid);
+ zabbix_log( LOG_LEVEL_DEBUG, "In update_triggers [%d]", itemid);
/* Does not work for PostgreSQL */
/* sprintf(sql,"select t.triggerid,t.expression,t.status,t.dep_level,t.priority,t.value from triggers t,functions f,items i where i.status<>3 and i.itemid=f.itemid and t.status=%d and f.triggerid=t.triggerid and f.itemid=%d group by t.triggerid,t.expression,t.dep_level",TRIGGER_STATUS_ENABLED,sucker_num);*/
@@ -1184,7 +1184,10 @@ void update_triggers(int itemid)
}
/* Oprimise a little bit */
-/* prevvalue=DBget_prev_trigger_value(trigger.triggerid);*/
+/* Comment! */
+ prevvalue=DBget_prev_trigger_value(trigger.triggerid);
+
+ zabbix_log( LOG_LEVEL_DEBUG, "b trigger.value prevvalue [%d] [%d] [%d]", b, trigger.value, prevvalue);
if(TRIGGER_VALUE_TRUE == b)
{
@@ -1197,9 +1200,9 @@ void update_triggers(int itemid)
||
(
(trigger.value == TRIGGER_VALUE_UNKNOWN) &&
-/* Oprimise a little bit */
-/* (prevvalue == TRIGGER_VALUE_FALSE)*/
- (DBget_prev_trigger_value(trigger.triggerid) == TRIGGER_VALUE_FALSE)
+/* Optimise a little bit. This optimisation does not work because DBupdate_trigger_value may add alarm! */
+ (prevvalue == TRIGGER_VALUE_FALSE)
+/* (DBget_prev_trigger_value(trigger.triggerid) == TRIGGER_VALUE_FALSE)*/
))
{
now = time(NULL);
@@ -1211,6 +1214,7 @@ void update_triggers(int itemid)
update_services(trigger.triggerid, trigger.priority);
}
+
}
if(TRIGGER_VALUE_FALSE == b)
@@ -1220,14 +1224,13 @@ void update_triggers(int itemid)
now = time(NULL);
DBupdate_trigger_value(trigger.triggerid,TRIGGER_VALUE_FALSE,now);
}
-
if((trigger.value == TRIGGER_VALUE_TRUE)
||
(
(trigger.value == TRIGGER_VALUE_UNKNOWN) &&
-/* Oprimise a little bit */
-/* (prevvalue == TRIGGER_VALUE_TRUE)*/
- (DBget_prev_trigger_value(trigger.triggerid) == TRIGGER_VALUE_TRUE)
+/* Optimise a little bit. This optimisation does not work because DBupdate_trigger_value may add alarm! */
+ (prevvalue == TRIGGER_VALUE_TRUE)
+/* (DBget_prev_trigger_value(trigger.triggerid) == TRIGGER_VALUE_TRUE)*/
))
{
/* apply_actions(trigger.triggerid,0);*/