MEDIUM: Paramatise functions over the check of a server
Paramatise the following functions over the check of a server
* set_server_down
* set_server_up
* srv_getinter
* server_status_printf
* set_server_check_status
* set_server_disabled
* set_server_enabled
Generally the server parameter of these functions has been removed.
Where it is still needed it is obtained using check->server.
This is in preparation for associating a agent check
with a server which runs as well as the server's existing check.
By paramatising these functions they may act on each of the checks
without further significant modification.
Explanation of the SSP_O_HCHK portion of this change:
* Prior to this patch SSP_O_HCHK serves a single purpose which
is to tell server_status_printf() weather it should print
the details of the check of a server or not.
With the paramatisation that this patch adds there are two cases.
1) Printing the details of the check in which case a
valid check parameter is needed.
2) Not printing the details of the check in which case
the contents check parameter are unused.
In case 1) we could pass SSP_O_HCHK and a valid check and;
In case 2) we could pass !SSP_O_HCHK and any value for check
including NULL.
If NULL is used for case 2) then SSP_O_HCHK becomes supurfulous
and as NULL is used for case 2) SSP_O_HCHK has been removed.
Signed-off-by: Simon Horman <horms@verge.net.au>
diff --git a/src/dumpstats.c b/src/dumpstats.c
index 8707e22..9a422c1 100644
--- a/src/dumpstats.c
+++ b/src/dumpstats.c
@@ -1308,14 +1308,14 @@
* we must restore the good status.
*/
if (sv->track->state & SRV_RUNNING) {
- set_server_up(sv);
+ set_server_up(&sv->check);
sv->health = sv->rise; /* up, but will fall down at first failure */
} else {
sv->state &= ~SRV_MAINTAIN;
- set_server_down(sv);
+ set_server_down(&sv->check);
}
} else {
- set_server_up(sv);
+ set_server_up(&sv->check);
sv->health = sv->rise; /* up, but will fall down at first failure */
}
}
@@ -1365,7 +1365,7 @@
if (! (sv->state & SRV_MAINTAIN)) {
/* Not already in maintenance, we can change the server state */
sv->state |= SRV_MAINTAIN;
- set_server_down(sv);
+ set_server_down(&sv->check);
}
return 1;