[Openais] aisexec_debugdump_fn for SIGUSR2 handler support
Miyotaka Sakai
sakai.miyotaka at nttcom.co.jp
Fri Oct 8 22:19:24 PDT 2004
Steve and Mark,
I made the aisexec_debugdump_fn for SIGUSR2 handler.
Could you review the patch attached to this e-mail.
To make the aisexec_debugdump_fn,
I have to add small change to main.c amf.c evt.c ckpt.c clm.c evs.c
http://www.osdl.org/developer_bugzilla/show_bug.cgi?id=157
thanks
-Miyotaka Sakai
-------------- next part --------------
--- openais.latest/exec/main.c 2004-10-09 11:03:59.000000000 +0900
+++ openais/exec/main.c 2004-10-09 10:20:04.000000000 +0900
@@ -145,7 +145,13 @@
static void sigusr2_handler (int num)
{
- amf_dump ();
+ int i;
+
+ for (i = 0; i < AIS_SERVICE_HANDLERS_COUNT; i++) {
+ if (ais_service_handlers[i]->aisexec_debugdump_fn) {
+ ais_service_handlers[i]->aisexec_debugdump_fn ();
+ }
+ }
signal (SIGUSR2 ,sigusr2_handler);
return;
@@ -781,6 +787,9 @@
*/
for (i = 0; i < AIS_SERVICE_HANDLERS_COUNT; i++) {
if (ais_service_handlers[i]->exec_init_fn) {
+ if (!ais_service_handlers[i]->exec_init_fn) {
+ continue;
+ }
ais_service_handlers[i]->exec_init_fn ();
}
}
--- openais.latest/exec/ckpt.c 2004-10-09 12:49:28.000000000 +0900
+++ openais/exec/ckpt.c 2004-10-09 08:22:38.000000000 +0900
@@ -169,7 +169,8 @@
.confchg_fn = 0, /* ckpt service handler is not distributed */
.libais_init_fn = message_handler_req_lib_ckpt_init,
.libais_exit_fn = 0,
- .exec_init_fn = 0
+ .exec_init_fn = 0,
+ .aisexec_debugdump_fn = 0
};
struct libais_handler ckpt_checkpoint_libais_handlers[] =
@@ -289,7 +290,8 @@
.confchg_fn = ckpt_checkpoint_confchg_fn,
.libais_init_fn = message_handler_req_lib_ckpt_checkpoint_init,
.libais_exit_fn = ckpt_checkpoint_exit_fn,
- .exec_init_fn = ckpt_checkpoint_exec_init_fn
+ .exec_init_fn = ckpt_checkpoint_exec_init_fn,
+ .aisexec_debugdump_fn = 0
};
struct libais_handler ckpt_sectioniterator_libais_handlers[] =
@@ -325,7 +327,8 @@
.confchg_fn = 0, /* Section Iterators are not distributed */
.libais_init_fn = message_handler_req_lib_ckpt_sectioniterator_init,
.libais_exit_fn = ckptSectionIteratorApiFinalize,
- .exec_init_fn = 0
+ .exec_init_fn = 0,
+ .aisexec_debugdump_fn = 0
};
static struct saCkptCheckpoint *findCheckpoint (SaNameT *name)
--- openais.latest/exec/clm.c 2004-10-09 12:49:28.000000000 +0900
+++ openais/exec/clm.c 2004-10-09 08:17:37.000000000 +0900
@@ -169,7 +169,8 @@
.confchg_fn = clm_confchg_fn,
.libais_init_fn = message_handler_req_clm_init,
.libais_exit_fn = clm_exit_fn,
- .exec_init_fn = clm_exec_init_fn
+ .exec_init_fn = clm_exec_init_fn,
+ .aisexec_debugdump_fn = 0
};
static int clm_exec_init_fn (void)
--- openais.latest/exec/evs.c 2004-10-09 12:49:28.000000000 +0900
+++ openais/exec/evs.c 2004-10-09 08:21:31.000000000 +0900
@@ -134,7 +134,8 @@
.confchg_fn = evs_confchg_fn,
.libais_init_fn = message_handler_req_evs_init,
.libais_exit_fn = evs_exit_fn,
- .exec_init_fn = evs_executive_initialize
+ .exec_init_fn = evs_executive_initialize,
+ .aisexec_debugdump_fn = 0
};
static int evs_executive_initialize (void)
--- openais.latest/exec/evt.c 2004-10-09 12:49:28.000000000 +0900
+++ openais/exec/evt.c 2004-10-09 08:18:58.000000000 +0900
@@ -152,7 +152,8 @@
.confchg_fn = evt_conf_change,
.libais_init_fn = evt_initialize,
.libais_exit_fn = evt_finalize,
- .exec_init_fn = evt_exec_init
+ .exec_init_fn = evt_exec_init,
+ .aisexec_debugdump_fn = 0
};
static gmi_recovery_plug_handle evt_recovery_plug_handle;
--- openais.latest/exec/handlers.h 2004-10-09 12:49:28.000000000 +0900
+++ openais/exec/handlers.h 2004-10-09 08:03:33.000000000 +0900
@@ -58,6 +58,7 @@
int (*libais_init_fn) (struct conn_info *conn_info, void *msg);
int (*libais_exit_fn) (struct conn_info *conn_info);
int (*exec_init_fn) (void);
+ void (*aisexec_debugdump_fn) (void);
};
#endif /* HANDLERS_H_DEFINED */
More information about the Openais
mailing list