[ofa-general] [PATCH] opensm: separated current loop in main into its own function
Timothy A. Meier
meier3 at llnl.gov
Mon Feb 4 15:01:12 PST 2008
Sasha,
I am finally getting back to adding the OpenSSL option to the console.
This patch, as well as the next one, are just a little cleanup to prepare for that effort.
From e1cd363fe9a24e7d88b0b4354b0467a191627073 Mon Sep 17 00:00:00 2001
From: Tim Meier <meier3 at llnl.gov>
Date: Fri, 1 Feb 2008 16:43:47 -0800
Subject: [PATCH] opensm: separated current loop in main into its own function
Put the endless while loop in "main" into its own function to
support decoupling the osm_console from opensm.
Signed-off-by: Tim Meier <meier3 at llnl.gov>
---
opensm/opensm/main.c | 66 ++++++++++++++++++++++++++++---------------------
1 files changed, 38 insertions(+), 28 deletions(-)
diff --git a/opensm/opensm/main.c b/opensm/opensm/main.c
index 7c435a0..239de84 100644
--- a/opensm/opensm/main.c
+++ b/opensm/opensm/main.c
@@ -551,6 +551,40 @@ static int daemonize(osm_opensm_t * osm)
/**********************************************************************
**********************************************************************/
+int osm_manager_loop(osm_subn_opt_t * p_opt, osm_opensm_t * p_osm)
+{
+ osm_console_init(p_opt, p_osm);
+
+ /*
+ Sit here forever
+ */
+ while (!osm_exit_flag) {
+ if (strcmp(p_opt->console, OSM_LOCAL_CONSOLE) == 0
+#ifdef ENABLE_OSM_CONSOLE_SOCKET
+ || strcmp(p_opt->console, OSM_REMOTE_CONSOLE) == 0
+ || strcmp(p_opt->console, OSM_LOOPBACK_CONSOLE) == 0
+#endif
+ )
+ osm_console(p_osm);
+ else
+ cl_thread_suspend(10000);
+
+ if (osm_usr1_flag) {
+ osm_usr1_flag = 0;
+ osm_log_reopen_file(&(p_osm->log));
+ }
+ if (osm_hup_flag) {
+ osm_hup_flag = 0;
+ /* a HUP signal should only start a new heavy sweep */
+ p_osm->subn.force_heavy_sweep = TRUE;
+ osm_opensm_sweep(p_osm);
+ }
+ }
+ osm_console_close_socket(p_osm);
+ return 0;
+}
+/**********************************************************************
+ **********************************************************************/
int main(int argc, char *argv[])
{
osm_opensm_t osm;
@@ -1010,34 +1044,10 @@ int main(int argc, char *argv[])
osm_exit_flag = 1;
}
} else {
- osm_console_init(&opt, &osm);
-
- /*
- Sit here forever
- */
- while (!osm_exit_flag) {
- if (strcmp(opt.console, OSM_LOCAL_CONSOLE) == 0
-#ifdef ENABLE_OSM_CONSOLE_SOCKET
- || strcmp(opt.console, OSM_REMOTE_CONSOLE) == 0
- || strcmp(opt.console, OSM_LOOPBACK_CONSOLE) == 0
-#endif
- )
- osm_console(&osm);
- else
- cl_thread_suspend(10000);
-
- if (osm_usr1_flag) {
- osm_usr1_flag = 0;
- osm_log_reopen_file(&osm.log);
- }
- if (osm_hup_flag) {
- osm_hup_flag = 0;
- /* a HUP signal should only start a new heavy sweep */
- osm.subn.force_heavy_sweep = TRUE;
- osm_opensm_sweep(&osm);
- }
- }
- osm_console_close_socket(&osm);
+ /*
+ * Sit here until signaled to exit
+ */
+ osm_manager_loop(&opt, &osm);
}
if (osm.mad_pool.mads_out) {
--
1.5.1
--
Timothy A. Meier
Computer Scientist
ICCD/High Performance Computing
925.422.3341
meier3 at llnl.gov
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0001-opensm-separated-current-loop-in-main-into-its-own.patch
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20080204/90f2c81b/attachment.ksh>
More information about the general
mailing list