]> git.proxmox.com Git - mirror_corosync.git/commitdiff
Correctly check if service was unloaded
authorJan Friesse <jfriesse@redhat.com>
Wed, 17 Oct 2012 12:50:09 +0000 (14:50 +0200)
committerJan Friesse <jfriesse@redhat.com>
Wed, 17 Oct 2012 13:06:36 +0000 (15:06 +0200)
my_processing_idx is pointer to received service list, instead of global
service number. If we check state of service we should use service_id
instead of my_processing_idx.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Fabio M. Di Nitto <fdinitto@redhat.com>
exec/sync.c

index b8ce1d95686c2ed5d6ac089f4c7309c7e07e7a95..bfafd5ac10be8e79749cc2172155c6033a6ea1a3 100644 (file)
@@ -232,7 +232,7 @@ static void sync_barrier_handler (unsigned int nodeid, const void *msg)
                        my_service_list[my_processing_idx].name);
                my_service_list[my_processing_idx].state = ACTIVATE;
 
-               if (my_sync_callbacks_retrieve(my_processing_idx, NULL) != -1) {
+               if (my_sync_callbacks_retrieve(my_service_list[my_processing_idx].service_id, NULL) != -1) {
                        my_service_list[my_processing_idx].sync_activate ();
                }
 
@@ -547,7 +547,7 @@ static int schedwrk_processor (const void *context)
                        }
                }
 
-               if (my_sync_callbacks_retrieve(my_processing_idx, NULL) != -1) {
+               if (my_sync_callbacks_retrieve(my_service_list[my_processing_idx].service_id, NULL) != -1) {
                        my_service_list[my_processing_idx].sync_init (my_trans_list,
                                my_trans_list_entries, my_member_list,
                                my_member_list_entries,
@@ -556,7 +556,7 @@ static int schedwrk_processor (const void *context)
        }
        if (my_service_list[my_processing_idx].state == PROCESS) {
                my_service_list[my_processing_idx].state = PROCESS;
-               if (my_sync_callbacks_retrieve(my_processing_idx, NULL) != -1) {
+               if (my_sync_callbacks_retrieve(my_service_list[my_processing_idx].service_id, NULL) != -1) {
                        res = my_service_list[my_processing_idx].sync_process ();
                } else {
                        res = 0;
@@ -604,7 +604,7 @@ void sync_abort (void)
        ENTER();
        if (my_state == SYNC_PROCESS) {
                schedwrk_destroy (my_schedwrk_handle);
-               if (my_sync_callbacks_retrieve(my_processing_idx, NULL) != -1) {
+               if (my_sync_callbacks_retrieve(my_service_list[my_processing_idx].service_id, NULL) != -1) {
                        my_service_list[my_processing_idx].sync_abort ();
                }
        }