mirror of
https://git.proxmox.com/git/mirror_corosync
synced 2025-07-24 08:05:05 +00:00
Fix barrier operation with syncv2 and compat:none or openais service engines.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2750 fd59a12c-fef9-0310-b244-a6a79926bd2f
This commit is contained in:
parent
5371fc9ede
commit
cf4e2069b6
@ -244,6 +244,11 @@ static void sync_barrier_handler (unsigned int nodeid, const void *msg)
|
||||
}
|
||||
}
|
||||
if (barrier_reached) {
|
||||
log_printf (LOGSYS_LEVEL_DEBUG, "Committing synchronization for %s\n",
|
||||
my_service_list[my_processing_idx].name);
|
||||
my_service_list[my_processing_idx].state = ACTIVATE;
|
||||
my_service_list[my_processing_idx].sync_activate ();
|
||||
|
||||
my_processing_idx += 1;
|
||||
if (my_service_list_entries == my_processing_idx) {
|
||||
my_memb_determine_list_entries = 0;
|
||||
@ -551,19 +556,12 @@ static int schedwrk_processor (const void *context)
|
||||
if (my_service_list[my_processing_idx].state == PROCESS) {
|
||||
my_service_list[my_processing_idx].state = PROCESS;
|
||||
res = my_service_list[my_processing_idx].sync_process ();
|
||||
if (res != -1) {
|
||||
my_service_list[my_processing_idx].state = ACTIVATE;
|
||||
if (res == 0) {
|
||||
sync_barrier_enter();
|
||||
} else {
|
||||
return (-1);
|
||||
}
|
||||
}
|
||||
if (my_service_list[my_processing_idx].state == ACTIVATE) {
|
||||
my_service_list[my_processing_idx].state = ACTIVATE;
|
||||
my_service_list[my_processing_idx].sync_activate ();
|
||||
log_printf (LOGSYS_LEVEL_DEBUG, "Committing synchronization for %s\n",
|
||||
my_service_list[my_processing_idx].name);
|
||||
sync_barrier_enter();
|
||||
}
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user