Просмотр исходного кода

fix not to transit state when process terminate

(Logical change 1.166)


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@568 fd59a12c-fef9-0310-b244-a6a79926bd2f
Miyotaka Sakai 21 лет назад
Родитель
Сommit
09628d7212
1 измененных файлов с 6 добавлено и 1 удалено
  1. 6 1
      exec/amf.c

+ 6 - 1
exec/amf.c

@@ -953,7 +953,12 @@ static void dsmDisabledUnlockedQuiescedCompleted (
 
 
 			log_printf (LOG_LEVEL_DEBUG, "dsm: Sending readiness state set to OUTOFSERVICE for comp %s.\n",
 			log_printf (LOG_LEVEL_DEBUG, "dsm: Sending readiness state set to OUTOFSERVICE for comp %s.\n",
 				getSaNameT (&component->name));
 				getSaNameT (&component->name));
-			readiness_state_api_set (component, SA_AMF_OUT_OF_SERVICE);
+
+			if ( component->probableCause == SA_AMF_NOT_RESPONDING ) {
+				readiness_state_group_set (component, SA_AMF_OUT_OF_SERVICE);
+			} else {
+				readiness_state_api_set (component, SA_AMF_OUT_OF_SERVICE);
+			}
 			component->disabledUnlockedState = AMF_DISABLED_UNLOCKED_OUT_OF_SERVICE_REQUESTED;
 			component->disabledUnlockedState = AMF_DISABLED_UNLOCKED_OUT_OF_SERVICE_REQUESTED;
 		}
 		}
 	}
 	}