]> git.proxmox.com Git - mirror_corosync.git/commitdiff
Work around dlopen'ed objects not executing constructors on solaris platform.
authorSteven Dake <sdake@redhat.com>
Sun, 21 Jun 2009 05:02:09 +0000 (05:02 +0000)
committerSteven Dake <sdake@redhat.com>
Sun, 21 Jun 2009 05:02:09 +0000 (05:02 +0000)
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2276 fd59a12c-fef9-0310-b244-a6a79926bd2f

exec/vsf_quorum.c
services/cfg.c
services/confdb.c
services/cpg.c
services/evs.c
services/pload.c
services/testquorum.c
services/votequorum.c

index 79e4aba3936f5d28a204b3d9dc08108a55770ab1..5fc1e0110376a17d72218dabe63a084228393831 100644 (file)
@@ -261,6 +261,9 @@ static int quorum_exec_init_fn (struct corosync_api_v1 *api)
        int res;
        void *quorum_iface_p;
 
+#ifdef COROSYNC_SOLARIS
+       logsys_subsys_init();
+#endif
        corosync_api = api;
        list_init (&lib_trackers_list);
        list_init (&internal_trackers_list);
index f6e7bdfff291220b99ca7957d76e3ff744c960be..a89fcc446138f54f8e0c0b34fce20a4035f18c18 100644 (file)
@@ -352,6 +352,10 @@ struct req_exec_cfg_shutdown {
 static int cfg_exec_init_fn (
        struct corosync_api_v1 *corosync_api_v1)
 {
+#ifdef COROSYNC_SOLARIS
+       logsys_subsys_init();
+#endif
+
        api = corosync_api_v1;
 
        list_init(&trackers_list);
index ea27f033e8b3b745db075885350a527c3b20bf10..c7c780862b65e789bf68f6d5d74fa34f3dd1eea4 100644 (file)
@@ -270,6 +270,9 @@ __attribute__ ((constructor)) static void corosync_lcr_component_register (void)
 static int confdb_exec_init_fn (
        struct corosync_api_v1 *corosync_api)
 {
+#ifdef COROSYNC_SOLARIS
+       logsys_subsys_init();
+#endif
        api = corosync_api;
        return 0;
 }
index a1726a25b18a286da4436d06179ed88cc80aaab7..84691ac2fcf873f42e8187d322cc7bf275234255 100644 (file)
@@ -492,6 +492,9 @@ static int notify_lib_joinlist(
 
 static int cpg_exec_init_fn (struct corosync_api_v1 *corosync_api)
 {
+#ifdef COROSYNC_SOLARIS
+       logsys_subsys_init();
+#endif
        api = corosync_api;
        return (0);
 }
index 0592d8c5b3b06b00b341d468af238fa84fb233f7..536bbbd06f92f5c4946ffa17052f5e1b0428e6e5 100644 (file)
@@ -204,6 +204,10 @@ __attribute__ ((constructor)) static void corosync_lcr_component_register (void)
 static int evs_exec_init_fn (
        struct corosync_api_v1 *corosync_api)
 {
+#ifdef COROSYNC_SOLARIS
+       logsys_subsys_init();
+#endif
+
        api = corosync_api;
 
        return 0;
index d18b520498a50c0364da5e722f2008ddecee3dff..43d65ca81992d5311bd3c921a30e8ba4c79ef8f0 100644 (file)
@@ -214,6 +214,9 @@ __attribute__ ((constructor)) static void corosync_lcr_component_register (void)
 static int pload_exec_init_fn (
        struct corosync_api_v1 *corosync_api)
 {
+#ifdef COROSYNC_SOLARIS
+       logsys_subsys_init();
+#endif
        api = corosync_api;
 
        return 0;
index 9db90d59dde3540d7ec2d26722d5fe1dc09a4dea..745d550d70e2d4b883d04c22f8d407d72bd96255 100644 (file)
@@ -99,6 +99,7 @@ static struct lcr_comp test_quorum_comp_ver0 = {
 void corosync_lcr_component_register (void);
 
 void corosync_lcr_component_register (void) {
+       logsys_subsys_init();
 #else
 __attribute__ ((constructor)) static void corosync_lcr_component_register (void) {
 #endif
index 32ee45eca093a09a3309ab946be1ce361cb52eb2..14197ad3bc6a8a0db496de7d09ec37e1af8352db 100644 (file)
@@ -499,6 +499,9 @@ static int votequorum_exec_init_fn (struct corosync_api_v1 *api)
        hdb_handle_t object_handle;
        hdb_handle_t find_handle;
 
+#ifdef COROSYNC_SOLARIS
+       logsys_subsys_init();
+#endif
        ENTER();
 
        corosync_api = api;