From: M.Comin/B.Gilli Date: 2006.10.10 VLT-SW-2006 - RELEASE NOTES FOR CCS ======================================= Beside standard maintenance, several important features have been added to CCS: - SUPPORT FOR MULTITHREADED APPLICATIONS. ----------------------------------------- A second library libCCS_P is now produced to fully support multithreaded applications. It provides a thread safe version of the standard CCS library, and a couple of new functions to start and register threads. A thread can be started with its own message queue if it requires communication with other applications, or without special queue. In that latter case, access to CCS resources (DB in particular) will occur through the main thread message queue, using protection mechanisms to avoid confusion among the different threads. - SUPPORT FOR UNIX REAL-TIME PRIORITIES. ---------------------------------------- The ccsScheduler accepts a new run string option: -R. When provided, the ccsScheduler interprets the column "priority" in the CcsEnvTable to start processes with the corresponding real time priorities as defined under Unix. To be noted that the real time priorities having different ranges on the different platforms (HP/Solaris/Linux), the ccsScheduler automatically remaps the values defined in the CcsEnvTable into the locally supported range. - SUPPORT FOR SHUTDOWN ORDER IN CcsEnvTable. -------------------------------------------- On the Linux platform, in order to correctly release resources when shutting down an environment, it appeared necessary to control the sequencing of application termination. This feature originally existing in Rtap, configured with the shutdown column of the RtapEnvTable is now fully supported, using the corresponding column of the CcsEnvTable: the first programs to be terminated are those with the highest number. It is not possible to define phasis similar to those of the startup sequence. A CcsEnvTable with default priorities is provided in the envs module. It is used for environemnt creation if the user doesn't override it with its own CcsEnvTable. - LINUX SUPPORT FOR SHARED LIBRARIES PATH. ------------------------------------------ In connection with the Linux safety mechanisms making difficult the usage of multiple INTROOTs with shared libraries and usage of the s-bit, we split the ccsScheduler in two parts. One, still called ccsScheduler, but installed without s-bit, retrieves the user shared library path, and fires the ccsScheduler1, installed with s-bit, and doing the job the old ccsScheduler used to do. This implementation should be transparent to the user. It's only during installation that one has to set the s-bit for the correct process. Hereafter follows a list of CCS modules with a brief history of the new versions since previous release. For more detail, please refer to the module Changelog files, and software man pages. ccs: ---- For LINUX platforms, the byte swapping macros which used to be provided in the ccs include files have been moved to a more generic include file: vltPortGeneral. Although transparent for CCS applications, that change allows to use them also in NO_CCS applications. In general, the ccs code has been cleaned up to use re-entrant versions for system functions, in view of the multithreading support. The ccsScheduler has been modified to support usage of multiple INTROOTs in conjunction with shared libraries under Linux. The modification affects all platforms, but should be relatively transparent. The ccsScheduler has been renamed ccsScheduler1, while a wrapper, called ccsScheduler, takes care of propagating the LD_LIBRARY _PATH which was ignored under Linux due to usage of the s-bit. Version history: version: 2.148 : call setsid in ccsScheduler before execvp needed by linux version: 2.149 : added special handling of removing IPC resources on Linux version: 2.150 : fixed problem with wrong startup sequence of processes in certain phase version: 2.151 : block signals when logData is called version: 2.152 : fixed bug in ccsSetMyName and ccsMsgRcv version: 2.153 : SPR20050121: modified rtE_NOQUEUE error messages version: 2.154 : Added quotes to extern C in ccsMonitor.h version: 2.155 : added support for shutdown order and fixed problem with resources version: 2.156 : added support for multithreading version: 2.157 : fixed bug in ccsMonitorApi regarding multithreading version: 2.158 : pthread modifications for alrm version: 2.159 : fixed bugs regarding multithreading version: 2.160 : removed libcurses for ccsPerfMon version: 2.161 : added man-page for ccsPthread version: 2.162 : modified updateLib makefile target to support multithreading version: 2.163 : Added DB attribute for time jump alarm on LCU version: 2.164 : modified buffer handling for multithreading qsemu: ------ To improve security, the ip address of the environment requesting connection to qsemu is checked against the ip address of the node on which the requesting environment is supposed to run on, as configured in the local CcsEnvList file. In case of mismatch, the request is rejected. To support systems with multiple LAN interfaces corresponding to different hosts, the format of the CcsEnvList has been slightly modified. The new qsemu still accepts the old format, but in that case difficulties with multiple LAN interfaces can be expected since the corresponding configurations cannot be correctly described. The new format of the CcsEnvlist is fully supported by vccmake. This format shall not be used for the old full CCS installations based on Rtap, and using the RtapEnvList file. Qsemu can be instructed via a runstring option to ignore propagation of obituary messages in order to avoid disturbing real-time applications with unexpected messages. Version history: version: 3.52 : verify IP address on remote connection request version: 3.53 : added flag to suppress receiving obituaries version: 3.54 : fixed error handling after gethostbyname in qsemuEnvThread version: 3.55 : fixed problem with logging of IP adresses version: 3.56 : bind sockets to solve problems with multihomed hosts version: 3.57 : fixed casting error err: ---- - Add support for multithreading applications Version history: version: 2.34 : SPR 20010426 version: 2.35 : added support for multithreading version: 2.36 : modified updateLib makefile target to support multithreading Logging System: --------------- - Add archiving of normal logs. - Add support for multithreading applications - Improved version of logCleanFITS. - Fixed problem with filtering in logMonitor. Version history: version: 4.14.1.1 : Removed backward incompatibility in FITS par. record for VLTI version: 4.15 : Merged with v. 4.14.1.1 + upgrade test procedure and reference files version: 4.15.1.1 : replace system functions by thread safe ones version: 4.15.1.2 : removed useless global parameter version: 4.16 : Fixed problem with test. ref. files version: 4.17 : Add feditFormatCompile in test makefiles version: 4.18 : SPR 20030522, 20040317 version: 4.19 : Reformatting of test ref. files version: 4.20 : Add archiving of normal logs + fix test ref. file version: 4.21 : added support for multithreading version: 4.22 : SPR 20030333 20050218 + upgrade test ref. files version: 4.23 : modified updateLib makefile target to support multithreading version: 4.24 : Fixed problem in ref. file generated by logTestPurge.sh version: 4.25 : Fixed log filteriong problem in function Ispect log file cmd: ---- The command checking mechanism automatically handles byte swapping for ASCII and binary formatted commands and replies when checking is performed on a Linux WS. Version history: version: 2.30 : added support for multithreading version: 2.31 : modified updateLib makefile target to support multithreading msg: ---- Version history: version: 2.39 : define LD_LIBRARY_PATH in msgServer1 for Linux version: 2.40 : added support for multithreading version: 2.41 : modified updateLib makefile target to support multithreading db: --- Version history: version: 3.124 : SPR20020338 + removal compile warning version: 3.125 : Fixed bug in dbLiteReplace when formatting dates version: 3.126 : Correct conversion of dbABS_TIME and dbTIME, updated test version: 3.127 : SPR:20050207, initial CE run just after db loading version: 3.128 : added support for multithreading version: 3.129 : modified updateLib makefile target to support multithreading version: 3.130 : SPR 20050308 dbBackup and usage of alias specifiers evt: ---- - added support for event on quality change Version history: version: 2.41 : avoid losing events because of internal delays in attachment procedure version: 2.42 : Added tat test for SPR 20050062 quick write after attach version: 2.43 : Fixed problem with message buffer version: 2.44 : added support for multithreading version: 2.45 : changed filtering if multithreading enabled version: 2.46 : replaced strtok by strtok_r version: 2.47 : removed warnings on HP version: 2.48 : modified updateLib makefile target to support multithreading version: 2.49 : fixed filtering problem for multithreading version: 2.50 : added tests for multithreading version: 2.51 : fixed error in TestList version: 2.52 : added swapping of data of internal commands version: 2.53 : test of byte swapping scan: ----- Some so called "scan problems" could be traced down to severe problems of the tim board. Version history: version: 2.59 : NOT USABLE YET:modified updateLib makefile target to support multithreading version: 2.60 : added support for multithreading dbl: ---- Version history: version: 1.30 : SPR VLTSW20040377 - Changed error message to a warning tims: ----- Version history: version: 2.32 : added support for multithreading version: 2.33 : fixed bug introduced by multithreading version: 2.34 : modified updateLib makefile target to support multithreading version: 2.35 : fixed filtering problem for multithreading alrm: ----- Version history: version: 1.107 : send only alarms for attributes defined in connection request version: 1.108 : changed poll intervalls for realtime support version: 1.109 : fixed handling of conn and match bit masks version: 1.110 : replaced direct usage of snack by usage of the audio module which allows sound on Linux version: 1.111 : modified to support multithreading version: 1.112 : Extended updateLib makefile target to build libCCS_P version: 1.113 : typo correction in updateLib makefile target version: 1.114 : GUI modified according to VLT standard SPR 20050175 version: 1.115 : Fixed problem during installation fnd --- Version history: version: 1.44 : Fixed minor problems with signatures, size_t and const cast appearing with newer CPP compilers version: 1.45 : SPR20050035: missing include for size_t in fndNAME_MAP.h version: 1.46 : Improved fndASSOCIATION class eccs ---- Version history: version: 1.131 : Changed way event IDs are allocated to reuse them SPR00980435. version: 1.132 : Updated documentation with new ID_MAP implementation version: 1.133 : Added explicit sdt:: scope identifier to queue object. Was conflicting qith some class used by FIERA version: 1.134 : Modified evtEVENT::CommandId to throw and exception is called for detached event evh --- Version history: version: 1.133 : SPR 20040247 version: 1.134 : SPR 20050138 and catch exceptions in evhHANDLER version: 1.135 : DB Event added now also in case of bad quality Plot: ---- - Man page update - Upgrade of automatic test - Bug fixing when using "big" history tables. Version history: version: 2.38 : Version under testing DO NOT USE cmmCheckForArchive plot version: 2.39 : Bug and SPR fixing + test upgrade version: 2.40 : Man-page update his: ---- Version history: version: 1.33 : fixed BUG in statistics samp ----- - Add possibility to specify in the command line some options for sampDb. The following options are recognized : "-v", "-n", "-d". "-v" = verbose mode "-d" = debug mode "-n" = no plot mode. This options allows the user to simply record the data inso a file. These options are processed whe sampStart is called and removed from the command line parameters. In this way we do not introduce any backwards incompatibility due to a misplace of the parameters. - Options -v and -d can also be activated by sending the command VERBOSE and DEBUG to the samp process. These options generate information logs instead of printf, since the samp processes are normally run in background. - sampCtrl.pan: Add check buttons to invoke sampDb with "-d" or "v" options. If sampDb is already active the buttons send the corresponding command to switch DEBUG/VERBSE ON or OFF - Improved error handling by replacing printf with proper errAdd statements. - Add full automatic tat test. Version history: version: 2.40 : Test on LINUX + improved error handling version: 2.41 : Add tat test and additional checks. Still to be tested under LINUX and SUN ... do not use it version: 2.42 : Module tested on Solaris and Linux version: 2.43 : Fixed test reference file formatting problem Ccs --- Version history: version: 1.39 : VLTSW20040159 - testing to be checked version: 1.40 : fixed type in test Makefile, html files removed version: 1.41 : fixed bug in CcsDbReadSymbolic - see SPR 20040303 C/ccseiDb ------- The Java version (Ccseidb) of the database browser has been frozen. The Tcl version (ccseidb) has been improved with missing features and also offers better navigation in the DB hierarchy. New implementation of ccseiDb. Beside the features already present in the previous version , the following new functionalities have been added : - Graphical view of the DB structure. The navigation in the database structure provides the following possibilities : + Narrow the view to a DB sub-tree + Search for a specific point. - Navigation in the database provide automatic display of point information, such as alias, PLIN, Base Class, point class, class ID. - When the user displays the attributes of a point, for each one the following information are provided : name, attribute tyep, data type, quality flag and current value. - Each attribute can be displayed in a dedicated dialog. The following attribute info are also displayed : + Number of records + Number of fields + Direct address + Data type. The user has the possibility to : + Define a range of elements in case of TABLES or VECTORS + See the associated CE function + Modify the current value and store it in the DB. Version history: version: 3.1 : New implementation of ccseiDb SPR 20020306 version: 3.2 : Add widgets for CE calculation + bug fix. version: 3.3 : GUI improvments and bug fixing version: 3.4 : Fixed bug for apply button for SCALAR strings version: 3.5 : Fixed bug displaying tables version: 3.6 : Bug Fixing version: 3.7 : Add handling of view dialog for VECTORS and TABLES with 0 recs or fields version: 3.8 : Fixed binding problems in ccseiDb version: 3.9 : Optimized writing of VECTOR and TABLE version: 3.10 : Bug fixing in DB monitor and in ccseiDbViewApply version: 3.11 : Fixing of problems reported from test in paranal uif --- - Menu radio and check button check the existance of the variable associated to the widget. If the variable contains a namespace, the name space is created if not known. Version history: version: 3.47 : Add new widget uifOutputIcon version: 3.48 : Fixed backward incomp. with icbpan version: 3.49 : SPR 20040410 panel / uif ------------ - panTerm window is now re-sizable - For all widgets updated with DB event mechanism (in Ws env.), the panel automatically attaches an event on data quality to keep track of quality changes. - On LINUX the name of the panel editor process is now set to 'panel' even if the executable is called panelEditor. - Add new widget uifOutputIcon : it allows the user to display different icons depending on the value of the variable. Similar to uifOutputString but with icons. - Some resources of seqWish (XseqWish) have been merged with common panel X resources. Version history: version: 5.30 : Add widget uifOutputIcon + bug fixing version: 5.31 : Fixed proc. name length under LINUX version: 5.32 : SPR20040191 + test upgrade version: 5.33 : Bug fixing version: 5.34 : XseqWish merged into Xpanel.common