diff --git a/MAC/GCF/GCFCommon/include/GCF/Utils.h b/MAC/GCF/GCFCommon/include/GCF/Utils.h index 3cfd0628975adb15116742f51352afc3926ea241..102d7e0735ef60c6064e9c27936d40f7420c8019 100644 --- a/MAC/GCF/GCFCommon/include/GCF/Utils.h +++ b/MAC/GCF/GCFCommon/include/GCF/Utils.h @@ -5,12 +5,9 @@ #include <Common/lofar_list.h> #include <set> -namespace LOFAR -{ - namespace GCF - { - namespace Common - { +namespace LOFAR { + namespace GCF { + namespace Common { void convListToString(std::string& listString, const std::list<std::string>& stringList); @@ -22,7 +19,6 @@ void convStringToSet(std::set<std::string>& stringSet, const std::string& setString); bool isValidPropName(const char* propName); bool isValidScope (const char* scopeName); -string myHostname (bool giveFullName = false); } // namespace Common } // namespace GCF diff --git a/MAC/GCF/GCFCommon/src/Utils.cc b/MAC/GCF/GCFCommon/src/Utils.cc index e75c75ec9a8c1118d1757741285428bb6f695a3b..9236dbd0e99f8358044792694a40827abc83621b 100644 --- a/MAC/GCF/GCFCommon/src/Utils.cc +++ b/MAC/GCF/GCFCommon/src/Utils.cc @@ -143,25 +143,6 @@ bool isValidScope(const char* scopeName) return valid; } -// -// myHostname(giveFullname) -// -string myHostname(bool giveFullName) -{ - char fullhostname[300]; - if (gethostname(fullhostname, 300) != 0) { - return ("localhost"); - } - - if (!giveFullName) { - char* dot = strchr(fullhostname, '.'); - if (dot) { - *dot='\0'; - } - } - - return (fullhostname); -} } // namespace Common } // namespace GCF } // namespace LOFAR diff --git a/MAC/GCF/_PAL/PA/src/GPA_Controller.cc b/MAC/GCF/_PAL/PA/src/GPA_Controller.cc index a696a78ff6f30ed19071d39f5a342706f8e1265d..57b5dffb3ac6fb1e7a772d2a170a32ba55085512 100644 --- a/MAC/GCF/_PAL/PA/src/GPA_Controller.cc +++ b/MAC/GCF/_PAL/PA/src/GPA_Controller.cc @@ -259,7 +259,7 @@ GCFEvent::TResult GPAController::waiting_state(GCFEvent& e, GCFPortInterface& p) case F_TIMER: { GCFTimerEvent* pTimer = (GCFTimerEvent*)(&e); - LOG_DEBUG(formatString("Timer %d expired.", pTimer->id)); +// LOG_DEBUG(formatString("Timer %d expired.", pTimer->id)); if (&p == &_distPmlPortProvider) { if (pTimer->id == _garbageTimerId) diff --git a/MAC/Journal b/MAC/Journal index 7fa37932382b16ae98a3dd4cd19124cbc55253b0..8f3ca553594a3e719f3060bd829d8ff7ea9816bd 100644 --- a/MAC/Journal +++ b/MAC/Journal @@ -9,11 +9,17 @@ GCF/GCFCommon with the new FileLocator classes of LCS/Common. ** GCF_ServiceInfo.h: Created a file containing all servicenames to be used in MAC as well the well-known portnumber of any ServiceBroker. +** GCF_PVTypes.h: created file that includes all GCF_PVxxx files. APL/APLCommon ============ ** Added messages FINISH and FINISHED to LDprotocol to allow ObsCntlrs to tell the MACSchedulers that they are ready. +** Added ANNOUNCEMENT messages to the StartDaemonProtocol to support shared + controller. Modified the other message to meet proposition [A]. +** ControllerDefines.h replaces LogicalDevice.h. The file does not only define + constants for controllertypes and their errors but also a collection of + routines for creating and using controller names. See proposition [A]. GCF/TM ====== @@ -51,8 +57,8 @@ GCF/PAL/PML ** GPMController: uses LofarLocators for parameterfiles. -GCF/APL/APLCommon -================= +APL/APLCommon +============= Updated several sources for new ParameterSet. Added several ; at end of LOG_xxx statements. Added define LOFAR_SHARE_LOCATION /opt/lofar/share in APL_Defines.h @@ -78,13 +84,27 @@ Complete new implementation of the MACScheduler: It polls the OTDB itself and only controls ObsControllers. +PROPOSITIONS +============ +[A] The (task)names of the controllers are uniq within LOFAR. This means the name + must contain the instanceNr of the controller and the observationID. + The construction of the controller/task name is supported in the file + ControllerDefines. All tasks/programs/jobs/whatever must always use the + name that is returned by the call controllerName(type, iNr, ObsID). + (only the startDaemon uses the sharedControllerName). + Note: This proposition is used in ParentControl, ChildControl and the base- + source for shared controllers to do their administration. + + PROBLEMS TO SOLVE ================= ** BOOST_SP_USE_PTHREADS is now in several .h and .cc file. Like to have a lofar_sharedptr.h. ** Can logical device use global parameterSet anywhere? ** Support SHARED LogicalDevices in the LDStartDaemon. ** GSB_Controller should be made fail save. +** GSB_Controller should assign the portnumbers round robin to maximize the + 're-use interval'. ** GTM_ServiceBroker should support multihosts. ** GCFTasks are not scheduled right when an event is not handled. - +** LDStartDaemon: when execv fails child LDSD keeps running.