From d423be45b4b27f28b7297de23d94f9dd36e779e8 Mon Sep 17 00:00:00 2001
From: Ruud Overeem <overeem@astron.nl>
Date: Fri, 13 Jul 2012 10:43:18 +0000
Subject: [PATCH] Task #1418: Fixed never ending loop that occured when all
 children died before claim period was reached.

---
 MAC/APL/MainCU/src/ObservationControl/ObservationControl.cc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/MAC/APL/MainCU/src/ObservationControl/ObservationControl.cc b/MAC/APL/MainCU/src/ObservationControl/ObservationControl.cc
index 1c3b4e215f6..e4f448049c8 100644
--- a/MAC/APL/MainCU/src/ObservationControl/ObservationControl.cc
+++ b/MAC/APL/MainCU/src/ObservationControl/ObservationControl.cc
@@ -464,6 +464,10 @@ GCFEvent::TResult ObservationControl::active_state(GCFEvent& event, GCFPortInter
 			itsBusyControllers = itsChildControl->countChilds(0, CNTLRTYPE_NO_TYPE);
 		}
 		else if (timerEvent.id == itsStopTimer) {
+			if (itsState == CTState::QUIT) {
+				LOG_INFO("Re-entry of quit-phase, ignored.");
+				break;
+			}
 			setState(CTState::QUIT);
 			itsChildResult   = itsQuitReason;
 			itsChildsInError = 0;
-- 
GitLab