--- event.c 2007-02-09 11:06:48.000000000 +0100 +++ ../event.c 2007-02-09 11:07:32.000000000 +0100 @@ -816,6 +816,11 @@ return; } + if((A->id == EVENT_TIMEOUT)) { + control_service(s->name, ACTION_UNMONITOR); + return; + } + control_service(s->name, A->id); } } --- p.y 2007-02-09 11:06:49.000000000 +0100 +++ ../p.y 2007-02-09 10:27:38.000000000 +0100 @@ -1022,11 +1022,12 @@ } ; -timeout : IF NUMBER RESTART NUMBER CYCLE THEN TIMEOUT { +timeout : IF NUMBER RESTART NUMBER CYCLE THEN action1 recovery { check_timeout($2, $4); current->def_timeout= TRUE; current->to_start= $2; current->to_cycle= $4; + addeventaction(&(current)->action_TIMEOUT, $7,$8); } ;