[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[monit-dev] [monit] r212 committed - fix the MONIT_DESCRIPTION environme
From: |
monit |
Subject: |
[monit-dev] [monit] r212 committed - fix the MONIT_DESCRIPTION environment variable |
Date: |
Mon, 26 Jul 2010 19:11:11 +0000 |
Revision: 212
Author: martin2812
Date: Mon Jul 26 12:10:25 2010
Log: fix the MONIT_DESCRIPTION environment variable
http://code.google.com/p/monit/source/detail?r=212
Modified:
/trunk/CHANGES.txt
/trunk/control.c
/trunk/event.c
/trunk/monitor.h
/trunk/spawn.c
=======================================
--- /trunk/CHANGES.txt Sat Jul 24 04:27:48 2010
+++ /trunk/CHANGES.txt Mon Jul 26 12:10:25 2010
@@ -90,6 +90,9 @@
* Fixed RADIUS procol test. Thanks to Alan DeKok for patch.
+* Fixed MONIT_DESCRIPTION environment variable. Thanks to Marco Roeland for
+ patch.
+
* Fixed system load average monitoring on AIX
* Fixed compilation on AIX 6.1
=======================================
--- /trunk/control.c Sun May 2 12:57:05 2010
+++ /trunk/control.c Mon Jul 26 12:10:25 2010
@@ -334,7 +334,7 @@
if (s->start && (s->type!=TYPE_PROCESS || !Util_isProcessRunning(s))) {
LogInfo("'%s' start: %s\n", s->name, s->start->arg[0]);
- spawn(s, s->start, "Started");
+ spawn(s, s->start, NULL);
/* We only wait for a process type, other service types does not have
a pid file to watch */
if (s->type == TYPE_PROCESS)
wait_start(s);
@@ -364,7 +364,7 @@
if (s->stop && (s->type!=TYPE_PROCESS || Util_isProcessRunning(s))) {
LogInfo("'%s' stop: %s\n", s->name, s->stop->arg[0]);
- spawn(s, s->stop, "Stopped");
+ spawn(s, s->stop, NULL);
if (s->type == TYPE_PROCESS) {
/* Only wait for process service types */
if (!wait_stop(s))
=======================================
--- /trunk/event.c Mon Jul 26 11:37:55 2010
+++ /trunk/event.c Mon Jul 26 12:10:25 2010
@@ -709,7 +709,7 @@
return;
} else if (A->id == ACTION_EXEC) {
LogInfo("'%s' exec: %s\n", s->name, A->exec->arg[0]);
- spawn(s, A->exec, Event_get_description(E));
+ spawn(s, A->exec, E);
return;
} else {
if (s->actionratelist && (A->id == ACTION_START || A->id ==
ACTION_RESTART))
=======================================
--- /trunk/monitor.h Mon Jul 26 07:54:50 2010
+++ /trunk/monitor.h Mon Jul 26 12:10:25 2010
@@ -907,7 +907,7 @@
int control_service_daemon(const char *, const char *);
void setup_dependants();
void reset_depend();
-void spawn(Service_T, Command_T, const char *);
+void spawn(Service_T, Command_T, Event_T);
int status(char *);
int log_init();
void LogEmergency(const char *, ...);
=======================================
--- /trunk/spawn.c Fri Jan 8 03:20:43 2010
+++ /trunk/spawn.c Mon Jul 26 12:10:25 2010
@@ -114,7 +114,7 @@
static void put_monit_environment(Environment_T e);
static void free_monit_environment(Environment_T *e);
static void push_monit_environment(const char *env, Environment_T *list);
-static void set_monit_environment(Service_T s, const char *event,
Environment_T *e);
+static void set_monit_environment(Service_T s, Command_T C, Event_T event,
Environment_T *e);
/* ------------------------------------------------------------------
Public */
@@ -125,11 +125,9 @@
* thread in control.c should notice this and send an alert message.
* @param P A Service object
* @param C A Command object
- * @param E An optional event string, specifying why this function was
- * called. May be NULL.
+ * @param E An optional event object. May be NULL.
*/
-void spawn(Service_T S, Command_T C, const char *E) {
-
+void spawn(Service_T S, Command_T C, Event_T E) {
pid_t pid;
sigset_t mask;
sigset_t save;
@@ -152,7 +150,7 @@
sigaddset(&mask, SIGCHLD);
pthread_sigmask(SIG_BLOCK, &mask, &save);
- set_monit_environment(S, E, &environment);
+ set_monit_environment(S, C, E, &environment);
pid= fork();
if(pid < 0) {
@@ -259,10 +257,7 @@
* Setup the environment with special MONIT_xxx variables. The program
* executed may use such variable for various purposes.
*/
-static void set_monit_environment(Service_T s,
- const char *event,
- Environment_T *e) {
-
+static void set_monit_environment(Service_T s, Command_T C, Event_T event,
Environment_T *e) {
char buf[STRLEN];
char date[STRLEN];
@@ -277,13 +272,11 @@
snprintf(buf, STRLEN, "MONIT_HOST=%s", Run.localhostname);
push_monit_environment(buf, e);
- snprintf(buf, STRLEN, "MONIT_EVENT=%s", event?event:"No Event");
+ snprintf(buf, STRLEN, "MONIT_EVENT=%s", event ?
Event_get_description(event) : C == s->start ? "Started" : C ==
s->stop ? "Stopped" : "No Event");
push_monit_environment(buf, e);
- if (s->eventlist) {
- snprintf(buf, STRLEN, "MONIT_DESCRIPTION=%s", s->eventlist->message);
- push_monit_environment(buf, e);
- }
+ snprintf(buf, STRLEN, "MONIT_DESCRIPTION=%s", event ?
Event_get_message(event) : C == s->start ? "Started" : C ==
s->stop ? "Stopped" : "No Event");
+ push_monit_environment(buf, e);
if (s->type == TYPE_PROCESS) {
snprintf(buf, STRLEN, "MONIT_PROCESS_PID=%d",
Util_isProcessRunning(s));
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [monit-dev] [monit] r212 committed - fix the MONIT_DESCRIPTION environment variable,
monit <=