ACE/TAO/CIAO/DAnCE x.0.7 released

Once again, thanks to the efforts of many developers, testers, and users, we are pleased to announce the micro release of ACE 6.0.7, TAO 2.0.7, CIAO 1.0.7, and DAnCE 1.0.7, which is available from the usual download location under the heading "Latest Micro Release Kit."

Changes to ACE

  • Added a new method to ACE_Atomic_Op<LOCK, TYPE>, TYPE exchange (TYPE newval) which does an atomic exchange of the new value with ACE_Atomic_Op's value and returns the old value. The tests/Atomic_Op_Test.cpp test program has a  test case that exemplifies its usage; see the Exchange_Tester class.
  • Added a new feature to timer queue templates classes: TIME_POLICY. This feature is specified through a new template argument and provides the timer queue with a policy for a timer (time of day) value. This feature is intended to replace (in time) the gettimeofday setter method which has been marked @deprecated. For now backwards compatibility is guaranteed. The TIME_POLICY feature provides flexibility with regards to providing a timer source to the timer queues as well as the posibility for a fully optimized calling path. A number of standard time policies are provided in ace/Time_Policy.h. The tests/Timer_Queue_Test.cpp has been updated to reflect and exemplify these changes.
  • Added the TIME_POLICY feature also to countdown time class which has now  become a template (ace/Countdown_Time_T.h)
  • Initial support for Microsoft Visual Studio 11

Changes to TAO

  • Added Time_Policy_Manager, a TIME_POLICY strategy manager configurable  through the service configurator framework. This allows the dynamic configuration of the TIME_POLICY strategy used for ORB timers and countdowns. TAO includes two default TIME_POLICY strategies as statically linked service objects; TAO_System_Time_Policy_Strategy and TAO_HR_Time_Policy_Strategy (the first being used as default strategy). The docs/Options.html file describes the configuration options in detail. Two new tests have been added exemplifying these new options; tests/Time_Policy and tests/Time_Policy_Custom. Furthermore two new compile time option macros have been added related to TIME_POLICY strategies:
      - TAO_USE_HR_TIME_POLICY_STRATEGY if defined will force the use of the new  TAO_HR_Time_Policy_Strategy as default time strategy instead of  TAO_System_Time_Policy_Strategy;
      - TAO_HAS_TIME_POLICY if explicitly defined as 0 ('#define TAO_HAS_TIME_POLICY 0')  will build TAO without the new TIME_POLICY strategy support.

Changes to CIAO

  • Glfa has been removed from tao_idl. The local executor mapping can only be generated for the current file. Also at the moment an interface is compiled with tao_idl, the option -Gsv has to be used to generate the needed CCM facet servant
  • CIAO now supports the synchronous port and the ami4ccm lem pragma as documented in the AMI4CCM Initial submission by Remedy IT (mars/11-06-01)
  • Homes are now functional for connectors