Changes since tdaq-01-08-00
If changes come from a patch in the previous release then the patch
number is specified between brackets.
General
- (Introduced with
tdaq-01-08-01 and TDAQ-01-08-01_10) Added the option to use a fixed
port for client/server CORBA communication (the port number is read
from a fixed file, if any, in the release installation area);
- Added functions used by both server and client library (they
are defined in Utils.h using the daq::pmg::utils name space);
- Added Java classes in jar archive to be used by the PMG panel
in the main IGUI.
Server
- (Introduced with
tdaq-01-08-01) Agent and process low level information are properly
published in IS;
- (TDAQ-01-08-00_05)
Fixed a possible race condition in the RMBridge class interfacing to
the ResourceManager;
- (TDAQ-01-08-00_05)
Fixed small problem with applications that do not like a single empty
string as the only parameter (i.e., xterm);
- (TDAQ-01-08-00_09,
TDAQ-01-08-01_64) Added library to send ers stream to syslog;
- (TDAQ-01-08-01_10)
Fixed bug reported in Savannah (bug #28455: pmg leaves many open file
descriptors when exec'ing a program);
- The RM server is now asked in Daemon::really_start() to avoid
resources to not be freed if a CORBA TRANSIENT occurs when the client
calls Daemon::request_start();
- Added extra checks on handle: the server will answer with an
exception if asked to take some action (i.e., kill) on an empty handle;
- When the server (re)starts and no process is running, the RM
is asked to free all the resources in all the partitions associated to
the local host;
- In Application::init_manifest() the process state is set to
PMGProcessState_NOTAV and no more to PMGProcessState_REQUESTED (this is
now done in Daemon::really_start());
- In ApplicationList::active_process() the process status is
checked to be PMGProcessState_NOTAV: if the timeout is elapsed then the
manifest is unmapped.
Client library
- (TDAQ-01-08-01_10)
Fixed bug causing sometime the client application to abort at exit;
- (TDAQ-01-08-01_10)
Fixed bug in Singleton::get_process which could lead occasionally to a
segfault;
- (TDAQ-01-08-01_20)
Fixed problem with the Singleton::instance();
- (TDAQ-01-08-01_20)
Catching the proper CORBA exception when calling _this();
- Added Singleton::init() method: it initializes the client
library and has to be the first library call in client applications;
- When calling the "really_start" remote method any CORBA
TRANSIENT exception is not sent to the client application if it is of
the TRANSIENT_CallTimedout kind;
- Added at exit cleanup function in Singleton (needed to
properly stop the IPCAlarm).
Launcher
- (TDAQ-01-08-01_44)
Using the "kill_soft" way to terminate a process in sync error status;
- The PMGLauncher sends a message to the pmgserver if the exec
call fails;
- In LauncherMain added a call to IPCCore::init() to send ERS
message to mrs.
Helpers
- (TDAQ-01-08-00_05)
The 'pmg_start_app' helper now adds the current value of the
LD_LIBRARY_PATH env variable to the starting process
ProcessDescription.