diff options
Diffstat (limited to 'ACE/ChangeLogs/ChangeLog-98b')
-rw-r--r-- | ACE/ChangeLogs/ChangeLog-98b | 12943 |
1 files changed, 12943 insertions, 0 deletions
diff --git a/ACE/ChangeLogs/ChangeLog-98b b/ACE/ChangeLogs/ChangeLog-98b new file mode 100644 index 00000000000..d9de5949d12 --- /dev/null +++ b/ACE/ChangeLogs/ChangeLog-98b @@ -0,0 +1,12943 @@ +Thu Dec 31 13:25:53 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/019/server[2].cpp: + Test that the segment was created. If it already existed, the + malloc() will return 0 and we'll crash. + +Thu Dec 31 12:10:46 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * tests/RB_Tree_Test.cpp: + Added missing template instantiation, actually it seems that the + IRIX MIPSPro compiler was not doing recursive instantiation. + + * ace/ACE.cpp: + Use ACE_NOTREACHED in ACE::set_handle_limit(), the IRIX compiler + was complaining again. + +Thu Dec 31 10:58:11 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Containers_T.cpp (ACE_Fixed_Set::insert): removed + blank line between function header and body. + +Thu Dec 31 09:40:09 1998 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * ace/SOCK_Stream: Added a new ACE_SOCK_Stream constructor that + initializes the underlying ACE_HANDLE automagically. + +Wed Dec 30 17:07:21 1998 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * ace/Containers_T.h: Clarified that the insert() method on + ACE_Unbounded_Stack doesn't allow duplicates. Thanks to Susan + Liebeskind <susan.liebeskind@gtri.gatech.edu> for reporting + this. + +Wed Dec 30 14:41:56 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/ACE.cpp: + Sometimes the get_ip_interfaces routine was returning 0.0.0.0 as + a valid address, we explicitly avoid that now. + +Wed Dec 30 14:34:44 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * bin/GenExportH.BAT: Added '\$\I\d\$' string in generated file. + Also in generated file, make XXX_HAS_DLL defined to 1 if it + isn't defined already. + +Wed Dec 30 13:22:50 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/Functor.{cpp, h, i} + ace/Functor_T.{cpp, h, i} + ace/Hash_Map_Manager.{h, i} + ace/Hash_Map_Manager_T.{h, i}: Moved ACE_Hash and ACE_Equal_To + STL-style functors from the Hash_Map_Manager files into the + Functor files (so other containers can use these from a central + place). Added ACE_Less_Than STL-style functor. Thanks to Doug + Schmidt, Carlos O'Ryan, and Irfan Pyarali for comments on the + distinctions between GOF command pattern functors and STL-style + functors. + + * ace/RB_Tree.{cpp, h, i}: Reworked templates so RB_Tree can take + advantage of template specialization for strcmp semantics without + the overhead of a virtual function call. Thanks to Carlos O'Ryan + for his suggestions on how to achieve this. + + * ace/OS.h + ace/config-psos-diab.h + include/makeinclude/platform_psos_diab.GNU + tests/Handle_Set_Test.cpp + tests/Process_Strategy_Test.cpp + tests/RB_Tree_Test.cpp + tests/Reactor_Performance_Test.cpp + tests/TSS_Test.cpp: A number of fixes to allow ACE pSOS tests to + compile and link successfully. + +Wed Dec 30 10:36:36 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/Env_Value_Test.cpp: protected tests of doubles with + #ifndef ACE_LACKS_FLOATING_POINT, so that the test will + build for our Chorus platform. + +Tue Dec 29 16:24:24 1998 David L. Levine <levine@cs.wustl.edu> + + * bin/Service_Config.perl,auto_ptr.perl,corba-boolean.perl, + rename-ace.pl: use perl from user's path, so we don't have + to hard-code its location. + + * tests/Time_Value_Test.cpp: don't test ACE_U_LongLong if + the platform defines ACE_LACKS_LONGLONG_T, e.g., GreenHills, + because it makes a big mess. + + * bin/Hash_Map_Manager.pl,Hash_Map_Manager_Helper.csh: + translated Hash_Map_Manager_Helper.csh from csh to sh. + Renamed Hash_Map_Manager_Helper.csh to Hash_Map_Manager_Helper. + + * docs/ACE-guidelines.html: specifically disallow csh scripts. + +Tue Dec 29 15:09:15 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.6.10 released. + +Tue Dec 29 14:57:24 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * docs/tutorials/{019,020}: Checked out the two new tutorials + from James Johnson. + +Tue Dec 29 14:37:57 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.6.9 released. + +Tue Dec 29 13:32:50 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.h (ACE_SELF): Changed it's definition from -1 to 0 on NT + to avoid warings from Intel C++. ACE_SELF is not used on NT. + Thanks to Karel Zuiderveld <kzuiderveld@vitalimages.com> for + reporting this. + +Tue Dec 29 10:29:03 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace: Fixed a bunch of warnings produced by Intel's C++ 4.0 + compiler. Thanks to Karel Zuidrveld + <kzuiderveld@vitalimages.com> for reporting these. + +Tue Dec 29 09:47:48 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-sunos*.h,README: + restored ACE_TIMER_SKEW, with explanatory comment. + +Mon Dec 28 23:12:59 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/DLL.h, + ace/Mem_Map.h, + ace/Read_Buffer.h: + Added ACE_UNIMPLEMENTED_FUNC() macros to these headers. + +Wed Dec 28 22:55:55 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * ace/DLL.h: Prevent copying and assignment by putting these + methods in the private part of the class. + +Mon Dec 28 17:57:25 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/020/*: + Sooner than expected... A brief and basic intro to using + ACE_Shared_Memory_MM. + + * docs/tutorials/online-tutorials.html: + Linked in 019 and 020 + +Mon Dec 28 16:32:42 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/019/*: + At long last, a basic Tutorial on ACE_Shared_Memory_SV. With + luck, 020 will be added soon to cover ACE_Shared_Memory_MM + +Mon Dec 28 11:21:40 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Strategies.h: Put the "virtual" keyword in from of the + ~ACE_Reactor_Notification_Strategy to make it clear + that this destructor is virtual. Thanks to Greg Gallant + <greg.gallant@jhuapl.edu> for pointing this out. + +Mon Dec 28 11:12:08 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE-INSTALL.html: added SunOS 5.7 (Solaris 7) info. + +Mon Dec 28 10:52:20 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * */Makefile: + Updated dependencies. + +Mon Dec 28 02:34:59 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * examples/Service_Configurator/IPC-tests/server/server_test.cpp + (main): Allow loading in static services in this application. + Thanks to Peter J. Mason <peterm@fl.net.au> for reporting this. + + * ace/Service_Config.{h,i,cpp} (ACE_Service_Config): Changed the + default value of <ignore_static_svcs> to 1. Otherwise, it is + not consistent with the initial value of + ACE_Service_Config::no_static_svcs_ and that's very confusing. + (open): Added one more argument <ignore_static_svcs> with + default value of 1. This allow us to turn off this behavior + when opening Service_Config. Otherwise, the only other way is + to create a fake ACE_Service_Config and use that to change the + static variable <no_static_svcs_>. + +Sun Dec 27 21:51:10 1998 David L. Levine <levine@cs.wustl.edu> + + * etc/purify.solaris2: added a couple of MIU suppressions for + SunOS 5.7's thread library. + +Fri Dec 25 08:23:51 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ACE-INSTALL.html: Fixed a broken link to the ACE FAQ. Thanks to + Barry Hoggard <hoggardb@panix.com> for reporting this. + +Fri Dec 25 01:55:32 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Hash_Map_Manager: There are two problems with the current + implementation of Hash_Map_Manager: + + (a) It requires a hash() method on the key type. If it is not + possible for the key type to have a hash() function (e.g., + the key is a primitive type such as an int, or is a pointer + type, or a three party class), the usual solution is to do + partial template specialization. + + This is usually not a very good option since some compilers + do not support partial template specialization. + + (b) The second problem is with comparing two keys. + Hash_Map_Manager assumes that keys can be compared using + operator==. This assumption causes problems in some cases, + e.g., when using char * as the key. Usually with char *, + you want to use strcmp and not compare pointers. + + Solution to these two problems is the new Hash_Map_Manager_Ex + class. Problem (a) is addressed by using a function object - the + type of which is specified by the user as an additional template + parameter. Problem (b) is addressed by using another function + object - the type of which is specified by the user as an + additional template parameter. So the new Hash_Map_Manager_Ex + takes five template parameters: + + <key, value, hash_key, compare_keys, mutex> + + Backward compatibility: Hash_Map_Manager now inherits from + Hash_Map_Manager_Ex, fixing the hash_key function object (which + simply calls key.hash()) and fixing compare_keys (which simply + uses operator== on the keys). + + There will be one problem: Users of compilers that do not + implicitly instantiate templates will have to update their list + of template instantiations. To help with this, please see + $ACE_ROOT/bin/Hash_Map_Manager_Helper.csh + + Other miscellaneous changes: Added two new classes: ACE_Hash<T> + and ACE_Equal_To<T>. ACE_Hash assumes a hash() method on T. + ACE_Equal_To compares by using operator==. However, the + ACE_Hash class has been specialized to work with: + + char, signed char, unsigned char, + short, unsigned short, + int, unsigned int, + long, unsigned long, + const char *, char *, + const wchar_t *, wchar_t *, + const ACE_USHORT16 *, ACE_USHORT16 *, + + Also, ACE_Equal_To has been specialized to work with: + + const char *, char *, + const wchar_t *, wchar_t *, + const ACE_USHORT16 *, ACE_USHORT16 *, + + Remember, you don't have to use these specialization. You can + always create your own. + + If we had default template parameters, we could default hash_key + to ACE_Hash<key> and compare_keys could default to + ACE_Equal_To<key>. + + BTW, note that the specialization with ACE_Hash and ACE_Equal_To + is not partial template specialization. It is complete template + specialization, and we don't know of compilers that cannot + handle complete template specialization. + + Since we now have template specialization, Hash_Map_Manager_T.* + files were created. I also took this opportunity to inline most + of the Hash_Map_Manager functions. + + Also, update the makefiles and project files. + + BTW, these changes grossly simplified + tests/Hash_Map_Manager_Test.cpp and tests/Map_Manager_Test.cpp. + These tests will now work with compilers that do not support + partial template specialization. Maybe James can change + Filecache to take advantage of these changes. + + Updated the following files with the new template instantiations: + + ace/Filecache.cpp + ace/Local_Name_Space.cpp + ace/Template_Instantiations.cpp + tests/Conn_Test.cpp + tests/Hash_Map_Manager_Test.cpp + tests/Map_Manager_Test.cpp + TAO/examples/Callback_Quoter/Notifier_i.cpp + TAO/examples/POA/On_Demand_Loading/Servant_Manager.cpp + TAO/examples/Simple/bank/AccountManager_i.cpp + TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp + TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp + TAO/orbsvcs/orbsvcs/Log/Logger_i.cpp + TAO/orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp + TAO/orbsvcs/orbsvcs/Naming/CosNaming_i.cpp + TAO/orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp + TAO/orbsvcs/orbsvcs/Trader/Trader.cpp + TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.cpp + TAO/tao/ORB.cpp + TAO/tao/ORB_Core.cpp + TAO/tao/Object_Table.cpp + TAO/tao/Operation_Table.cpp + TAO/tao/POA.cpp + examples/Map_Manager/test_hash_map_manager.cpp + + Thanks to Carlos for suggesting these changes. Most of these + were inspired by SGI's STL. + + If these changes are successful (i.e., nobody is hunting me down + for breaking their code ;-)), we should add a similar comparison + function object to Map_Manager, Collections in Containers_T that + require an operator==() (typically for remove() and find()) and + the RB_Tree. + + * ace/ACE (hash_pjw): hash_pjw is now available for char *, + wchar_t *, and ACE_UINT16 *. + + * ace/OS (strlen, strcpy, strcmp): These functions are now + available for char *, wchar_t *, and ACE_UINT16 *. + + * ace/SString.cpp (ACE_WString::strlen): Simply calls + ACE_OS::strlen. + + * ace/config-win32-common.h (ACE_HAS_WCHAR_TYPEDEFS_USHORT): Since + Win32 typedefs wchar_t as a 16 bit unsigned short, this can + potentially cause problems with function overloading. + Therefore, I added ACE_HAS_WCHAR_TYPEDEFS_USHORT to the Win32 + config file. This is very similar to + ACE_HAS_WCHAR_TYPEDEFS_CHAR. Thanks to David Levine for helping + with this. + +Thu Dec 24 09:37:32 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.6.8 released. + +Thu Dec 24 00:59:46 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Thread_Manager.h (ACE_Thread_Manager): Added a more complete + documentation of the deprecated <at_exit> method. Thanks to + Keith Brown <kalbrown@ix.netcom.com> for reporting this. + +Wed Dec 23 16:37:52 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-sunos5.5.h,include/makeinclude/platform_sunos5_ghs.GNU: + updated so that links succeed. + +Wed Dec 23 15:58:53 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ACE.cpp (ldfind): Supress changing the 'dll' name if a + customized dll extension is used. + +Tue Dec 22 22:34:32 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-sunos5.5.h,include/makeinclude/platform_sunos5_ghs.GNU: + added GreenHills compiler support. + + * ace/OS.h: don't use hrtime_t for ACE_hrtime_t if + ACE_LACKS_LONGLONG_T. + +Mon Dec 21 16:06:07 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Shared_Memory_MM.i: Changed the remove() method to call + ACE_Mem_Map::remove() rather than ACE_Mem_Map::unmap() so the + code is consistent with the documentation. Thanks to James + Johnson for reporting this. + +Mon Dec 21 13:55:33 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Containers_T.{i,cpp} (ACE_Bounded_Set::is_full): On LynxOS + only, uninlined this function to avoid Internal Compiler Error + with native (3.0.0) compiler. Thanks to Carlos for this fix, + it had us stumped for quite a while. + +Sat Dec 19 18:27:07 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Timer_Queue_Adapters.cpp (handle_signal): Cleaned up an + unused variable. Thanks to David Levine for reporting this. + +Fri Dec 18 09:30:57 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/High_Res_Timer.h (elapsed_time_incr): added missing + const to member function declaration. + + * ace/config-sunos5.5.h: removed redundant + ACE_HAS_XPG4_MULTIBYTE_CHAR #define. + + * ace/config-sunos5.7.h: added this config, for Solaris 7. + + * apps/Gateway/Gateway/Gateway.cpp, + examples/ASX/Event_Server/Transceiver/transceiver.cpp + (handle_signal): added ACE_UNUSED_ARG (signum). + +Fri Dec 18 06:08:47 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/High_Res_Timer: Made several methods const. Thanks to Ulf + Jaehrig <jaehrig@desys.com> for reporting this. + + * ace/Thread.h (ACE_Thread): Removed a stray join(ACE_Thread_ID) + method. Thanks to Jody Hagins <jody@atdesk.com> for reporting + this. + +Thu Dec 17 21:06:30 EST 1998 James CE Johnson <jcej@lads.com> + + * docs/tutorials/000: + Removed. This is redundant with the Chap* directories. + +Thu Dec 17 17:18:21 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * include/makeinclude/platform_sco5.0.0-{nothread,fsu-pthread}.GNU: + This file was been modified to get rid of thread related stuff + until we can obtain the FSU threads library. Thanks to Michael + Preobrazhensky <mikep@xpedite.com> for this. + +Thu Dec 17 16:56:28 1998 David L. Levine <levine@cs.wustl.edu> + + * bin/create_ace_build: try /bin/find if /usr/bin/find doesn't exist. + + * ace/High_Res_Timer.cpp (elapsed_time): rearranged terms in + nanoseconds calculation to avoid overflow on machines that don't + have native 64-bit ints. Thanks to Greg Holtmeyer + <gholtmeyer@mdc.com> for helping to track this problem down. + +Thu Dec 17 12:43:11 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace: Removed the use of ACE_DEBUG within handle_signal() methods + to avoid portability problems. Thanks to Susan Liebeskind + <susan.liebeskind@gtri.gatech.edu> for reporting this. + +Tue Dec 15 14:45:49 1998 David L. Levine <levine@cs.wustl.edu> + + * *.h: removed () from #pragma implementation argument. + Thanks to Christian v. Mueffling <cvm@aiss.de> for reporting + this. + + * docs/ACE-guidelines.html: added Doug's warning about side effects + in ACE_DEBUG statements. + +Tue Dec 15 14:43:47 1998 Ossama Othman <ossama@debian.org> + + * ace/OS.{h,i},README: added lstat() and readlink() methods. + Use ACE_LACKS_LSTAT and ACE_LACKS_READLINK if lstat() and readlink() + aren't supported. + +Tue Dec 15 11:55:51 1998 Steve Huston <shuston@riverace.com> + + * ace/ACE_Library.(mak mdp): Added Message_Queue.cpp to the files list. + + * examples/NT_Service/NT_Service.(mak mdp): MSVC 4.2 project file for + the NT_Service example. + +Tue Dec 15 11:27:24 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-chorus.h: added ACE_LACKS_READLINK. + + * ace/config-psos*.h,config-vxworks-5.x.h: added ACE_LACKS_READLINK + and ACE_LACKS_LSTAT. + +Tue Dec 15 08:44:18 1998 Steve Huston <shuston@riverace.com> + + * examples/NT_Service: New example program, shows how to create, + manipulate, and run an NT Service using the ACE_NT_Service class. + Muchas gracias to Gonzalo Diethelm for smashing this code into a + good example - useful enough to show how things work, but simple + enough to show all the useful functionality in one concise program. + +Tue Dec 15 07:32:49 EST 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> + + * OS.h: + + Moved the definition of IOV_MAX after we have included the + limits.h file. Before make ing this change, we were getting lots + of warnings on SunOS 5.6 about redefinition of IOV_MAX. + +Mon Dec 14 15:39:39 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * tests/Makefile: + Updated dependencies. + +Mon Dec 14 10:49:29 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * Static_Performance.dsw: Quick and dirty workspace to build + several static version's performance tests. + + * ace/ace_lib.dsp: Removed "__ACE_INLINE__=0" from the default + static release build settings. + + * performance-tests/Misc/basic_perf.dsp: + * performance-tests/Misc/context_switch_time.dsp: Added static + build configurations. + + * tests/RB_Tree_Test.dsp: Redid the project file. A VC 6 only + compiler option somehow got into the file. Thanks to Ulf + Jaehrig <jaehrig@desys.com> for reporting this. + +Mon Dec 14 10:24:59 1998 Fred Kuhns <fredk@arl.wustl.edu> + + * ace/OS.h: Added #define for IOV_MAX 16 + +Mon Dec 14 08:35:11 1998 David L. Levine <levine@cs.wustl.edu> + + * BUG-REPORT-FORM: added a few FMMs. + +Mon Dec 14 08:27:11 1998 Steve Huston <shuston@riverace.com> + + * tests/run_tests.sh: Enabled MT_Reactor_Timer_Test. + +Sun Dec 13 16:40:18 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/MT_Reactor_Timer_Test.dsp: + * tests/tests.dsw: Added the new project file - + MT_Reactor_Timer_Test. + + * tests/run_tests.bat: Added MT_Reactor_Timer_Test into + one-button test for NT. + + * tests/MT_Reactor_Timer_Test.cpp: Changed the use of + ACE_OS::{read,write} to ACE::{recv,send}. + +Sat Dec 12 17:19:17 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/ACE.cpp (ldfind): If we specified a suffix which is not the + default suffix on the platform, the ldfind() operation should + not try to add the default platform suffix but use ours. + +Sat Dec 12 07:44:02 1998 John Lindal <jafl@cco.caltech.edu> + + * ace/config-mklinux.h: added. + +Fri Dec 11 23:26:20 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Message_Queue_Test.cpp: Generalize the test to perform + "platform specific" message queue tests when applicable. + Currently, this only applies to VxWorks and Windows NT 4.0 or + above. + + * tests/DLL_Test.cpp (main): STL's implementation of auto_ptr + doesn't define an assignment operator that takes a pointer of T. + Changed to use constructor to initialize the auto_ptr my_hello. + +Fri Dec 11 16:30:44 1998 Ossama Othman <othman@tango.cs.wustl.edu> + + * tests/Time_Value_Test.cpp: Removed the ACE_DISABLE_AUTOCONF_LONGLONG + macro. It broke ACE+autoconf on non-sun platforms. + +1998-12-11 Nanbor Wang <nanbor@cs.wustl.edu> + + * test/DLL_Test.dsp: Fixed configuration settings. Most of the + time, it's easier to add new projects by using the + bin/dsp2dsp.pl. + + * ace/Message_Queue.{h,cpp} (enqueue): Made sure all bytes in a message + block chain are accounted for. + (enqueue_tail,dequeue_head): Added two more methods into + ACE_Message_Queue_Base. They are the prefered methods to use. + +Fri Dec 11 15:09:43 1998 Ossama Othman <ossama@debian.org> + + * tests/Time_Value_Test.cpp: define ACE_DISABLE_AUTOCONF_LONGLONG + before including ace/inc_user_config.h. This will prevent + an automatically generated ACE Configuration Project config.h + header from defining ACE_UINT64, and thus allowing + Time_Value_Test.cpp to compile on platforms that define + ACE_HAS_STHREADS. Please read the comment in Time_Value_Test.cpp. + ACE_DISABLE_AUTOCONF_LONGLONG is not meant for general use! + +Fri Dec 11 14:05:11 1998 Steve Huston <shuston@riverace.com> + + * tests/MT_Reactor_Timer_Test.(cpp h): Replaced the multithread + timer set/cancel test with sensible tests. + +Fri Dec 11 08:51:07 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE-INSTALL.html: updated egcs version information. + + * VERSION: added ace-users/comp.soft-sys.ace info. + + * include/makeinclude/platform_osf1_4.0.GNU: added suppression + of warning 1136, conversion to integral type of smaller size + could lose data. cxx V6.1-029 spews out a bunch of them, + otherwise. + + * tests/Time_Value_Test.cpp: protected definition of __ACE_INLINE__. + Thanks to Ossama for reporting this. + +1998-12-11 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Message_Queue.{h,i,cpp} (ACE_Message_Queue_Base): Added a + bunch of pure virture functions in the class to define the + common interface functions of a message queue. This allows up + to experiment different message queue implementations easily. + Most significantly, all queueing operations are simplified into + <enqueue> and <dequeue> method in ACE_Message_Queue_Base as + "standard" queueing operations. Inherited class, of course, can + add fancier queueing operations (as in ACE_Message_Queue.) + + (ACE_Message_Queue_NT): A new adapter class inherited from + ACE_Message_Queue_Base that implement a message queue using NT's + IO completion ports. As it's name implies, this is a + specialized version for NT. It is not as versatile as ACE's + general MQ implementation. However, this implementation + consumes less NT handles which in some circumstances may be a + big win (because ACE_Message_Queue uses cv and on NT, cv is + simulated and consumes 4 handles per cv. ACE_Message_Queue_NT + only uses one handle and one critical section.) + + Several features inherited from IO completion port are, the + waiting threads are release in LIFO order, and you can control + (at initialization time,) the max number of threads that can be + release by the message queue to run concurrently. + + Notice that the constructor and the <open> method have different + signature compared with those of ACE_Message_Queue. You should + use ACE_Message_Queue_Factory to create a message queue on the + fly if so desired. + + Thanks to Mark Lucovsky <markl@microsoft.com> and Karlheinz Dorn + <Karlheinz.Dorn@med.siemens.de> for providing the idea. + + * ace/Message_Queue_T.h (dequeue): Added the new method to match + with the changes in ACE_Message_Queue_Base. + (create_NT_message_queue): A wrapper function to manufacture an + ACE_Message_Queue_NT. + + +Thu Dec 10 09:08:26 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-chorus.h: added ACE_LACKS_FSYNC. + + * ACE-INSTALL.html: ACE/TAO build on Linux RedHat 5.2 + as well as 5.1. + + * ace/config-osf1-3.2.h: added getpgid () prototype, because + an old comment said that it was missing from the system headers. + + * ace/config-linux-common.h: replaced ACE_LACKS_GETPGID with + a getpgid () prototype. + + Thanks to Ivan Pascal <pascal@info.tsu.ru> for motivating the + above two getpgid () updates. + + * ace/config-sunos5.5.h: updated comment on why explicit + instantiation isn't used with Sun CC. Thanks to + William A. Hoffman <hoffman@crd.ge.com> for introducing + us to -instances=explicit. + +Wed Dec 09 22:59:38 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.6.7 released. + +Wed Dec 09 18:03:58 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * examples/Reactor/WFMO_Reactor/test_network_events.cpp (main): + Removed global variables and cleaned up some minor things. + +Wed Dec 09 07:02:06 1998 David L. Levine <levine@cs.wustl.edu> + + * README, VERSION: expanded mention of BUG-REPORT-FORM. + + * docs/ACE-guidelines.html: strengthened mention of ACE_ASSERT danger. + Thanks to Irfan for the example. + + * tests/run_tests.vxworks: re-enabled Timeprobe_Test, now that + ACE_ASSERTs have been fixed in ACE's Containers. + + * ace/config-linux-common.h,config-osf1-{3.2,4.0}.h: + removed ACE_LACKS_GETPGID. Thanks to + Ivan Pascal <pascal@info.tsu.ru> for reporting that + getpid () is supported on those platforms. + + * ace/config-linux-common.h: restored ACE_LACKS_GETPGID, + because ::getpgid () isn't found on Alpha with glibc 2.0.7. + + * tests/Timeprobe_Test.cpp: disabled ACE_ENABLE_TIMEPROBES, + because the ACE lib is built by default without them. + + * performance-tests/Misc/context_switch_time.cpp: disabled + Yield_Test on VxWorks, because it doesn't run properly there. + + * ace/config-tandem.h,README: removed ACE_HAS_STRUCT_PROTOENT_DATA, + because it is no longer used. Thanks to Ossama for reporting this. + + * tests/Collection_Test.cpp, + examples/Reactor/Misc/test_early_timeouts.cpp: + removed unused parameter names argc and argv. + + * tests/DLL_Test.cpp: added ACE_Auto_Basic_Ptr <Hello> template + instantiation. + +1998-12-09 Irfan Pyarali <irfan@cs.wustl.edu> + + * tests/Collection_Test.cpp: Added new test for ACE collections. + + * ace/Map_Manager.cpp (operator*): + * ace/Containers_T.cpp (operator*): + * ace/SPIPE_Acceptor.cpp (create_new_instance): + + Fixed ACE_ASSERT usage. + + * ace/config-vxworks5.x.h: Added ACE_LACKS_FSYNC. + + * ace/OS.i (fsync): Added ACE_NOTSUP_RETURN (-1). + +Tue Dec 08 21:39:16 1998 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/platform_osf1_4.0.GNU,ACE-INSTALL.html: + enable DU 4.0 cxx 6.x warnings by default. To disable, if + you're using cxx 5.x, set CXX_VER to CXX_5 either on the + make command line, or in your environment. Thanks to + Gary York <gfyork@ix.netcom.com> for being that last + cxx 6.x user to trip over this :-) + + * include/makeinclude/platform_lynxos.GNU: override + ACE_HAS_GNUG_PRE_2_8 to allow builds of all TAO tests + on LynxOS 3.0.0. Its g++ can handled nested classes, even though + it's in the 2.7 family. Thanks to Patty Hair <patty@Lynx.COM> + for suggesting that we try to build the tests on LynxOS. + +Tue Dec 8 19:50:49 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Shared_Object.cpp: Changed the various default + implementations of init()/fini()/info() to return 0 rather than + -1 so that users won't have to subclass Service_Object just to + change the return value. Thanks to Eric Newton for motivating + this. + +Tue Dec 8 16:52:57 1998 Ossama Othman <ossama@debian.org> + + * ace/OS.{h,i}, ace/README: Added a fsync() method. Define + ACE_LACKS_FSYNC if ::fsync() isn't supported. + +Tue Dec 08 15:03:25 1998 Steve Huston <shuston@riverace.com> + + * ace/NT_Service.{h cpp i}: Added a number of methods which can be + used to register, remove, and control an NT service. Also, + another macro, ACE_NT_SERVICE_RUN, which simplifies the setting up + and running the most common case, a single service. Huge thanks + to Gonzalo Diethelm <Gonzalo.Diethelm@jda.cl> for contributing + the bulk of this code! + +Tue Dec 08 11:22:56 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ACE version 4.6.6 released. + +Tue Dec 08 10:45:56 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/System_Time.h: Removed redundant ACE_Time_Date definition. + Thanks to Martin Krumpolec <krumpo@pobox.sk> for reporting this. + +Mon Dec 07 22:58:53 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * examples/Reactor/Misc/test_early_timeouts.cpp: On some + platforms, select() returns before the time value specified. + This tests counts the number of times this happens and the max + early timeout. + + * ace/DLL.cpp (open): Added a call to ACE::ldopen() before calling + ACE_OS::dlopen(). The allows us to find the library is + predefined places and also expand the file name to the correct + syntax (prefix and suffix) according to the platform. + + Also, fixed a bug where the <close_on_destruction_> flag has not + being consulted on a reopen. + + * ace/ACE.cpp (ldfind): Moved the code that calls + ExpandEnvironmentStringsA() from + ACE_Location_Node::open_handle() to ACE::ldfind(). This code is + more general and therefore belongs in ACE::ldfind(). + + * ace/Parse_Node.cpp and ace/Svc_Conf_y.cpp: Fixed the incorrect + use of ASYS_WIDE_STRING. Remember that the string returned from + ASYS_WIDE_STRING is only valid for that line of code ;) + +Mon Dec 7 19:10:24 EST 1998 James CE Johnson <jcej@lads.com> + + * docs/tutorials/ + * docs/tutorials/001/001.dsp + * docs/tutorials/002/002.dsp + * docs/tutorials/003/003.dsp + * docs/tutorials/004/004.dsp + * docs/tutorials/005/005.dsp + * docs/tutorials/006/006.dsp + * docs/tutorials/007/007.dsp + * docs/tutorials/008/008.dsp + * docs/tutorials/008/008-server/008-server.dsp + * docs/tutorials/008/008-direct/008-direct.dsp + * docs/tutorials/008/008-broadcast/008-broadcast.dsp + * docs/tutorials/009/009-directed/009-directed.dsp + * docs/tutorials/009/009-server/009-server.dsp + * docs/tutorials/009/009-broadcast/009-broadcast.dsp + * docs/tutorials/010/010.dsp + * docs/tutorials/011/011.dsp + * docs/tutorials/012/012.dsp + * docs/tutorials/013/013.dsp + * docs/tutorials/014/014.dsp + * docs/tutorials/018/018.dsp + * docs/tutorials/015/015-client/015-client.dsp + * docs/tutorials/015/015-server/015-server.dsp + * docs/tutorials/016/016.dsp + * docs/tutorials/017/017.dsp + * docs/tutorials/tutorials.dsw + Contributed by: + Stefan Ericsson <Stefan.Ericsson@osd.uab.ericsson.se> + +Mon Dec 07 14:11:00 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/README: added entries for ACE_LACKS_IOSTREAMS_TOTALLY + and ACE_HAS_BROKEN_CONDITIONAL_STRING_CASTS. Thanks to + Ossama Othman <othman@astrosun.tn.cornell.edu> for reminding + me to do this. + +Mon Dec 07 09:27:04 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Stats.cpp (std_dev): added comments to not reformat + some code. It compiles with the Diab compiler for pSoS + the way it is. + +Sun Dec 06 23:59:29 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * config-sunos5.5.h: Added back ACE_HAS_TIMER_SKEW. It is really + required. See me for an example that illustrates this need. + +Sun Dec 06 16:05:00 1998 Chris Gill <cdgill@cs.wustl.edu> + + Changes for pSOS port: ACE now compiles for pSOSystem 68k targets using + the Diab D-C++ 4.2a compiler release, and links with all but the + following ACE tests: Conn_Test, Handle_Set_Test, OrdMultiSet_Test, + Priority_Reactor_Test, Process_Strategy_Test, Reactor_Performance_Test, + and TSS_Test. + + * ace/Log_Msg.cpp + ace/Log_Record.{cpp, h} + ace/streams.h + ace/SString.cpp + ace/config-WinCE.h + ace/config-psos-diab.h + tests/test_config.h: Rearranged log print methods so that logging + can still be done on platforms where iostreams are not sufficiently + supported. Added ACE_LACKS_IOSTREAMS_TOTALLY to select this + behavior, and defined it in pSOS Diab config header (also added to + Windows CE config header, to simplify factoring out Win CE specific + logging methods). + + * include/makeinclude/platform_psos_diab.GNU + ace/OS.{cpp, h, i}: Removed Diab supplied library calls so ACE now + links directly to pSOSystem libraries. + + * ace/Parse_Node.cpp + ace/Stats.cpp: Modifications to circumvent bugs in the Diab 4.2a + compiler's handling of conditional operators. + +Sun Dec 06 08:32:36 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Containers_T.cpp,Local_Name_Space_T.cpp, + Name_Request_Reply.cpp,Service_Config.cpp,Service_Manager.cpp, + Svc_Conf.y,Svc_Conf_Tokens.h,Svc_Conf_y.cpp, + Time_Request_Reply.cpp,Trace.cpp: + use ACE_NLOGGING instead of ACE_NDEBUG. + +Sat Dec 05 21:45:00 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Containers_T.cpp,Local_Name_Space_T.cpp, + Name_Request_Reply.cpp,Service_Config.cpp,Service_Manager.cpp, + Svc_Conf.y,Svc_Conf_Tokens.h,Svc_Conf_y.cpp, + Time_Request_Reply.cpp,Trace.cpp: + added if NDEBUG protection to some local variables and + ACE_UNUSED_ARG to some parameters to avoid compiler warnings + when ACE_DEBUG is disabled. Thanks to Faron Dutton + <fdutton@avxus.com> for reporting this. + + * ace/Makefile (Svc_Conf_Tokens.h): escaped $\I\d$ string so + that it doesn't get expanded in the Makefile itself. + +Sat Dec 5 16:06:27 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/Local_Name_Space_T.cpp: Protected some of the ACE_DEBUG + statements with a ACE::debug () check. + +Fri Dec 04 13:46:12 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Stats.cpp (std_dev): fixed difference calculation so + that it always calculates a non-negative value. + + * performance-tests/Misc/context_switch_time.cpp + (High_Priority_Synchronized_Task::svc): check if nsec is >= + mutex_acquire_release_time, to avoid adding in negative + context_switch_times. + + * ace/config-vxworks5.x.h, + include/makeinclude/platform_vxworks5.x_g++.GNU, + include/makeinclude/platform_vxworks5.x_ghs.GNU: moved -DVXWORKS + from platform_vxworks5.x_* files to config-vxworks5.x.h, to reduce + command-line clutter a bit. + +Fri Dec 4 12:45:04 1998 James CE Johnson <jcej@lads.com> + + * docs/tutorials/linify: + * docs/tutorials/combine: + * docs/tutorials/fixMakefile: + Ensure that perms are 755 and that #!/.../perl is not used + +Wed Dec 02 14:21:34 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.i (fstat): This function needs to close down the c handle + opened by _open_osfhandle to avoid resource leaks on Win32. + Thanks to Christian Korn <korn@gate.qaqa.com> for reporting + this. + +Tue Dec 01 13:48:51 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/config-freebsd-pthread.h: Added ACE_HAS_SIGWAIT. Also added + ifdef section to prevent threaded ACE from compiling on FreeBSD + under 3.0 (excluded.) + +Tue Dec 1 22:22:42 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Synch.h: Added a comment to clarify the semantics of + ACE_RW_Process_Mutex. Thanks to Stanislav Meduna + <stanom@etm.co.at> for reporting this. + +Tue Dec 01 17:22:00 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * tests/DLL_Test: Added the .dsp and tests.dsw to the + repository. + + * tests/run_tests.bat: Added an entry for DLL_Test. + +Tue Dec 01 13:54:35 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.h: added ESUCCESS definition (to 0), if not #defined. + +Tue Dec 01 13:48:51 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/config-freebsd-pthread.h: Added ACE_HAS_SIGWAIT. Also added + ifdef section to prevent threaded ACE from compiling on FreeBSD + under 3.0 (excluded.) + + * ace/OS.i (sigwait): FreeBSD 3.0 supports sigwait. Changed the + ifdef condition to support sigwait for 3.0 or above. Thanks to + Bob McWhirter <bob@werken.com> and Russell L. Carter + <rcarter@dnstoo.consys.com> for helping to track this down. + +Tue Dec 01 12:59:57 1998 James CE Johnson <jcej@lads.com> + + * ace/IOStream_T.i (recv,recv_n): set errno to ESUCCESS + because it was never being set to ETIME when the read timed + out. (Before entering the peer_->recv/recv_n, errno was + ENOENT from previous activities and was the same after in + both positive & negative tests until I did the reset.) + (eof): cleaned up a bit. + + I tested against IOStream_Test for both positive and + negative. For the positive test, I changed the sleep() at + line 363 to a much larger value. The client worked fine. + For the negative test, I replaced the spleep() with a + close() & return() pair. The client saw the closure and + exited as expected. + +Tue Dec 1 08:55:48 PST 1998 James Hu <jxh@entera.com> + + * ace/Memory_Pool.cpp: Since type key_t might be something + other than int (e.g., a long), some additional code was needed + to support the sscanf. + +Tue Dec 01 10:49:00 1998 Chris Gill <cdgill@cs.wustl.edu> + + * tests/Win32clerk.conf + tests/Win32server.conf + tests/Win32tokens.conf: removed explicit path for netsvcs dll, as + this dll is now being moved to ACE_wrappers/bin after it is built + and the explicit path was causing dlopen to fail rather than + searching the path on NT, which caused Time_Service_Test to fail. + +Tue Dec 01 10:07:48 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.6.5 released. + +Tue Dec 1 00:07:05 PST 1998 James Hu <jxh@entera.com> + + * ace/Containers_T.h: + * ace/Containers_T.i: + Fixed a bug introduced when someone genericized the creation + strategy for ACE_DLList. The removal routing had not been + similarly genericized. Thanks goes to Martin Krumpolec + <krumpo@pobox.sk> for spotting the problem. + + +Mon Nov 30 19:10:23 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * examples/DLL/Makefile: + * examples/DLL/Makefile.Today: + * examples/DLL/Makefile.Newsweek: + + Added the above makefiles. Makefile internally uses + Makefile.Today and Makefile.Newsweek to build the libraries + seperately. + +Mon Nov 30 13:54:04 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * netsvcs/lib/Server_Logging_Handler_T.cpp (handle_input): There + was a friggin' bug in this code that is a violation of Reactor + framework design rule #2, i.e., we were returning a non-0 value + from handle_input(), which is a no-no... Thanks to Steve Huston + for reporting this. + +Mon Nov 29 13:16:53 EST 1998 James CE Johnson <jcej@lads.com> + + * docs/tutorials/001/logger.h: + * docs/tutorials/001/page04.html: + * docs/tutorials/003/client.cpp: + * docs/tutorials/003/page01.html: + Added a blurb about the additional parameters to the recv(), + recv_n(), send() and send_n() method calls of ACE_SOCK_Stream. + +Sun Nov 29 22:14:32 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.i,cpp (exit): with ACE_HAS_NON_STATIC_OBJECT_MANAGER, + call ACE_Object_Manager::fini (). Uninlined to avoid circular + include problems with Object_Manager.h. The ACE_Object_Manager + instantiation on main's stack is not destroyed by ::exit (), + so this addition causes the ACE_Object_Manager to be + properly shutdown. Thanks to Jeff Greif <jmg@trivida.com> + for pointing out that automatic objects are not destroyed + by ::exit (). + + * ace/Object_Manager.h: added Jeff Greif's ACE_OS::exit () + recommendations in comments. + +Sun Nov 29 20:13:15 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * examples/DLL/Today.cpp: + * examples/DLL/Newsweek.cpp: + + Added ACE_BUILD_SVC_DLL and ACE_Svc_Export directives needed for the + extern "C" create_magazine function. + +Sun Nov 29 18:22:52 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Thread_Pool_Reactor_Test.cpp: Removed the use of + "main_reactor". The "main_reactor" was added to handle incoming + connections because this test was not working correctly without + moving out the acceptor to another reactor. However, I recently + found that the problem was actually due to the deadlocked + notify_handler which I fixed a while back. + + * ace/OS.h: Added forward declarations of ACE_Time_Value's + operator{+,-} so VC 6.0 won't get confused with the + operator{+,-} in namespace std. Thanks to Victor Yu + <victor.yu@computechnics.com.au> for reporting this. + +1998-11-29 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/007/page09.html: + Added warnings about a possible core dump when an event handler + exists in the thread pool's message queue after the handler has + been destroyed. Jeff Donner's <JDonner@schedsys.com> work with + Tutorial 007 on Win32 lead to this discovery. + +Sat NOv 28 20:02:08 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * examples/DLL/Today.cpp: + * examples/DLL/Newsweek.cpp: + + Added the #ifdef directive needed to seperate out the + functionality on NT and UNIX platforms. + +Sat NOv 28 20:02:08 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * examples/DLL/Dll.dsw: + * examples/DLL/Test_dll.dsp: + * examples/DLL/Today.dsp: + * examples/DLL/Newsweek.dsp: + + Added to the repository. The test successfully executes on NT. + + * examples/DLL/README: Modified to add information on how to + execute this test example on NT. + +Fri Nov 27 13:32:38 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * examples/DLL/test_dll.cpp (main): Added right arguments to the + ACE_ERROR_RETURN macro. + +Thu Nov 26 21:04:05 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * examples/DLL/Makefile: + * examples/DLL/Today.{h,cpp}: + * examples/DLL/Newsweek.{h,cpp}: + * examples/DLL/Magazine.h: + + Placed the comments at the right place and added an descriptive + header wherever missing in the .h files. + + * examples/DLL/test_dll.cpp (main): Added auto_ptr for the + Magazine class object pointer. + + * examples/DLL/README: Added to the repository. + +Wed Nov 25 02:02:32 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * examples/DLL/Makefile: + * examples/DLL/Today.{h,cpp}: + * examples/DLL/Newsweek.{h,cpp}: + * examples/DLL/Magazine.h: + * examples/DLL/test_dll.cpp: + + Added these files. This test example shows how dynamically linked + library objects can be loaded on demand and their methods accessed + on getting an pointer to these objects. + +Wed Nov 25 22:28:44 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/INET_Addr.cpp: + Reverted the behavior to version 4.35, we don't use the first + alias as the hostname, but the value returned in the h_name + field. + This change was to support TAO in our local site, but it caused + many problems for other configurations of /etc/hosts and DNS. We + found another workaround for our local site which makes more + sense to the rest of the world. + +Wed Nov 25 20:34:12 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * tests/DLL_Test.cpp (main): Removed ACE_OS::strcat which was + concatenating a string literal with a defined string. + +Wed Nov 25 12:01:20 1998 Ossama Othman <othman@astrosun.tn.cornell.edu> + + * apps/gperf/gperf.texi: + * apps/gperf/gperf.info: + * apps/gperf/texinfo.tex: + * apps/gperf/version.texi: + + updated gperf.texi to work with recent versions of makeinfo (e.g. 1.68, + available in GNU texinfo-3.12). Regenerated gperf.info with latest + makeinfo (1.68). Added texinfo.tex to make available certain TeX + macros for texinfo to TeX converters. Added version.texi to centralize + gperf update dates and versions (gets included by gperf.texi). + +Wed Nov 25 12:01:20 1998 David L. Levine <levine@cs.wustl.edu> + + * performance-tests/Misc/context_switch_time.cpp (main): fixed + printouts by performing floating point division, instead of + converted integer division to double. Added checks of + activate () return values. + + * ace/OS.cpp (sched_params,lwp_getparams,lwpsetparams): set + LWP priority on Suns, even if only using the ACE_HAS_PTHREADS + interface. Though, we still don't get preemption if only using + that interface. performance-tests/Misc/preempt.cpp demonstrates + that. + + * ace/config-osf1-4.0.h: removed ACE_LACKS_THREAD_PROCESS_SCOPING. + DU 4.0 seems to have process scoping, though I think only + the superuser can use it. + +Wed Nov 25 10:48:42 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Task.cpp: Fixed a bug whereby we weren't inheriting the + group id correctly when joining a group of existing threads. + Thanks to Valery Arkhangorodsky <avalery@balisoft.com> for + pointing this out. + +Tue Nov 24 03:50:09 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * tests/DLL_Test.cpp: Renamed DLL_Wrapper_Test.cpp to + DLL_Test.cpp. Also, added ACE_OBJ_SUFFIX which takes care of the + object code convention on NT and UNIX platforms. Changed the + messages in ACE_ERROR to come from ACE_DLL::error(). + This is a running version tested using CC compiler too. + +Tue Nov 24 17:45:26 1998 Steve Huston <shuston@riverace.com> + + * netsvcs/clients/Naming/Dump_Restore/Makefile: Added a LIBS += + $(ACELIB) to help this build on AIX. Thanks to Jon Lindgren + <jlindgren@SLK.com> for reporting this problem. + + * README: Added Jon Lindgren to the contributor's list. Welcome, Jon! + +Tue Nov 24 09:34:58 1998 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/platform_chorus.GNU: added support for + exceptions=0/1 make option. Thanks to Wei Chiang for + requesting this. + + * include/makeinclude/platform_chorus_ghs.GNU: removed + trailing / from MVME_DIR definition. + + * include/makeinclude/platform_vxworks5.x_ghs.GNU: added + optimize=1, to enable optimization by default. + + * performance-tests/Misc/context_switch_time.cpp (main): + don't print suspend-resume results if the suspend-resume + test isn't run (because thr_suspend isn't supported). + Process command line options before calulating hi-res timer + scale factor. + + * ace/OS.h: replaced ENOTSUP with EDEADLK in a comment, + to fix a copy-and-paste error. + + * ace/Stats.* (mean): removed caching. It didn't account for + the fact that it could be called with different scale + factors. (std_dev): fixed sum_of_squares calculation to + always use 64-bit arithmetic. (print_summary): if the + std dev calculation overflows, retry with smaller scale + factor, until 0 is reached. + + * tests/Conn_Test.cpp: replaced #include of ace/Auto_Ptr.h, + because ACE_Auto_Basic_Array_Ptr is used. + +Mon Nov 24 03:30:36 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * tests/DLL_Wrapper_Test.cpp: Added a test example for the DLL + wrapper class. + + * tests/Makefile: Added an entry for DLL_Wrapper_Test example. + +Mon Nov 23 23:49:36 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * ace/DLL.h: Made the default value of the close_on_destruction + equal to 1. + + * ace/DLL.cpp (~ACE_DLL): Checked whether the member variable, + close_on_destruction_ is non-zero instead of comparing it to 1. + +Mon Nov 23 21:14:22 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * ace/DLL.h (ACE_DLL): Set the default of close_on_destruction to + 1 instead of 0. + + * ace/DLL.cpp (~ACE_DLL): In the close operation, made a check for + whether the close_on_destruction_ flag was equal to 1 instead of + 0. + + * ace/DLL.cpp (get_handle): Made the close_on_destruction_ flag + equal to 0 when it gets orphaned as now the new owner has to + explicitly close the library. + +Mon Nov 23 20:29:52 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/DLL: Cleaned up the comments and also fixed an unnecessary + check to see if dll_name == 0. + +Mon Nov 23 10:20:22 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * ace/DLL.h: Added a comment which specified that by default the + library would be closed before the ACE_DLL object gets + destroyed. + + * ace/DLL.cpp (get_handle): Changed the value for the member + variable, close_on_destruction_ to 1 on orphaning the handle + and giving it to the new owner. + +Mon Nov 23 17:14:40 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * examples/Reactor/Proactor/test_proactor.cpp (open): It is even + more neat to do this for faking the result. + // <complete> for Accept would have already moved the <wr_ptr> + // forward. Update it to the beginning position. + duplicate.wr_ptr (duplicate.wr_ptr () - bytes_transferred); + +Mon Nov 23 17:16:46 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/OS.h: Set the value of ACE_SHLIB_INVALID_HANDLE to 0 for HP. + Thanks to Steve Huston <shuston@riverace.com> for providing this + information. + +Mon Nov 23 16:16:26 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * examples/Reactor/Proactor/test_proactor.cpp: Updated the code to + show that adjusting wr_ptr () to the place of rd_ptr () is the + better way to fake results properly. Thanks to "James A. Risinger" + <james@tsunami.com> for reporting this problem. + +Mon Nov 23 12:58:47 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/ASX/Message_Queue, + tests: + Replaced the improper (though technically correct) use of the + rd_ptr() with wr_ptr(). Thanks to Susan Liebeskind + <susan.liebeskind@gtri.gatech.edu> for reporting this. + +Mon Nov 23 10:47:38 1998 David L. Levine <levine@cs.wustl.edu> + + * bin/generate_man_pages: added this script, which generates + the ACE man and html pages. + + * Makefile (release): added call to bin/generate_man_pages. + +Sun Nov 22 22:58:39 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/SPIPE_Addr.h: Replaced the use of an anonymous struct so + that class2man will be happy. Thanks to David Levine for + reporting this. + +Sun Nov 22 22:07:04 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Functor*: removed trailing // EOF because class2man choked + on it. + +Sun Nov 22 14:36:26 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * examples/Reactor/Proactor/test_proactor.cpp (open): Updated the + test to show the correct way to 'fake' <complete> call. + +Sun Nov 22 13:57:28 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Makefile: Added Env_Value_T to the TEMPLATE_FILES macro in + the Makefile. Thanks to Ossama for reporting this. + +Sat Nov 21 14:32:53 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/DLL: Cleaned up the DLL logic to handle "close on + destruction" properly. + +Sat Nov 21 08:34:44 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.h: added ACE_LACKS_IP_ADD_MEMBERSHIP, for internal + use only. If IP_ADD_MEMBERSHIP isn't defined, ACE defines + ACE_LACKS_IP_ADD_MEMBERSHIP for subsequent use in + determining whether to define ip_mreq. + + * bin/html-windex: updated to match Doug's ~/bin version. + +Fri Nov 20 00:58:35 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * ace/DLL.h (ACE_DLL): Added a new constructor which allows auto + opening of the dynamically linked library. + + * ace/DLL.h (get_handle): Added a method which returns teh handle + to the user. + + * ace/DLL.cpp (ACE_DLL): Added the auto-open feature taking care + of more than one open calls. + + * ace/DLL.cpp (get_handle): The orphan flag decides whether the + handle is orphaned or given to the user temporarily. + + * ace/DLL.cpp (open): Added a check so that a already existing + handle is closed before the next open is done. + +Fri Nov 20 23:40:12 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/00[567]/client_handler.cpp : + * docs/tutorials/00[56]/page0[45].html + * docs/tutorials/007/page0[56].html + Rework the interaction of handle_input(), handle_close() and + close(). I had this all wrong by making handle_close() invoke + remove_handler() when it was unnecessary. + +Fri Nov 20 22:12:03 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * ace/Makefile: Added an entry for DLL.{h,cpp}. + +Fri Nov 20 15:49:04 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/OS.h: Added ACE_SHLIB_INVALID_HANDLE which is used to + indicate a invalid shared library handle. + + * examples/Reactor/WFMO_Reactor/test_handle_close.cpp: This + application tests whether handle_close() gets called and if the + correct masks are passed along. The handler should get + handle_close() called for all three masks (READ, WRITE, and + EXCEPT). + + * ace/WFMO_Reactor.cpp (remove_handler_i, + remove_suspended_handler_i, and remove_to_be_added_handler_i): + There was a bug in WFMO_Reactor where handle_close() was not + called when it is not a complete removal. Added a call to + handle_close() for all the masks that were removed. Note that + partial removals do not change the state of the internal tables + of the reactor. + + * ace/OS.i (recvfrom): There is a bug in the Win32 implementation + of this function. It reports an error (with errno=WSAEMSGSIZE), + even MSG_PEEK is specified, when the message was too large to + fit into the specified buffer and was truncated. So we fixed it + by returning the length of the recv request when + errno=WSAEMSGSIZE and the MSG_PEEK flag was specified. + +Fri Nov 20 11:15:40 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-sunos5.5.h: changed comment to use + -D_POSIX_PTHREAD_SEMANTICS to specify POSIX threads only. + Just commenting out ACE_HAS_STHREADS in insufficient. + See the Intro (3) man page for information on + -D_POSIX_PTHREAD_SEMANTICS; it's the Sun-recommended + way to specify use of POSIX threads. Thanks to + Rich Christy <rchristy@cccis.com> for pointing out that + removal of ACE_HAS_STHREADS doesn't work. + + * ACE-INSTALL.html: added notes on thread flavors on Solaris. + + * include/makeinclude/platform_sunos5_g++.GNU: added support + for threads=0. + + * ace/OS.cpp (thr_create): added static cast of PTHREAD_STACK_MIN + to size_t, to avoid signed/unsigned comparison on + g++ 2.7.2.3/Solaris86 2.6. + +Thu Nov 19 23:04:37 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Functor.h (ACE_Command_Base): Added missing ACE_Export. + +Thu Nov 19 18:01:00 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * ace/DLL.cpp (ACE_DLL): Made base-member initialisation change + to member variable close_mode_. + +Thu Nov 19 10:28:11 1998 David L. Levine <levine@cs.wustl.edu> + + * performance-tests/Misc/context_switch_time.cpp: fixed 64-to-32 + bit casts to work with unsigned 64 bit ACE_hrtime_t on NT. + +Wed Nov 18 20:56:38 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * ace/DLL.{cpp,h} (ACE_DLL): Added the close-on-destruction + feature in the constructor of the ACE_DLL class. + +Thu Nov 19 00:18:26 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/OS.i (strnstr): Added a check to see if the substring is + longer than the string being searched. Fixed both the char and + wchar_t versions in OS.i and the ACE_USHORT16 version in + SString.cpp. Thanks to Knut Johannessen <knutj@funcom.com> for + pointing out the bug and providing a fix. + + * ace/SString.i (find): The argument to strnstr() should be the + length of <s> instead of <this->len_ - pos>. + + * tests/SString_Test.cpp (main): Added tests to make sure that + find() and strstr() work even when the substring is longer that + the original string. + + * ace/Timeprobe_T.h (ACE_Timeprobe): Added accessors to the class + so that the user can get to the internals. This allows the + users to format the output of collecting the timeprobes + according to their liking. + +Wed Nov 18 15:51:42 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Basic_Types.h (ACE_UINT64_DBLCAST_ADAPTER): on other + than Win32 and without ACE_LACKS_LONGLONG_T, wrapped the + "n" macro definition with parenthesis, to avoid insidious + errors in equations due to removing the grouping. g++ 2.7.2.3 + noticed this on the latest context_switch_time.cpp. + + * ace/Svc_Handler.cpp (cleanup_hint): fixed ACE_TRACE string. + + * *.cpp: changed include protection from #if !defined to ifndef. + Added #pragma once, if possible, i.e., after #include of + an ace/ header. It can only be done after ace/config.h + is included, because some platforms don't allow #pragma once. + +Wed Nov 18 15:54:09 EST 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/007/client_handler.cpp + * docs/tutorials/007/page06.html + + Jeff Donner (jdonner@schedsys.com) points out that Susan Liebskind's + fix to Tutorial 6 should also be applied to this one. + + The fix is: + Don't call baseclass close() from Client_handler::close(). Doing + so will result in double-delete of the handler object. + +Wed Nov 18 00:25:08 1998 Kirthika Parameswaran <kirthika@cs.wustl.edu> + + * ace/DLL.{h,cpp} (ACE_DLL): + Wrapper for dynamically linked library operations. + +Tue Nov 17 11:15:00 1998 Chris Gill <cdgill@cs.wustl.edu> + + * tests/version_tests/RB_Tree_Test.dsp + tests/version_tests/version_tests.dsw : created RB_Tree_Test project + for NT version tests and added it to version tests workspace. + +Tue Nov 17 10:15:10 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Map_Manager.cpp (resize_i): Made sure the new elements in + resize_i get constructed properly so we can use more complex + classes with it. Thanks to Knut Johannessen <knutj@funcom.com> + for providing the patch. Also changed to use copy constructor + to move data across rather than construct/assign pair. + +Tue Nov 17 09:37:32 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-linux-common.h: removed + ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR because it caused compilation + failure with egcs 1.0.2. + + * ace/config-g++-common.h: added ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR, + with egcs >= 1.1 only. Thanks to James Johnson for helping + to sort this out. + + * ace/config-osf1-4.0.h: moved ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR + from common area to DEC CXX area, because config-g++-common.h now + handles g++. + + * ace/IOStream_T.i (eof): fixed return value calculation + logic. Thanks to Arturo and James Johnson for providing + and verifying the fix. + + * include/makeinclude/platform_vxworks5.x_ghs.GNU: + added -DVXWORKS to CFLAGS, because GHS 1.8.9 needs it. + (GHS 1.8.8 had a built-in processor define for it. Adding + -DVXWORKS doesn't seem to bother 1.8.8.) Thanks to Steve + Kay <slk1@icore.ih.lucent.com> for reporting this. + + * ace/OS.h: even if ACE_HAS_IP_MULTICAST is not defined, if + IP_ADD_MEMBERSHIP is defined, assume that the ip_mreq struct + is also defined (presumably in netinet/in.h). This allows + compilation to succeed on GHS 1.8.9/VxWorks. Thanks to + Steve Kay <slk1@icore.ih.lucent.com> for reporting it. + +Tue Nov 17 09:12:00 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/SString.{h, i}: added < , > operators to string classes + + * apps/JAWS/PROTOTYPE/HTTPU/http_headers.cpp + tests/RB_Tree_Test.cpp: added missing template instantiations + + * tests/Makefile + tests/run_tests.sh : added RB_Tree test to UNIX makefile, test script + +Mon Nov 16 17:55:00 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/Functor_T.{h, i} + ace/RB_Tree.{cpp, h, i} : added less-than comparison functor + (aka function object aka GOF Command Pattern) to allow ACE_RB_Tree + to be used with key types that do not support a < operator. + Thanks to Mark De Jong <mdj@intervu.net> for reporting the less-than + problem and suggesting part of the solution. Also cleaned up class + naming and comments to conform to ACE coding standards, fixed an + access violation that occurred when deleting items from a tree. + + * tests/RB_Tree_Test.{cpp, dsp} + tests/run_tests.bat + tests.dsw: Added a test to verify correct tree + behavior under insertion and deletion for different key and item + types and insertion orders. + + * apps/JAWS/PROTOTYPE/HTTPU/http_headers.{cpp, h}: Changed type names + for ACE_RB_Tree and associated classes. + +Sun Nov 15 16:34:11 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-osf1-4.0.h,config-linux-common.h: added + ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR #define. Thanks to + James Johnson for reporting that it is necessary. + + * ace/config-kcc-common.h: removed commented-out + ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR #define. + +Sun Nov 15 12:40:35 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/018/* + * docs/tutorials/online-tutorials.html + A new tutorial on ACE_Token. + +Sun Nov 15 12:10:39 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/013/* + + A few more tweeks now that the sun is up. Mostly simple + documentation changes but a couple of cleanups on the code as well. + +Sat Nov 14 23:15:58 EST 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/013/message_queue.cpp + docs/tutorials/013/block.cpp + docs/tutorials/013/block.h + docs/tutorials/013/combine.shar + docs/tutorials/013/*.html + + Something changed between 4.5.x and 4.6 with the calling + order for ACE_Lock_Adapter<>::release() and ::destroy(). + + Specifically: In the older release, the data block's + lock was being held across its destruction. That required + some odd things to prevent the lock's deletion until it + was released. + + In the new version, it appears that release() is called + on the lock before the data block's destructor is called. + Data_Block::Lock::destroy() can now simply 'delete this' + The funky destroy_ flag is no longer necessary. + + Thanks to Bob McWhirter <bob@werken.com> for causing me + to look back on this and get it fixed. + + I've also taken this opportunity to convert the tutorial + to the new style colorized HTML. + +Sat Nov 14 22:01:52 1998 David L. Levine <levine@cs.wustl.edu> + + * bin/make_release (diff): fixed logic that determines + when to use ../diffs/ instead of diffs/. Thanks to + Doug for reporting this. + +Sat Nov 14 14:21:49 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.6.4 released. + +Fri Nov 13 12:03:18 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/config-irix6.x-sgic++.h: + * ace/config-irix6.x-sgic++-nothreads.h: + Under some versions of IRIX 6.X the readdir_r() prototype does + not show up unless threads support (actually POSIX1c support) is + enabled. I've change the config file to only use readdir_r() if + threads are enabled. Thanks to Bob Olson <olson@mcs.anl.gov> for + reporting this problem. + +Fri Nov 13 08:55:18 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/Pipe_Test,Process_Mutex_Test.cpp: wrapped some variables + and functions with #ifndef ACE_LACKS_FORK, to avoid warnings + on g++/VxWorks. + +Thu Nov 12 09:07:28 1998 David L. Levine <levine@cs.wustl.edu> + + * bin/make_release: use ../diffs if building ace+tao kit, so + we no longer need a ../diffs symlink in TAO directory. Thanks + to Hans Rohnert <rohnert@scr.siemens.com> for motivating this. + + * ace/README: removed ACE_LACKS_STREAM_MODULES. Thanks to + Ossama for reporting that it's no longer used. + +Wed Nov 11 23:11:15 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * bin/ACEutils.pm: Updated to include $EXEPREFIX, which is used + in front of executables in the run_test.pl's. + +Wed Nov 11 01:08:32 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ACE-INSTALL.html: Added a link to Ossama's ACE Configuration + Project. + +Tue Nov 10 22:29:00 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.6.3 released. + +Tue Nov 10 22:24:59 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * docs/tutorials: Integrated Umar's code examples from + the ACE programmers manual. + +Tue Nov 10 21:53:01 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Process.cpp: added const to loop index, in CHORUS code. + +Tue Nov 10 19:27:32 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/OS.[i,cpp]: + Added checks for ACE_HAS_WINNT4 != 0 when checking for + ACE_HAS_WINNT4 like we do elsewhere. Thanks to Valery + Arkhangorodsky <avalery@balisoft.com> for pointing this out. + +Tue Nov 10 14:56:38 EST 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/index.html + Including #17 now + + * docs/tutorials/017/*.html + docs/tutorials/017/combine.shar + Completed! Commented and converted into standared Tutorial format. + +Tue Nov 10 10:09:06 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/Env_Value_Test.cpp (main): replaced hard-coded "/" with + ACE_DIRECTORY_SEPARATOR_STR. + + * ace/config-vxworks5.x.h: removed ACE_HAS_VERBOSE_NOTSUP #define. + Thanks to Margherita Vittone Wiersma <vittone@fndaub.fnal.gov> and + Ramiro Penataro Blanco <penataro@ll.iac.es> for complaining + about it. + +Mon Nov 9 23:27:59 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/ASX/Message_Queue/buffer_stream.cpp (main): Fixed an + off-by-one bug. Thanks to Rainer Blome + <rainer_blome@de.ibm.com> for reporting this. + +Mon Nov 09 21:31:56 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/Env_Value_Test.cpp (main): prepended "./" to name of + file to spawn. With the last round of changes to + ace/Process.cpp, that's necessary if "." isn't in the user's + PATH. That's because we're now using only execvp, and no + longer using execve. + + * tests/Atomic_Op_Test.cpp,Barrier_Test.cpp,Buffer_Stream_Test.cpp, + Future_Test.cpp,IOStream_Test.cpp,MT_Reactor_Timer_Test.cpp, + Map_Manager_Test.cpp,Message_Block_Test.cpp, + Message_Queue_Notifications_Test.cpp,Notify_Performance_Test.cpp, + Pipe_Test.cpp,Priority_Buffer_Test.cpp,Priority_Task_Test.cpp, + Process_Mutex_Test.cpp,Reactor_Exceptions_Test.cpp, + Reactor_Notify_Test.cpp,Reactor_Performance_Test.cpp, + Reactors_Test.cpp,Reader_Writer_Test.cpp,SPIPE_Test.cpp, + SV_Shared_Memory_Test.cpp,Semaphore_Test.cpp,TSS_Test.cpp, + Task_Test.cpp,Thread_Manager_Test.cpp,Thread_Mutex_Test.cpp, + Thread_Pool_Reactor_Test.cpp,Thread_Pool_Test.cpp, + Tokens_Test.cpp,UPIPE_SAP_Test.cpp,Upgradable_RW_Test.cpp, + XtReactor_Test.cpp: + changed Log_Priority of "not supported" messages to LM_INFO. + Hopefully, it will help avoid confusion, especially among + new ACE users. Thanks to Gonzo for suggesting this. + + * tests/run_tests.sh: added ACE version number printouts. + + * BUG-REPORT-FORM: added phase (compilation/linking/execution/other), + and ACE+TAO/application/both. + +Mon Nov 9 02:52:11 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Signal.cpp: handle_close() wasn't being called when + handle_signal() returns -1. It is now... Thanks to Vicentini + Emanuele <arena.sci.univr.it> for reporting this. + + * ace/Event_Handler.h (ACE_Event_Handler): Added a SIGNAL_MASK so + that we can pass this to handle_close() when handle_signal() + returns -1. + + * README: Fixed a typo where ACE-install.html was misspelled as + ACE-Install. Thanks to Michael Thomas + <Michael.Thomas@Australia.Boeing.com> for reporting this. + +Sun Nov 08 22:00:22 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Message_Block.h: changed ACE_Message_Type to int, to + avoid overload ambiguity when it's unsigned. + +Sun Nov 8 10:42:38 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Message_Block.h: Changed the ACE_Message_Type from being an + enum to being an ACE_UINT32 so that it's easier for users to add + their own message types to an ACE_Message_Queue. Thanks to + Martin Krumpolec <krumpo@pobox.sk> for this suggestion and to + David Levine for catching that it should be an ACE_UINT32. + +Fri Nov 6 23:08:16 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Process.cpp (spawn): Set result correctly when execvp() is + called. Also, make sure to check for putenv() failing. Thanks + to David Levine for pointing this out. + + * tests/Env_Value_Test.cpp: Reformatted the test a bit. + +Fri Nov 06 22:41:21 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Process.cpp (spawn): initialized local "result" to 0 + to avoid egcs warning about possible unitialized use. Added + const to loop index to avoid egcs warning about discarding + const. + + * ace/OS.h,Basic_Types.h: moved ACE_UINT64_FORMAT_SPECIFIER from + OS.h to Basic_Types.h, because other 64-bit int support is + there. Changed default ACE_UINT64_FORMAT_SPECIFIER to + "%llu", because that's what Solaris 2.x uses. + + * ace/config-win32-common.h,ace/config-linux-common.h: added + ACE_UINT64_FORMAT_SPECIFIER overrides. + + * ace/Log_Msg.cpp (log): added ACE_U_LongLong support. + +Fri Nov 6 13:29:11 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/OS.h (ACE_UINT64_FORMAT_SPECIFIER): Changed + #define ACE_UINT64_FORMAT_SPECIFIER "%I64d" + + to: + + #define ACE_UINT64_FORMAT_SPECIFIER "%I64u" + + to handle the signed/unsigned stuff correctly. Thanks Zoran! + + * ace/Process.cpp (spawn): Replaced the use of execve() with + execvp() by copying the environment variables manually first. + Thanks to Avi Nash for this fix. + + * ace/Log_Msg.cpp (log): Added support for a `%Q' format specifier + to the log() method. This prints out quad words, i.e., + ACE_UINT64's. Thanks to Zoran Ivanovic <zorani@pathcom.com> for + contributing this. + + * Updated the "site map" for ACE so that it doesn't use absolute + links. Thanks to Rainer Blome <rainer_blome@de.ibm.com> for + contributing this. + + * ace/Process.h: Clarified the behavior of ACE_Process and + ACE_Process_Options on UNIX because of the use of execve(), + which doesn't search the path. Thanks to Avi Nash for reporting + this. + +Fri Nov 06 15:01:20 1998 Rainer Blome <rainer_blome@de.ibm.com> + + * tests/run_tests.sh: augmented to make, run, and discard + each test for which it doesn't find an executable. + + Thus, if you first say make to build the executables, all tests + will just run (or not ;-), nothing is changed. + + If you start run_tests.sh without having built the executables, + it will make, run and discard the tests one by one instead. + Any compiler output goes to log/compilation.log. + +Fri Nov 06 12:58:24 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Thread_Manager.cpp: Removed several superfluous parens so + the code looks clearer and less error-prone. + +1998-11-06 James CE Johnson <jcej@lads.com> + + * docs/tutorials/013/block.cpp + * docs/tutorials/013/page05.html + * docs/tutorials/015/Compressor.cpp + * docs/tutorials/015/Crypt.cpp + * docs/tutorials/015/Recv.cpp + * docs/tutorials/015/Xmit.cpp + * docs/tutorials/015/*.html + Susan Liebeskind (susan.liebeskind@gtri.gatech.edu) discovered + that you can't use the 'inherited' typedef to initialize a + baseclass if you use the AIX C++ compiler. + +Fri Nov 06 08:57:49 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/Mem_Map_Test.cpp (reverse_file): put the volatile + qualifier back in. LynxOS 3.0.0/PowerPC needs it with -O2 + and without ACE_HAS_INLINE. + + * VERSION: added reference to BUG-REPORT-FORM. Thanks to + Peter Nordlund <petern@nada.kth.se> for providing the new + text. + + * ace/SOCK_Dgram_Mcast.cpp (unsubscribe): fixed ACE_TRACE + string. + + * ACE-INSTALL.html: added note on possibly having to change + -G to -shared in platform_macro.GNU's SOFLAGS with GNU linker. + Thanks to Andy Gokhale and James Megquier <jmegq@bbn.com> for + reporting this. If anyone knows of an automagic fix, that would + be appreciated. + + * ACE-INSTALL.html: added note on how to enable IP multicast on + LynxOS. + +Thu Nov 5 23:10:46 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Thread_Manager.cpp (wait_task): Fixed a wrong parenthesis + pair. Thanks to Bob McWhirter <bob@werken.com> for figuring + this out. + +Thu Nov 5 21:41:26 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/017 + Began the ACE_Barrier tutorial. So far, it's just code but I'll + add the usual heavy comments & commentary in the next few days or + so. I'll update the docs/tutorials/index.html after that. + +Thu Nov 5 14:42:59 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ACE-INSTALL.html: Cleaned up a typo in the ACE-INSTALL.html + file. Thanks to James Megquier <jmegq@bbn.com> for reporting + this. + + * ace/config-sunos5.5.h: Cleaned up the comments a bit to make it + more clear how to enable/disable threads. Thanks to Russ + Noseworthy <rnosewor@objectsciences.com> for reporting this. + + * ace/Stream.h: Clarified some subtleties with subclassing from + ACE_Stream. Thanks to Stephen Coy for reminding me of this. + + * include/makeinclude: Updated the platform_linux_kcc.GNU file. + Thanks to Joseph Weihs <joseph-w@Orbotech.Co.IL> for reporting + this. + + * ACE.FAQ.html: Pointed out that ACE is Y2K compliant. Thanks to + Fredrik Lindahl <fredrik.lindahl@ausys.se> for suggesting this. + +Thu Nov 05 13:23:29 1998 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/platform_lynxos.GNU: default VERSION + to 3.0.0. We no longer build/test for LynxOS 2.5.0. Added + usage comments. + + * ACE-INSTALL.html: for LynxOS, added link to platform_lynxos.GNU + file, for usage information. Replaced some absolute paths in + URLs with relative paths. + +Wed Nov 4 23:28:55 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Stream.h: Made all the methods of ACE_Stream virtual to + enable subclasses. Thanks to Bob McWhirter's for this + suggestion. + +Tue Nov 3 16:06:23 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/Logger/simple-server: Fixed the server so that it shuts + down cleanly when ^C is given. Thanks to Avi Nash + <anash@RedBrick.COM> for reporting this. + +Tue Nov 03 13:17:49 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Thread_Manager.{h,i,cpp} (thread_desc_self): Changed this + method to an inline function. Removed outdated comments and + instead of searching thru the list when the current thread's + descriptor is not found in TSS cache, place an assertion there + for this should never happen. Thanks to Terry Rosenbaum + <Terry.Rosenbaum@Radiology.MSU.edu> for motivating the change. + +Mon Nov 2 22:54:08 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/config-win32.h: + * ace/config-win32-common.h: + Only define ACE_LACKS_RECVMSG/SENDMSG for non-WinSock2 systems. + Before, it was being defined for all non-NT configurations. + Thanks to Irfan for suggesting this change. + +Mon Nov 2 18:18:04 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/Reactor/Dgram/CODgram.cpp, + examples/Reactor/Dgram/Dgram.cpp: + Fixed these programs so that they will work across + processes/machines, as well as within the same process. Thanks + to Larry <larry@paradigmsim.com> for reporting this. + + * Added a "site map" for ACE. Thanks to Rainer Blome + <rainer_blome@de.ibm.com> for contributing this. + +Mon Nov 2 18:13:29 EST 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/ACE-FMM.html + Updated from Bob's <bob@netwrench.com> latest. + +Mon Nov 02 11:22:30 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Thread_Pool_Reactor_Test.{h,cpp}: Renamed Acceptor_Handler to + Request_Handler to better reflect what the class actually does. + + * docs/ACE-categories.html: Fixed erroneous html tags. Thanks to + Rainer Blome <rainer_blome@de.ibm.com> for reporting this. + +Mon Nov 02 00:26:59 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace: Since connectors really don't have any state, they don't + need to inherit from the SAP classes. Therefore, modified the + following to be simpler: + + TLI_Connector + DEV_Connector + SPIPE_Connector + UPIPE_Connector + +Sun Nov 01 21:18:24 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/WFMO_Reactor.cpp (upcall): Before handle_input is called + because of FD_CLOSE, we check the return value of handle_input + because of FD_READ. If the user had returned -1, we won't call + handle_input again. Thanks to Gonzalo Diethelm + <Gonzalo.Diethelm@jda.cl> for suggesting this change. + + * examples/Reactor/WFMO_Reactor/test_network_events.cpp + (handle_input): Changed this method to keep reading from the + socket until EWOULDBLOCK occurs. + +Sun Nov 1 17:32:50 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Hash_Map_Manager_Test.cpp (run_test): Oops, we need to + account for compilers that lack template specialization! Thanks + to David Levine for reporting this. + +Sun Nov 01 17:24:56 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-win32-borland.h,config-win32-common.h,README: + removed ACE_LACKS_STL_DEFAULT_TEMPLATE_PARAMETER because + it's no longer used. Thanks to Ossama for reporting this. + +Sun Nov 01 08:54:08 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.6.2 released. + +Sat Oct 31 18:12:36 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Hash_Map_Manager_Test.cpp (run_test): updated the test to + validate that the trybind() operation works correctly. Thanks + to Bill Fulton <fultonb@pcnet1.ascs.aro.allied.com> for this + fix. + + * ace/Hash_Map_Manager.cpp: trybind() was doing the "Wrong + Thing"[TM] by overwritting the INT_ID even if the entry was + already in the map! It's fixed now... Thanks to Bill Fulton + <fultonb@pcnet1.ascs.aro.allied.com> for reporting this. + +Sat Oct 31 17:15:42 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.6.1 released. + +1998-10-31 Nagarajan Surendran <naga@polka.cs.wustl.edu> + + * ace/Select_Reactor_T.cpp (dispatch): Added signal_occurred at + the right return to indicate that a handle_signal () has been + dispatched. + +Fri Oct 30 20:31:27 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tests/Semaphore_Test.cpp: Cleaned up the #if's to make it easier + to understand, and fixed a related problem. Thanks to + Ossama for finding this. + +Fri Oct 30 15:47:39 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Select_Reactor_T.cpp (dispatch): Make sure to include a + count of 1 if the Reactor dispatched a handle_signal() method. + This ensures we don't return 0 from handle_events() in cases + where we didn't timeout... Thanks to Naga for chasing this + down! + +Fri Oct 30 11:53:16 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-sunos5.6.h: removed ACE_HAS_POSIX_SEM #define because + it caused a seg fault in Reactor_Notify_Test on + g++ 2.7.2.3/Solaris86 (with -D_POSIX_C_SOURCE=199506L + -D_POSIX_PTHREAD_SEMANTICS -D__EXTENSIONS__). The seg fault is + at the end of the test: + + #0 0xdfd5a809 in realfree () + #1 0xdfd5ad16 in cleanfree () + #2 0xdfd5a43a in _malloc_unlocked () + #3 0xdfd5a2e9 in malloc () + #4 0xdfd61a25 in _strdup () + #5 0xdfeffcd5 in ACE_Log_Msg::log (this=0x8052ec0, + format_str=0x804f0af "(%P|%t) Ending %s test at %D\n", + log_priority=<error type>, + argp=0x80476ac "\nð\004\bÔÀÿß\177\023\004\bÔv\004\b§¹\004\b\001") + at /export/home/conga/levine/ACE_wrappers/ace/OS.i:1399 + #6 0xdfeffbfa in ACE_Log_Msg::log (this=0x8052ec0, + log_priority=<error type>, + format_str=0x804f0ac "d\n") at Log_Msg.cpp:601 + #7 0x804c935 in main () at Reactor_Notify_Test.cpp:297 + + It's hard to imagine how ACE_HAS_POSIX_SEM could cause that. + But, it's perfectly repeatable. And, we can live without + ACE_HAS_POSIX_SEM. + + * tests/run_tests.sh: really commented out Thread_Pool_Reactor_Test. + It _wasn't_ commented out in the 4.6 release. + + * tests/Mem_Map_Test.cpp (reverse_file): removed volatile + qualifier because it no longer seems to be necessary for LynxOS + 3.0.0/PowerPC. + +Fri Oct 30 09:23:55 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/SString.h: Cleaned up the ACE_SString comments to be more + helpful. Thanks to Ivan Murphy <Ivan.Murphy@med.siemens.de> for + motivating this. + +Thu Oct 29 22:19:19 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/ACE-FMM.html: + Updated from Bob's latest version. Thanks Bob! + +Thu Oct 29 21:13:41 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/016/Condition_i.cpp: + Fixed messed-up the signature on + Condition::operator Condition::value_t(void) + +Thu Oct 29 18:51:19 1998 Steve Huston <shuston@riverace.com> + + * ace/ACE.cpp: Added "|| defined (_AIX)" to decision to do + template instantiations at end of file. Thanks to Ian + Wright <I.Wright@elsevier.co.uk> for this fix. + + * ace/config-aix-4.1.x.h: Added ability to use g++ in addition to xlC. + Thanks again to Ian Wright for this addition. + + * include/makeinclude/platform_aix_g++.GNU: New platform_macros file + for building on AIX with g++. And, once again, thanks to Ian Wright + for this contribution. + + * ace/NT_Service.i: Added ACE_INLINE to the methods in this file. + Thanks to Goran Lowkrantz <Goran.Lowkrantz@infologigruppen.se> + for this fix. + +Thu Oct 29 17:36:29 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tests/Semaphore_Test: Removed the timed acquire stuff from + the worker thread and the display at the end of the test. + Now it shouldn't output the confusing "100% of threads + timed out" message on platforms without timed acquire. + +Thu Oct 29 15:25:19 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Svc_Handler.cpp (open): Added a trailing newline to the + error message. + +Thu Oct 29 15:13:07 EST 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/index.html + * docs/tutorials/016/* + Added Tutorial 016. This discusses ACE_Condition<> and ways + to make it more manageable in an application. + +Thu Oct 29 11:44:21 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-sunos5.6.h: changed ACE_THREAD_POSIX_SEM to + ACE_HAS_POSIX_SEM. It looked like a typo. + Only #define ACE_HAS_POSIX_SEM if _POSIX_PTHREAD_SEMANTICS is + #defined. Thanks to Ossama for help with this. + + Also, removed ACE_HAS_PTHREADS_STD because it's + #defined in config-sunos5.5.h. + +Wed Oct 28 14:30:01 1998 Rainer Blome <rainer_blome@de.ibm.com> + + * ace/Makefile: added AIX_TEMPLATE_HACK support. + This patch helps using Rob Jordan's trick described in the + ACE-INSTALL file. The existing description in the ACE-INSTALL + is a little misleading. Creating a ACE_All_Tmp.h will not + really help, because the Makefile will look for a ACE_All_Tmp.cpp. + + Here's how to use the patch: + + Use `make ACE_All' to create 0_ACE_All_Src.h, 0_ACE_All_Src.cpp and + 0_ACE_All_Tmp.cpp. These files contain include directives for each + of the files mentioned in the makefile variables FILES and + TEMPLATE_FILES. Then `make AIX_TEMPLATE_HACK=1' to compile the + library in one go. Compilation is fast then, but `ar' will still + take a long time. + +Wed Oct 28 09:13:10 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE-INSTALL.html: expanded discussion of non-static + ACE_Object_Manager, including the fact that it's the + default config on Win32 and VxWorks. And that not + declaring main () with two arguments will lead to + link failure due to unresolved ace_main_i. + + * tests/Time_Service_Test.cpp,Tokens_Test.cpp: display + filename if ACE_Process::spawn () fails. + + * tests/run_tests.sh: only run Time_Service_Test if + ../netsvcs/server/main exists. Also, exit if a command + line argument is provided to run_tests.sh, and the argument + is not a Chorus hostname. + + * ace/Object_Manager.h: declare the ACE_Object_Manager_Base + methods to be public, instead of protected, for DEC CXX 5.6 + (in addition to Diab for PSoS). Thanks to Doug Anderson + <doug@clark.net> for suggesting this. + + * ace/config-sunos5.5.h: removed ACE_HAS_TIMER_SKEW. Thanks + to Russ Noseworthy <rnosewor@objectsciences.com> for verifying + that it no longer seems to be necessary. + + * ace/config-linux-common.h: added ACE_HAS_PROCFS. + +Tue Oct 27 22:14:18 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.6 released. + +Tue Oct 27 21:54:17 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * man: Added the ACE_Service_Repository_Iterator.{html,3} files. + Thanks to Erik Koerber <erik.koerber@siemens.at> for reporting + this. + + * Updated the manual pages to reflect the latest APIs in + the new release. + +Tue Oct 27 14:16:27 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/015/Recv.cpp : Changed atoi() to ACE_OS::atoi() + * docs/tutorials/015/page22.html: Ensure that the correct cpp + and header files are HREF'd + + Thanks to Susan Leibeskind <shl@cc.gatech.edu> for catching these. + +Tue Oct 27 12:31:28 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.i (cond_timedwait): Made sure the broadcaster always gets + signaled no matter what the "wait" function return if this is + the last waiter for this cv. In any case, the calling thread is + no longer waiting on the cv any more. + +Tue Oct 27 08:22:41 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-win32.h: fixed typo in comment: + ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER instead of + ACE_DONT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER. Thanks to + Olivier Lau <olivier_lau@srtelecom.com> for reporting this. + + * tests/Semaphore_Test.cpp (test_timeout_count,test_timeout): + put these in #ifndef STHREADS && #ifndef POSIX_SEM protection + to avoid compiler warnings about unused variable/function. + + * ace/config-sunos5.5.h: added comment to comment out + ACE_HAS_REGEX if there are link problems with g++ or egcs on + SunOS 5.5. Thanks to Hakan Kallberg <hk@simulina.se> for + reporting this. + + * ACE-INSTALL.html: added Sun C++ version/patchlevel information, + including a link to Sun's tech patches home patch. Thanks to + Susan for recommending this, and for providing the URL. + + * ACE-INSTALL.html: added note about segfault when attempting to + register a signal handler on LynxOS 3.0.0/PowerPC. + + * ace/Object_Manager.cpp (fini): added check of + instance_->shutting_down_ on entry. This will avoid + reentrance if fini () is called before the Object_Manager + is (explicitly) destroyed. Thanks to Gonzo for reporting it. + +Tue Oct 27 05:47:21 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.65 released. + +Tue Oct 27 03:24:36 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/TP_Reactor.h: Added an description for TP_Reactor. + + * ace/OS.i (cond_timedwait): When emulating cv, there're chances + that the "wait for being signaled" function times out and return + an error. In this rare case, we must also signal the + broadcasting thread to bail out of cond_broadcast to avoid + deadlock since we are no longer waiting on the cv anymore. + Thanks to Detlef Becker <Detlef.Becker@med.siemens.de> for + noticing the problem and providing the patch. + +Mon Oct 26 20:59:15 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Synch_T.{i,cpp} (ACE_Lock_Adapter): uninlined the + ACE_Lock_Adapter default constructor. SunPRO C++ 4.2 + patch + 104631-07 has trouble compiling TAO with it inline. + Thanks to Terry Rosenbaum <Terry.Rosenbaum@Radiology.MSU.edu> + for tracking this problem down and providing the fix. + +Mon Oct 26 18:33:28 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * Updated the dependencies in all the Makefiles, this was required + after the new Message_Block_T.{h,i,cpp} files. + +Mon Oct 26 19:16:27 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/000/index.html: This index is has a layout + similar to Umar's ACE Tutorial document. As time progresses, we + will be merging the examples in his document into the online + tutorials. The current free-form tutorials will not go away but + will be supplimented with Umar's more structured approach. + +Mon Oct 26 17:37:55 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/OS.h: + * ace/config-sunos5.4-sunc++-4.x.h: + * ace/config-sunos5.5.h: + Sun/CC throws the ::xalloc exception when operator new cannot + allocate the memory, thanks to Terry Rosenbaum + <Terry.Rosenbaum@Radiology.MSU.edu> for reporting this and + providing a patch. + + * ace/Makefile: + Updated dependencies. + +Mon Oct 26 17:02:48 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Thread_Pool_Reactor_Test.cpp: Reduced the number of + connector threads _ONLY_ on platforms that couldn't handle too + many simultaneous connection. + + Changed to use dotted-decimal format to specify connection + endpoint for some platforms don't have a decent DNS support. + +Mon Oct 26 12:04:10 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ace_lib.dsp: Added TP_Reactor into the project. + +Mon Oct 26 11:29:55 1998 Darrell E. Brunsch <brunsch@tango.cs.wustl.edu> + + * tests/Semaphore_Test.cpp: Changed behavior for ACE_HAS_STHREADS + and ACE_HAS_POSIX_SEM so it still tests everything but doesn't + test the timed waits. + +Mon Oct 26 08:22:18 1998 David L. Levine <levine@cs.wustl.edu> + + * docs/ACE-guidelines.html: added recommendation and + explanation re. use of #pragma once. + + * docs/ACE-guidelines.html: recommend avoiding g++ 2.8.1. + + * tests/SV_Shared_Memory_Test.cpp: don't try to run this + test if ACE_LACKS_FORK, because it uses ACE_OS::fork (). + It allocates the shared memory segment before the fork, + of course, so that was leaked if the fork was attempted + but failed. + + * tests/Pipe_Test.cpp,Process_Mutex_Test.cpp: don't try + to run these tests if ACE_LACKS_FORK, either. + + * tests/Mem_Map_Test.cpp (reverse_file): use a local, volatile + variable for the array index. Without it, the test core dumps + on LynxOS 3.0.0/PowerPC with -O2. + + * tests/run_tests.sh: run Timer_Queue_Test and Upgradeable_RW_Test + on LynxOS. + + * tests/run_tests.vxworks: changed + Message_Queue_Notifications_Test.cpp to + Message_Queue_Notifications_Test. + +Mon Oct 26 01:49:44 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Env_Value_Test.cpp (main): Changed argv and envp to type + LPTSTR[]. + +Sun Oct 25 23:52:40 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.64 released. + +Sun Oct 25 22:18:26 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Select_Reactor_T.cpp (dispatch): Be more careful in how we + handle dispatching when signals occur. In general, if we're + interrupted by a non-Reactor-aware signal handler we need to + bail out... Thanks to Naga for reporting this. + + * examples/Reactor/Misc/test_signals_1.cpp: Cleaned up this test + so that it'll show off the signal handling capabilities of the + ACE Reactor better. + +Sun Oct 25 14:13:31 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/OS.i: Changed ACE_OS::sigaction to work with a null value + for <nsa> on Windows. Thanks to Jim Buck <jim@nowsol.com> for + reporting this. + + * examples/Reactor/Misc/reactors.dsp: + * examples/Reactor/Misc/signals_1.dsp: + * examples/Reactor/Misc/signals_2.dsp: + Corrected the include and library paths. Thanks to + Zoran Ivanovic <zorani@pathcom.com> for reporting this. + + * ChangeLog: Removed all the trailing spaces and tab characters so + CVS's commit-check will be happy. + +Sun Oct 25 10:59:21 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/config-sunos5.5.h: Added + + #if defined (i386) + #define ACE_HAS_X86_STAT_MACROS + #endif /* i386 */ + + to check for the [f]stat macros on Solaris for Intel. Thanks to + Daniel Nieten <dnieten@bellsouth.net> for reporting this. + +Sun Oct 25 00:15:03 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Service_Config.cpp (process_directives): We should use + ASYS_WIDE_STRING to convert a <char *> to a UNICODE string. + +Sat Oct 24 18:39:11 1998 Steve Huston <shuston@riverace.com> + + * ace/ACE.cpp (get_ip_interfaces, get_handle): Add _AIX to the list + of macros which enable the proper code for these to work. + ACE::get_ip_interfaces still doesn't work right on AIX, though - + it reports one link-level interface. May need to get IBM's help + with this. + +Sat Oct 24 18:07:00 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.h (ACE_TEXT): Consolidated various ACE_TEXT definitions + into one and place it near the beginning of the file. + Re-indented macros. + +Sat Oct 24 17:47:15 1998 Arturo Montes <mitosys@colomsat.com.co> + + * ace/OS.i (sigwait): Sigwait is little different with FSU + pthreads, sigwait take two arguments and return -1 if error, 0 + in otherwise. + +Sat Oct 24 17:26:41 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/OS.h (ACE_TEXT): Moved Nanbor's changes outside of + ACE_PSOS block. + + * ace/config-win32.h: Defined ACE_HAS_TEXT_MACRO_CONFLICT, + seeing that MSVC already defines __TEXT. + +Sat Oct 24 15:21:32 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.h (ACE_TEXT): Changed the macro __TEXT to ACE_TEXT to + avoid conflicting with OS/390. __TEXT is still available for + backward compatibility unless ACE_HAS_TEXT_MACRO_CONFLICT is + defined. However, using ACE_TEXT is prefered for obvious + reason. Thanks to Paul K. Fisher <pfisher@plexware.com> for + reporting this. + + * ace/README: Added documentation for ACE_HAS_TEXT_MACRO_CONFLICT. + + * *.cpp: Replaced a bunch of __TEXT to ACE_TEXT. + +Sat Oct 24 08:34:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/OS.i: Updated the fstat() and stat() calls to work properly + on the Solaris for Intel platform, which does weird things to + the fstat() and stat() functions to handle 32 and 64 bit file + offsets. Thanks to Daniel Nieten <dnieten@bellsouth.net> for + reporting this. + +Sat Oct 24 02:13:11 1998 Detlef Backer <Detlef.Becker@med.siemens.de> + + * ace/OS.cpp (invoke): ACE_Thread_Adapter::invoke() swapped the + nesting level of __except() and __finally() because if the + selector returns EXCEPTION_EXECUTE_HANDLER a global unwind takes + place, activating nested __finally blocks and in this case + terminating the thread before having a chance to execute the + handler. After reversing the logic, now the exception handler + gets called first before the termination handler is invoked. + + Furthermore I added the call to GetExceptionInformation(), + passing the result as a void* into the selector function. This + allows a case sensitive handling startegy of the exception in + the selector function. + + (inherit_log_msg): In ACE_Thread_Adapter::inherit_log_msg() I + moved the copy operation from the selector and handler + attributes outside of the "if (this->ostream_)" condition, + because I don't think this condition is related to the SEH. + + (thr_create): In ACE_OS::thr_create() I "inherit" the current + selector handler into the newly created ACE_Thread_Adapter in + case that the caller did not specify one at invocation. + + * ace/Thread_Manager.cpp (spawn_i): In + ACE_Thread_Manager::spawn_i() I added the initialization of + selector and handler at the creation time of + ACE_Thread_Adapter. + +Fri Oct 23 21:11:03 1998 Douglas C. Schmidt <schmidt@mambo.cs.wustl.edu> + + * ace/OS.h: Changed a comment to be consistent. Thanks to Serge + Kolgan <skolgan@cisco.com> for reporting this. + +Fri Oct 23 20:39:00 1998 Chris Gill <cdgill@cs.wustl.edu> + + * Paul Christopher Gill was born Friday October 23, 1998, at + 20:39 CDT, weighing 6 lbs. 7 oz., at 19 3/4 inches in length. + A true hacker in the making, Paul decided to work through the + evening even though it was a Friday night. ;-) + +Fri Oct 23 11:37:38 1998 Steve Huston <shuston@riverace.com> + + * include/makeinclude/platform_aix4.2.GNU: Removed -qinitauto=5F from + DCFLAGS - with it, Process_Strategy_Test was going CPU bound in an + ostream operation. + +Fri Oct 23 00:27:11 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.63 released. + +Thu Oct 22 21:32:14 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ACE-INSTALL.html: Since we've been successfully using MSVC 6.0 + for a while, might as well mention it here in the documentation. + +Thu Oct 22 19:48:20 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/index.html + Reformatted it via emacs to make it more readable when editing. + Added a comment pointing to Bob McWhirter's original FMM document + to make it easier to update the repository in the future. + + * docs/tutorials/015/Client.h + * docs/tutorials/015/Client.cpp + * docs/tutorials/015/Server.h + * docs/tutorials/015/Server.cpp + + Since Windows just *pretends* to have mixed-case names the cpp + files conflict with client.cpp and server.cpp. I renamed these + files to: + + * docs/tutorials/015/Client_i.h + * docs/tutorials/015/Client_i.cpp + * docs/tutorials/015/Server_i.h + * docs/tutorials/015/Server_i.cpp + + Which necessitated changes to + * docs/tutorials/015/client.cpp + * docs/tutorials/015/server.cpp + * docs/tutorials/015/Makefile.client + * docs/tutorials/015/Makefile.server + * docs/tutorials/015/Makefile + * docs/tutorials/015/combine.shar + * docs/tutorials/015/*.html + + Thanks to Darrell Brunsch for catching this. + + +Thu Oct 22 16:52:21 1998 Steve Huston <shuston@riverace.com> + + * tests/Thread_Pool_Reactor_Test.(cpp h): Adjusted debug output to + learn more about what's happening; added a check to be sure that + the correct number of messages are processed by each Svc_Handler. + +Thu Oct 22 15:46:42 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp (ACE_TSS_Emulation::tss_base): if storage for + the TSS data must be allocated off the heap, zero all of it. + This avoids problems after fork in the child process on + LynxOS. + +Wed Oct 21 22:23:06 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.62 released. + +Wed Oct 21 21:19:53 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Service_Config.cpp (process_directives): Replaced a + return -1 with a result = -1 and a break to avoid a + memory leak. Thanks to David for pointing this out. + +Wed Oct 21 20:00:51 1998 Nagarajan Surendran <naga@cs.wustl.edu> + + * tests/Timer_Queue_Test.cpp : + * tests/Map_Manager_Test.cpp: + * tests/Dynamic_Priority_Test.cpp: + Replaced double with ACE_timer_t everywhere so that it works on + platforms like Chorus. + +Wed Oct 21 18:44:26 1998 Nagarajan Surendran <naga@cs.wustl.edu> + + * tests/run_tests.sh: Changed egrep Chorus to CHORUS to identify a + Chorus vme board. + +Wed Oct 21 17:51:52 1998 Steve Huston <shuston@riverace.com> + + * ace/ACE.cpp (get_ip_interfaces): If compiling on Win32 w/ Winsock 2, + use WSAIoctl(SIO_GET_INTERFACE_LIST) to get the interfaces from the + kernel rather than trying to fish through the registry. This should + help TAO's naming service be somewhat more reliable on Win32, as + well as solve some other nasties that plagued this thing. + + * ace/ws2tcpip.h: Filled out necessary pieces for the above change. + +Wed Oct 21 14:19:11 EDT 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/007/thread_pool.cpp + * docs/tutorials/007/thread_pool.h + Alison Greig's question caused me to look back at these and + I find that an older g++ is unhappy about the close() methods. + It seems to confuse the baseclass 'close(u_long flags=0)' with + my derived 'close(void)' even though I also have 'close(u_long)'. + Anyway, I removed my 'close(void)' and now do all of my work in + the other method. + + * docs/tutorials/007/client_handler.cpp:handle_input() + Now using ACE_OS::thr_equal() instead of operator==() + This fixes Alison's problem. (Thanks for the solution David!) + +Wed Oct 21 07:12:32 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/Thread_Pool_Reactor_Test.cpp: moved #include of + tests/Thread_Pool_Reactor_Test.h inside of ACE_HAS_THREADS + protection, so that it will compile without thread support. + Thanks to Jan Perman <Jan.Perman@osd.uab.ericsson.se> for + reporting this. + + * tests/MT_Reactor_Timer_Test.cpp: moved "the_reactor" declaration + outside of ACE_HAS_THREADS protection, so that it will compile + without thread support. Thanks to Jan Perman + <Jan.Perman@osd.uab.ericsson.se> for reporting this. + + * bin/g++dep: added -DACE_LACKS_PRAGMA_ONCE to keep it + quiet when the config.h doesn't #define it. Thanks to + Naga for reporting this. + + * ace/config-g++-common.h: protected #define of ACE_LACKS_PRAGMA_ONCE, + because g++dep now defines it with a -D. + + * ACE-INSTALL.html: updated Linux and LynxOS version status, + and egcs --enable-shared discussion. + + * ace/Hash_Map_Manager.cpp (operator *): only declare local "result" + without ACE_NDEBUG, to avoid compile warning with debug=0. + + * ace/Synch.cpp (ACE_Recursive_Thread_Mutex::release): only + declare local "t_id" without ACE_NDEBUG, to avoid compile warning + with debug=0. + + * ace/Timer_Heap_T.cpp (reschedule): only declare local "timerID" + without ACE_NDEBUG, to avoid compile warning with debug=0. + + * ace/SV_Message_Queue.h: fixed #ifndef protection to use + ACE_SV_MESSAGE_QUEUE_H instead of ACE_MESSAGE_QUEUE_H, to + prevent collision with the Message_Queue.h's protection. + Thanks to Rainer Blome <rainer_blome@de.ibm.com> for + reporting this. + + * ace/Object_Manager.cpp: removed some old, unused printouts. + +Tue Oct 20 19:40:41 1998 Steve Huston <shuston@riverace.com> + + * include/makeinclude/platform_hpux_aCC.GNU: Added + -DACE_LACKS_PRAGMA_ONCE - aCC on both 10.20 and 11.00 complain about + #pragma once. Added it here rather than in config.h because (1) it + can be set in one file, not two, (2) in case a #pragma gets in before + config.h is included somehow. + + * include/makeinclude/platform_aix4.2.GNU: Revised flags passed to + xlC_r - remove -qextchk because it's the cause of the mismatched + type errors building netsvcs/lib (IBM reports this is fixed in + compiler version 3.6.4). Removed -M - it's not needed and wastes + disk space. Moved -qcheck to DCFLAGS and added -qinitauto=5F to + DCFLAGS. + + * include/makeinclude/rules.local.GNU: Added SHLIBA to the files that + get 'realclean'ed - this covers libACEshr.a on AIX. + + * netsvcs/lib/Makefile: + * netsvcs/clients/Naming/Client/Makefile: Added ACELIB to LIBS to + insure libACE is linked in. + +Tue Oct 20 19:37:42 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/014/*.html: + * docs/tutorials/014/Makefile: + * docs/tutorials/014/combine.shar: + Colorized using the new and improved 'combine' script. Also + modified the Makefile so that the HTML sources won't get destroyed + if the shar operation failed. + + * docs/tutorials/015/Makefile: + Added the same Makefile modification to prevent loss of HTML sources + +Tue Oct 20 16:28:12 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE-INSTALL.html: added recommended DU CXX version info. + Thanks to Susan Liebeskind <shl@janis.gtri.gatech.edu> + for suggesting this. + + * ACE-INSTALL.html: added AIX 4.2.1 xlC V3.1 patch info. + Thanks to Susan Liebeskind <shl@janis.gtri.gatech.edu> + for supplying it, in ready-to-use form. + + * tests/Thread_Manager._Test.cpp (main): changed debug messages + for suspend_grp/resume_grp with Pthreads, which fail due to + ENOTSUP. The resume_grp message was wrong (copy and paste + error). In addition, I reworded the messages to that + run_tests.check won't catch them. They don't indicate a + problem, just that Pthreads doesn't support those operations; + see Steve's Thu Oct 15 16:40:41 1998 entry. + +Tue Oct 20 14:31:37 EDT 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/001/Makefile + * docs/tutorials/002/Makefile + * docs/tutorials/003/Makefile + * docs/tutorials/005/Makefile + * docs/tutorials/006/Makefile + * docs/tutorials/007/Makefile + * docs/tutorials/008/Makefile + * docs/tutorials/009/Makefile + * docs/tutorials/010/Makefile + * docs/tutorials/011/Makefile + * docs/tutorials/012/Makefile + * docs/tutorials/013/Makefile + * docs/tutorials/012a/Makefile + * docs/tutorials/Makefile + + Updated these makefiles to remove rules.lib.GNU + Added the "top-level" makefile to allow building + of all tutorials in one step. + +Tue Oct 20 12:54:39 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.5.61 released. + +Tue Oct 20 07:43:56 1998 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/platform_irix6.x_g++.GNU: added + LIBS += -lpthread. Thanks to Peter Nordlund <petern@nada.kth.se> + for reporting that it is needed. + + * ace/config-irix6.x-sgic++-nothreads.h,config-irix6.x-common.h: + moved ACE_HAS_GPERF from SGI C++ config to common SGI C++/g++ + config. Thanks to Peter Nordlund <petern@nada.kth.se> for + recommending this. + + * ace/config-aix-4.1.x.h,config-dgux-4.11-epc.h,config-dgux-4.x-ghs.h, + config-irix5.2.h,config-irix5.3-g++.h,config-irix5.3-sgic++.h, + config-m88k.h,config-tandem.h,config-osf1-3.2.h, + config-sunos5.4-centerline-2.x.h,config-sunos5.4-g++.h, + config-sunos5.4-sunc++-4.x-orbix.h,config-sunos5.4-sunc++-4.x.h, + config-sunos5.5.h,config-unixware-2.01-g++.h, + config-unixware-2.1.2-g++.h,config-irix6.x-common.h,README: + removed ACE_HAS_SVR4_TIME because it is no longer used. + Thanks to Peter Nordlund <petern@nada.kth.se> for + reporting this. + + * tests/MT_Reactor_Timer_Test.cpp (handle_exception, + handle_timeout): added ACE_UNUSED_ARG's. + + * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp: + added #include of ace/streams.h, because the dump () + method uses ofstream. + + * examples/Connection/non_blocking/CPP-acceptor.cpp (handle_close): + added ACE_UNUSED_ARG's. + + * ace/config-sunos5.5-sunc++-4.x.h,config-sunos5.5-g++.h: + removed, because config-sunos5.5.h should be used instead. + + * performance-tests/Misc/basic_perf.cpp (iteration_time): + added static cast 0 to ACE_hrtime_t to please g++ + on VxWorks (which uses ACE_U_LongLong for ACE_hrtime_t). + + * ace/config-cygwin32-common.h: removed msg_accrights{,len} + defines, because they were commented out. + + * OS.h,config-aix-4.1.x.h,config-linux-common.h,README: + added ACE_LACKS_MSG_ACCRIGHTS support. This consolidates + code that was in both of the config files. Thanks to + Ossama for suggesting it. + + * include/makeinclude/platform_vxworks*.GNU: moved our + wind installation from /project/doc/wind to /project/doc/pkg/wind. + +Tue Oct 20 07:09:31 1998 Steve Huston <shuston@riverace.com> + + * ace/config-aix-4.2.x.h: Added ACE_HAS_GPERF. + + * tests/tests.(mak mdp): Fixed to build clean; Added: + DLList_Test, High_Res_Timer_Test, Dynamic_Priority_Test, + Thread_Pool_Reactor_Test, Upgradable_RW_Test, MT_Reactor_Timer_Test. + +Mon Oct 19 21:40:56 1998 David L. Levine <levine@cs.wustl.edu> + + * *.h: changed include protection from #if !defined to ifndef. + Added #pragma once, if possible, i.e., after #include of + an ace/ header. It can only be done after ace/config.h + is included, because some platforms don't allow #pragma once. + + * include/makeinclude/wrapper_macros.GNU: removed -DACE_LACKS_PRAGMA + for g++ because it's now in config-g++-common.h. + +Mon Oct 19 20:44:33 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/015: + Once again I've modified just about every file. Finally though + Tutorial 015: Protocol Stream is done! + + * docs/tutorials/combine + Get rid of that silly "links" file and add "bodies". The new file + is an ordered list of files to use when assembling the HTML + pages. This makes it easier to stuff source code into the pages. + + * docs/tutorials/index.html + I could have sworn that I linked in 014 many moons ago. + Appologies to Bob McWhirter for leaving this out for so long! + +Mon Oct 19 17:00:52 EDT 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/015: + Just about everything in this directory has been touched. I'm + in the middle of documenting it and need a checkpoint so nothing + gets lost! ETA for completion is later tonight or sometime tomorrow. + +Mon Oct 19 11:47:20 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp (readPPCTimeBase): wrapped each line in "". + Otherwise, the C++ compiler on MVS complains unterminated + strings. Even though it isn't supposed to see this code :-/ + Thanks to Chuck Gehr <GehrCR@louisville.stortek.com> for + reporting this. + + * ace/config-g++-common.h: added ACE_LACKS_PRAGMA_ONCE. + g++ doesn't need it, because it optimizes includes if the #ifndef + header protection convention is followed. And, it + complains about #pragma once. + + * ace/config-win32-common.h: added ACE_LACKS_PRAGMA_ONCE, + unless _MSC_VER < 1000. + +Mon Oct 19 11:13:00 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/Message_Block.h: Added title and description comments to + deadline and laxity message priority strategy classes. + +Sun Oct 18 17:22:00 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/014/combine.shar: + * docs/tutorials/015/combine.shar: + The additional input files to the combine script. A shell archive + seems to be the most economical way to keep their history. + Individual files just create clutter and a tar.gz wouldn't be + diff-able in the repository. + + * docs/tutorials/014/Makefile: + * docs/tutorials/015/Makefile: + Adjusted to create the HTML and combine.shar files. + +Sun Oct 18 16:51:43 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/combine: A perl script for combining several + "source" files into an HTML. It was designed to combine comment + files with .cpp and .h files in the creation of tutorials. The + HTML output is commited to the repository, I haven't decided yet + if it's worth saving the input. + + * docs/tutorials/fix.Makefile: This was pulled out of one of the + old tutorials and made a bit more useful. It's purpose is to pull + dependency information out of a Makefile and create a .depend file + instead. This keeps makfiles cleaner and less confusing. + + * docs/tutorials/014/Makefile + * docs/tutorials/014/Task.cpp + Minor changes. I attempted to add THR_JOINABLE to the activate() + call but that resulted in a permanent hangup on Linux when trying + to exit the application + + * docs/tutorials/015/Client.cpp + * docs/tutorials/015/Client.h + * docs/tutorials/015/Compressor.cpp + * docs/tutorials/015/Compressor.h + * docs/tutorials/015/Crypt.cpp + * docs/tutorials/015/Crypt.h + * docs/tutorials/015/Handler.cpp + * docs/tutorials/015/Handler.h + * docs/tutorials/015/Makefile + * docs/tutorials/015/Makefile.client + * docs/tutorials/015/Makefile.server + * docs/tutorials/015/Protocol_Stream.cpp + * docs/tutorials/015/Protocol_Stream.h + * docs/tutorials/015/Protocol_Task.cpp + * docs/tutorials/015/Protocol_Task.h + * docs/tutorials/015/Recv.cpp + * docs/tutorials/015/Recv.h + * docs/tutorials/015/Server.cpp + * docs/tutorials/015/Server.h + * docs/tutorials/015/Xmit.cpp + * docs/tutorials/015/Xmit.h + * docs/tutorials/015/client.cpp + * docs/tutorials/015/page01.html + * docs/tutorials/015/page02.html + * docs/tutorials/015/page03.html + * docs/tutorials/015/page04.html + * docs/tutorials/015/page05.html + * docs/tutorials/015/page06.html + * docs/tutorials/015/server.cpp + The beginnings of a protocol stream tutorial. The code is done but + the tutorializing (eg -- HTML and comments) isn't complete. + +Sat Oct 17 21:20:44 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.i (gethrtime): updated comments on Alpha rpcc + instruction. Only 32 bits of high-res tick count are + available, even the 64 bits are read by the rpcc instruction. + The high 32 bits are for implementation-specific use, such + as a virtual tick counter. + +Sat Oct 17 13:41:57 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * test/Future_Test.cpp: Added more comments so that the structure + and participants in the Active Object pattern would be more + obvious. + + * ace/Message_Block: Added a priority parameter, which defaults to + 0, to one of the constructor for ACE_Message_Block so that it + simplifies the new Method_Request semantics. + + * ace/Method_Request.h: Added priority() accessor/mutator methods + so that we can control where a Method_Request is placed in the + Activation_Queue, which is just a Facade for an + ACE_Message_Queue. + + * ace: Renamed ACE_Method_Object to ACE_Method_Request to + correspond to the new version of the Active Object pattern at + http://www.cs.wustl.edu/~schmidt/Act-Obj.ps.gz. This change + involved renaming the Method_Object.h and Method_Object.cpp + files to Method_Request.h and Method_Request.cpp, respectively. + For backwards compatibility, I kept the Method_Object.h file, + which now just includes Method_Request.h and adds a typedef of + ACE_Method_Request to ACE_Method_Object so no applications + should break. New applications should use the new names, + however. + + * ace/Acceptor.h: Moved the + ACE_Oneshot_Acceptor::register_handler() method into the private + part of the class so that users won't be tempted to call it! + Thanks to Larry <larry@paradigmsim.com> for reporting this. + + * examples/Connection/non_blocking/CPP-acceptor: Fixed a bug that + occurred when timers were used in conjunction with the + ACE_Oneshot_Acceptor and handle_close(). + + * ace/Acceptor: Cleaned up the ACE_Oneshot_Acceptor comments. + Boy, this was confusing ;-). Thanks to Larry + <larry@paradigmsim.com> for reporting this. + +Sat Oct 17 12:54:17 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.60 released. + +Sat Oct 17 12:50:44 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * Fixed a number of warnings that crept into the release + yesterday. Thanks to David Levine and DEC C++ for + reporting these. + +Sat Oct 17 00:35:21 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.59 released. + +Sat Oct 17 00:29:37 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Service_Config.cpp (process_directives): Only warn about a + missing svc.conf file if we're debugging. + +Fri Oct 16 23:16:30 1998 David L. Levine <levine@cs.wustl.edu> + + * docs/ACE-guidelines.html: 1) use complete sentences for + comments and 2) use prefix operators where possible, such + as on an iteration loop index. + +Fri Oct 16 15:45:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Service_Config: Added a new method called + init_svc_conf_file_queue() that will properly initialize the new + queue containing the list of svc.conf files. + + * ace/Service_Config: Added a return value to parse_args() to make + sure we do a sanity check... + + * ace: Replaced all #if !defined (ACE_FOO_H) with #ifndef + ACE_FOO_H since many C++ preprocessors can recognize this idiom + and optimize for it. + + * ace/Service_Config.cpp (parse_args): Modified the -S option to + enqueue the directives in FIFO order rather than in LIFO order. + It's more intuitive to process them in the order they are + received! + + * ace/Service_Config: It's now possible to give multiple -f + options to the Service Configurator and it will open multiple + files and process each one in the order specified in argv. This + is useful if svc.conf are generated by automatic tools, e.g., + Wizards, that are operating independently. Thanks to David + O'Farrell <dave.ofarrell@aersoft.ie> for suggesting this. + + * tests/Upgradable_RW_Test.cpp: Revised the programming style ;-). + + * tests/Map_Manager_Test.cpp: Replaced all uses of postfix ++ + operators with prefix ++ operators because they are faster when + iterating over the various Maps. + + * ace/[Hash_]Map_Manager: Today we decided to remove the use of + locking for the ACE[_Hash]_Map_Manager Iterators. The original + scheme acquired the mutex of the [Hash_]Map_Manager on every + ++operator++/--operator-- call. Not only was this very + inefficient, but it was also essentially useless since it + doesn't protect against arbitrary insertions/deletions in the + underlying map during the iteration. + + Our first thought was to put an ACE_Read_Guard into the iterator + itself and acquire this for the duration of the iteration. + However, this approach is totally broken when using STL-style + iterators since the postfix ++ and -- operators return a copy of + the iterator, which easily causes deadlocks if non-recursive + mutexes are used. + + After much discussion, we decided it's better to let users + figure out their own locking usecase, rather than have the + iterators guess wrong and either screw up their code or yield + substantial inefficiencies. Therefore, the right approach is to + do something like this: + + typedef ACE_Map_Manager <TYPE1, TYPE2, ACE_Thread_Mutex> MAP_MANAGER; + typedef ACE_Map_Iterator <TYPE1, TYPE2, ACE_Thread_Mutex> ITERATOR; + typedef ACE_Map_Entry <TYPE1, TYPE2> ENTRY; + + void + foo (MAP_MANAGER &map) + { + // ... + { + // Explicitly grab the lock and hold it for the duration of + // the iteration. + ACE_READ_GUARD (ACE_Thread_Mutex, ace_mon, map.mutex ()); + + ITERATOR end = map.end (); + + for (ITERATOR iter = map.begin (); + iter != end; + ++iter) + { + ENTRY &entry = *iter; + ++i; + } + // ... + } + + Note that as a general rule, it's better to use ++i rather than + i++ to avoid unnecessary copies. + +Fri Oct 16 14:57:58 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Hash_Map_Manager and Map_Manager: Fixed the operator++ and + operator--. Also, moved the guard from the individual methods + to the iterator. Now, the read guard is held for the life time + of the iterator. + +Fri Oct 16 14:51:57 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.cpp (thr_create): Made sure if users don't specify + whether to spawn threads detached or joinable, we'd change the + creation flag for them so that they are always joinable (not + detached.) This is important for unify the thread behavior on + different platforms that have various default thread creation + policies. Thanks to Susan Liebeskind + <shl@janis.gtri.gatech.edu> for motivating the change. + +Fri Oct 16 01:28:17 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.58 released. + +Thu Oct 15 23:50:41 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.57 released. + +Thu Oct 15 22:05:02 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/ACE.cpp (unique_name): Moved the arguments around in the + sprintf() in order to generate a better "unique name". Thanks + to Bob McWhirter for suggesting this. + +Thu Oct 15 21:20:36 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Hash_Map_Manager.cpp (operator-- and operator++): + * ace/Map_Manager.cpp (operator-- and operator++): + + Fixed by value and by reference return values. + +Thu Oct 15 20:16:46 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/ACE-FMM.html: Updated with Bob McWhirter's latest changes. + Discussion of race conditions when spawning threads from within a constructor. + +Thu Oct 15 18:30:58 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/OS.h: Added ACE_HTONS(x) macros to complement ACE_HTONL(x) + macros. Thanks to Balaji Srinivasan <balaji@cplane.com> + for reporting this. + + * ace/[Hash_]Map_Manager.cpp: Postfix and prefix were inverted. + They are correct now. Thanks to Balaji Srinivasan + <balaji@cplane.com> for reporting this. + +Thu Oct 15 18:02:51 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/config-win32.h: For non-winnt systems, define + ACE_LACKS_RECVMSG and ACE_LACKS_SENDMSG. Thanks to Bill Hall + <hts@gte.net> for pointing this out. + + [BTW, Bill was the 400th individual to contribute an ACE/TAO + bug report, thanks to everyone for all their help over the years!] + +Thu Oct 15 16:50:09 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/SOCK_Dgram_Mcast.i (set_option): Need to convert the + <optval> from char to int for Win32 because the shortest length + of <optval> must be at least sizeof (int) on Win32. Thanks + to Johan Lundin <johan@lundin.com> for reporting this. + +Thu Oct 15 16:40:41 1998 Steve Huston <shuston@riverace.com> + + * tests/Thread_Manager_Test.cpp: Allow suspend/resume to be tried on + pthreads, but don't allow any error other than ENOTSUP. This + catches a bug in Thread_Manager that lost the error values on an + error. + + * ace/Thread_Manager.cpp (ACE_THR_OP macro): Don't remove a thread + from the active threads list if an operation fails with ENOTSUP. + This was causing calls to suspend_grp/resume_grp to erase the list + of threads in a group on pthreads, then wait_grp didn't wait because + it thought there weren't any more threads. + +Thu Oct 15 12:43:46 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Task.cpp (activate): Changed to activate new active objects + using the same grp_id if this task has been activated before and + no new grp_id is specified in activate method. Also, the task's + grp_id will only get updated if it has never been updated even + if <force_active> is set. This prevent the original <grp_id_> + get lost but the consequence if that if users select to + force_activate new tasks with a different grp_id, the new grp_id + will get lost and the only way to wait for these threads is to + either perform a wait for all threads, or wait for each + individual thread by waiting on the thread handles returned by + the activate method. Thanks to Bob McWhirter + <bob@netwrench.com> for motivating this change. + (ACE_Task_Base): Changed to initialize <grp_id_> to -1. + +Thu Oct 15 10:07:13 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.5.56 released. + +Thu Oct 15 09:54:07 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/run_tests.sh: commented out MT_Reactor_Timer_Test because + it doesn't halt on g++/Solaris or DU 4.0. + + * include/makeinclude/wrapper_macros.GNU: for g++, added + -DACE_LACKS_PRAGMA_ONCE to CCFLAGS. Thanks to Kirk Ellet + <kellet@mdc.com> for pointing out that is has to be done + in CCFLAGS rather than as a #define in OS.h, because + ace/Synch_T.h uses the pragma before config.h is #included. + +Wed Oct 14 23:20:45 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.55 released. + +Wed Oct 14 22:17:31 1998 David L. Levine <levine@cs.wustl.edu> + + * docs/ACE-guidelines.html: added guideline for protection of + header files against multiple inclusion. Thanks to + Eric C. Newton <ecn@smart.net> for pointing out the construct + used by gcc/g++ to minimize unnecessary file inclusion. + Fortunately, other compilers use the same method. And, + thanks to Susan Liebeskind <shl@cc.gatech.edu> for being + the last ACE user to suggest something like this, and to + Pat McNerthney <pat@cartia.com> for spurring the search for + such an optimization. + +Wed Oct 14 12:36:00 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/run_tests.sh: Added the MT_Reactor_Timer_Test. + + * tests/MT_Reactor_Timer_Test.cpp: Fixed a number of bugs with + this test. It seems to work fine on Solaris now. + + * tests/MT_Reactor_Timer_Test.cpp (main): Added a test to make + sure that the ACE_Reactor::handle_events() method properly + counts the number of expired timers. + + * ace/Select_Reactor_T: Updated the various methods so that + handle_events() now works as advertised, i.e., it actually + returns the number of event handlers it dispatched. + + * ace: Added + + #if !defined (ACE_LACKS_PRAGMA_ONCE) + #pragma once + #endif /* ACE_LACKS_PRAGMA_ONCE */ + + To all the header files in ACE. This should speed up + compilation time on platforms whose C++ compilers support + #pragma once. Thanks to Patrick J. McNerthney <pat@cartia.com> + for suggesting this. + + * ace/Functor.h: Moved the definitions of the constructor and + destructor of ACE_Command_Base into the *.i file. + + * ace/Select_Reactor_T: Enhanced dispatch_timer_handlers() so that + it passes the number of timers dispatched as an out parameter to + avoid any ambiguity. + +Wed Oct 14 15:30:42 1998 Steve Huston <shuston@riverace.com> + + * ace/Message_Block_T.h: Removed ACE_Export from definition of template + class ACE_Locked_Data_Block. + +Wed Oct 14 12:36:00 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/config-cygwin32-common.h, + ace/config-cygwin32.h, + ace/OS.h: + Added support for Cygwin32. Thanks to Phil Feairheller + <Phil.Feairheller@emax.com> for contributing this. + + * ace/config-vxworks5.x.h, + ace/config-chorus.h, + ace/config-psos*.h, + ace/config-cygwin32-common.h, + ace/OS.i: + Added and used the new ACE_LACKS_MKFIFO macro. Thanks to Phil + Feairheller <Phil.Feairheller@emax.com> for reporting this. + +Wed Oct 14 11:03:45 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.54 released. + +Wed Oct 14 00:28:10 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.53 released. + +1998-10-14 Nagarajan Surendran <naga@tango.cs.wustl.edu> + + * ace/Synch_T.cpp : Changed ACE_mutex_t to ACE_cond_t for CHORUS + in ACE_Condition constructor. + +1998-10-13 Nagarajan Surendran <naga@tango.cs.wustl.edu> + + * ace/Synch.i (ACE_Mutex::remove): Added a #else for non-chorus + cases instead of #endif to call ACE_OS::mutex_destroy. + + * ace/OS.cpp : Added static member definition + KnCap ACE_OS::actorcaps_[ACE_CHORUS_MAX_ACTORS] + for CHORUS. + + * ace/config-chorus.h: Added ACE_HAS_TSS_EMULATION. + +Tue Oct 13 22:40:40 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Makefile: + * ace/Message_Block.h: + * ace/Message_Block.i: + * ace/Message_Block.cpp: + * ace/Message_Block_T.h: + * ace/Message_Block_T.i: + * ace/Message_Block_T.cpp: + Added a new variant of the ACE_Data_Block class that holds an + instance of its locking strategy, this is useful because in some + cases the lifetime of the lock is tied to the lifetime of the + Data_Block itself. The Message_Block class was carefullly + modified to support this new feature, i.e. it does not hold a + lock while removing the data block because the hold may be part + of the data block itself. Still all the features in the + Message_Blocks are supported, for instance, a complete + Message_Block chain ca be destroyed while holding a single lock, + shared by all the Data_Blocks in the chain. + +Tue Oct 13 22:39:42 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/MM_Shared_Memory_Test.cpp (client): added an + ACE_ASSERT to check that shm is non-zero. + + * ace/OS.h,config-chorus.h,README: added + ACE_HAS_PTHREAD_PROCESS_ENUM support. Thanks to + Alberto Villarica <Alberto.Villarica.rav@nt.com> and Naga + for tracking the problem with Semaphore_Test hanging. + + * ace/OS.h: changed default PTHREAD_PROCESS_SHARED from 0 to 1. + That way, it's different than PHTREAD_PROCESS_PRIVATE. + +Tue Oct 13 22:09:12 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Mem_Map.cpp (map_it): One more try to get this right ;) + Thanks to Jonathan Reis <reis@minniemouse.cemax.com> for the bug + reports, suggested fixes, and test program. + +Tue Oct 13 21:17:37 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/Asynch_IO.cpp: + * ace/Proactor.cpp: Fixed the problem with POSIX4 implementation + of Asynch_Transmit_File. Thanks to James Hu and Irfan for + reporting this problem and helped me on the fixes. + +Tue Oct 13 18:07:21 1998 Steve Huston <shuston@riverace.com> + + * ace/config-aix-4.2.x.h: Set up so it should work with gcc as well + as xlC. Rearranged defs and removed some duplicates. + Enabled ACE_HAS_4_4BSD_SENDMSG_RECVMSG and removed the redefs + of msgbuf fields. + + * tests/Thread_Pool_Reactor_Test.cpp: Moved the definition of + Acceptor_Handler to a new file, Thread_Pool_Reactor_Test.h to + satisfy AIX xlC's template instantiation. + +Tue Oct 13 15:56:09 1998 Nagarajan Surendran <naga@cs.wustl.edu> + + * ace/OS.i: Fixed a few errors on CHORUS. + +Tue Oct 13 08:48:36 EDT 1998 James CE Johnson <jcej@lads.com> + + * docs/ACE-tutorials.html + * docs/ACE-FMM.html + Added Bob McWhirter's <bob@netwrench.com> "Frequently Made + Mistakes" list. + +Tue Oct 13 07:28:38 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/High_Res_Timer.cpp (dump): replaced ACE_static_casts with + ACE_CU64_TO_CU32, because the method is const. Thanks to Doug + for reporting this. + + * ace/Thread_Manager.cpp (join): replaced __xlC__ test with + _AIX. That way, g++ and xlC will both use the three-arg + join call on AIX. Thanks to Ian Wright <I.Wright@elsevier.co.uk> + for reporting this. + + * ace/Makefile,examples/Bounded_Packet_Relay/Makefile: + updated dependencies. + + * ace/OS.[hi],config-fsu-pthread.h,config-aix-4.[12].x.h, + config-mit-pthread.h,config-hpux-10.x.h,config-hpux11.h, + config-irix6.x-{g++,sgic++}.h,config-mvs.h,config-tandem.h, + config-osf1-3.2.h,config-osf1-4.0.h,config-sco-5.0.0-mit-pthread.h, + config-irix6.x-common.h,README: + removed ACE_HAS_TID_T and ACE_HAS_PTHREAD_T support. ACE_hthread_t + is now a simple typedef of pthread_t. It was before, also, but not + so simple :-) Before, it was a typedef of tid_t on platforms + that had ACE_HAS_TID_T but not ACE_HAS_PTHREAD_T. There were + no such platforms; so, it was pthread_t on all PTHREADS platforms. + Thanks to Ossama, Arturo, and Steve for sorting all this out. + We ended up with just a single typedef, so it was worth it. + + * ace/OS.i (thr_cmp): use pthread_equal with PTHREADS, same as + in ACE_OS::thr_equal (). Thanks to Ossama for pointing out that + they were different, but shouldn't have been. + + * ace/config-aix-4.2.x.h,config-fsu-pthread.h,config-hpux-10.x.h, + config-hpux11.h,config-irix6.x-{g++,sgic++}.h,config-mit-pthread.h, + config-mvs.h,config-osf1-3.2.h,config-osf1-4.0.h, + config-sco-5.0.0-mit-pthread.hconfig-tandem.h,README: + removed ACE_HAS_PTHREAD_EQUAL because it's no longer used. Thanks + to Ossama for motivating the above change to thr_cmp, which had + been the only use of ACE_HAS_PTHREAD_EQUAL. + + * ace/Log_Record.h,OS.h: changed C++-style comments to C-style + comments in preprocessor directives. Thanks to + Fernando D. Mato Mira <matomira@acm.org> for reporting these. + +Tue Oct 13 00:19:42 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/OS.i (sema_destroy): I believe I've fixed the rats nest of + #ifdefs to get semaphores to work correctly on Chorus again. + Thanks to Naga for tracking this down! + + * ace/High_Res_Timer.cpp: Temporarily commented out the + ACE_static_casts so that this will compile with CC. + + * ace/Hash_Map_Manager, + ace/Map_Manager: + Added a public mutex() accessor that allows us to return a + reference to the lock_. This is useful for cases where we're + using ACE_Process_Mutex and need to call remove(). Thanks to + Bob McWhirter <bob@netwrench.com> for this suggestion. + +Mon Oct 12 23:03:26 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Mem_Map.cpp (map_it): Added a minor fix to handle the fact + that Chorus doesn't support filesize() on a shared memory + segment. Thanks to Alberto Villarica + <Alberto.Villarica.rav@nt.com> for reporting this. + +Mon Oct 12 22:18:03 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/High_Res_Timer.cpp (dump): cleaned up output so that it + works and is consistent across all platforms. (long long + printing is not portable: some platforms use %llu and + others use %Lu). + +Mon Oct 12 18:39:09 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Mem_Map.cpp: Revised the code to take the offset into + account when deciding whether to grow the backing store. + + Also, ACE_Mem_Map was trying to be too clever when it tries to + make sure that your offset is a multiple of the allocation + granularity. It ends up messing up user offset and length + calculations. Therefore, I have taken this out of ACE_Mem_Map + code. Users is still welcome to use + ACE_OS::allocation_granularity and + ACE::round_to_allocation_granularity by themselves. + +Mon Oct 12 14:39:15 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Parse_Node.cpp: Added some ACE_const_casts to cleanup the + casting going on here. + + * examples/ASX/CCM_App/CCM_App.cpp: We need to make sure and use + the ACE_SVC_FACTORY_* macros so that the gobbler will be set + correctly. Purify rules! + + * ace/Makefile: Make sure to add the // $ Id: $ CVS string when + recreating Svc_Conf_Tokens.h. + + * ace/Svc_Conf.y: Just to be paranoid, make sure to set the + gobbler function to 0. At least this way we'll get crashes + rather than bizarre errors if users don't use the ACE_*FACTORY* + macros. + +Mon Oct 12 19:19:27 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/ACE-tutorials.html: + Added a link to Bob McWhirter's Frequently Made Mistakes page. + + * docs/tutorials/014/Makefile + * docs/tutorials/014/Task.{cpp|h} + * docs/tutorials/014/EndTask.h + * docs/tutorials/014/stream.cpp + * docs/tutorials/014/page0[123456].html + A slightly modified version of Bob McWhirter's ACE_Stream tutorial. + +Mon Oct 12 15:59:00 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Message_Block.cpp (size): removed unused local "old_base". + +Mon Oct 12 11:24:45 PDT 1998 James Hu <jxh@entera.com> + + * Asynch_IO.cpp: Minor changes to deal with FMR error. + + * Message_Block.{cpp,i,h}: Changed rd_ptr_ and wr_ptr_ to be + byte offsets from base (). This allows one to resize a + duplicate without trashing other Message_Blocks that may be + referring to the same data block. + + * Proactor.cpp: Made the message block 64 bytes bigger to make + purify happier. + +Mon Oct 12 12:14:45 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Parse_Node.cpp (ACE_Stream_Node): In error cases, the strops + parameter can be NULL. Therefore, we need to protect against + this case. Thanks to David O'Farrell <dave@virgo.aersoft.ie> + for reporting this. + +Mon Oct 12 10:43:09 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/Asynch_IO.cpp (ACE_Asynch_Result): Fixed a double deletion + problem. Thanks to James Hu for reporting this. + +Mon Oct 12 09:43:07 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Containers_T.h: + * ace/Containers_T.cpp: + Added a new method to modify the size of an ACE_Array. + +Mon Oct 12 09:23:49 1998 David L. Levine <levine@cs.wustl.edu> + + * netsvcs/lib/Name_Handler.cpp (lists_entries): one more try + to fix the egcs 1.1b bug: removed the ptmf temporary entirely. + +Sun Oct 11 17:33:22 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Synch.cpp: Fixed a typo, s/lock_/process_lock_/. Thanks to + Naga for noticing this. + +Sun Oct 11 08:19:33 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-linux-common.h: re-enabled msg_* undefs and defines, + but for libc5 (non-glibc) only. Thanks to JM Strauss + <jms97@club-internet.fr> for verifying that they're needed. + + * netsvcs/lib/Name_Handler.cpp (lists_entries): replaced + switch statement with a multi-branch if statement, to + avoid Internal compiler error 980331 with egcs 1.1b (2.91.57) + (on Linux/alpha). + +Sat Oct 10 18:30:02 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Synch_T: Added a process condition abstraction for Chorus + that is based on a condition variable stored in shared memory. + Thanks Alberto Villarica <Alberto.Villarica.rav@nt.com> for + this. + + * ace/Synch: Added a process mutex abstraction for Chorus that is + based on a mutex stored in shared memory. Thanks Alberto + Villarica <Alberto.Villarica.rav@nt.com> for this. + + * ace/config-chorus.h: Updated the config file for Chorus. Thanks + Alberto Villarica <Alberto.Villarica.rav@nt.com> for this. + + * ace/OS.i: Added rudimentary flock support for Chorus. Thanks + Alberto Villarica <Alberto.Villarica.rav@nt.com> for this. + + * ace/OS.i: Added exec*() support for Chorus. Thanks Alberto + Villarica <Alberto.Villarica.rav@nt.com> for this. + + * ace/config-chorus.h: Added #include of file <am/wait.h>. + + * ace/Local_Name_Space_T.cpp (create_manager_i): Added a special + case for CHORUS so that we use a base address of 0. Thanks to + Alberto Villarica <Alberto.Villarica.rav@nt.com> for reporting + this. + + * ace/Local_Name_Space_T.cpp (create_manager_i): Don't use + ACE_OS::access() if the platform lacks it. Thanks to Alberto + Villarica <Alberto.Villarica.rav@nt.com> for reporting this. + +Sat Oct 10 18:33:06 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * tests/Aio_Platform_Test.cpp: Comments. + +Sat Oct 10 17:42:18 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.52 released. + +Sat Oct 10 16:44:24 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Service_Repository.cpp: Improved the documentation and added + some new ACE_const_casts. Thanks to Eric Palantir + <palantir@net56.net> for motivating this. + + * ace/Service_Config.cpp (open): The logger key should be set to + the static logger key only if the key supplied is EQUAL with the + default logger key. Thanks to Eric Palantir + <palantir@net56.net> for reporting this. + +Sat Oct 10 16:28:00 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Synch.h: + * ace/Synch.i: + * ace/Synch.cpp: + The ACE_Process_Mutex class was allocating one of its members + from the heap, thus it could not be placed in shared memory. + The problem was that the member required the creation of a + unique name if the user did not provide one; making the buffer + for this unique name a member of ACE_Process_Mutex allowed us to + initialize the lock_ member while still allocating it as a + member of the class. Thanks to Bob McWhirter + <bob@netwrench.com> for helping to track this down. + +Sat Oct 10 12:45:31 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Malloc_T.h: Added a documentation entry for class + ACE_Cached_Allocator. Thanks to Erik Koerber + <erik.koerber@siemens.at> for reporting this. + +Sat Oct 10 00:40:05 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.51 released. + +Fri Oct 09 23:47:42 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Mem_Map.cpp (map_it): Fixed the setting of length_ again. + Hopefully, it will be right this time. + +Fri Oct 9 15:37:26 PDT 1998 James Hu <jxh@entera.com> + + * ace/Mem_Map.cpp: Protect against assigning 0 to length_. This + was causing JAWS to fail. + +Fri Oct 9 16:59:26 1998 Nagarajan Surendran <naga@cs.wustl.edu> + + * examples/IPC_SAP/SOCK_SAP/run_test: + * examples/IPC_SAP/SOCK_SAP/summarize: + Fixed the scripts to print the results correctly.Fixed + comments and usage. + +Fri Oct 09 16:35:00 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/Timer_Queue_Adapters.cpp + ace/ace_dll.dsp + examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{cpp, h}: + Fixes for deferred callbacks in the BPR example on NT. + +Fri Oct 09 11:59:26 1998 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/wrapper_macros.GNU: removed RM override + because it's not necessary. Thanks to + Tres Seaver <tseaver@palladion.com> for this suggestion. + + * include/makeinclude/platform_chorus_ghs.GNU, + platform_irix6.x-sgic++.GNU,platform_osf1_3.2.GNU, + platform_osf1_4.0.GNU,platform_osf1_4.0_rcc.GNU, + platform_sunos5_sunc++.GNU: + replaced hard-coded /bin/rm -f with $(RM). Thanks to + Tres Seaver <tseaver@palladion.com> for this suggestion. + + * ace/Containers_T.{h,cpp}: removed unecessary (and impolite) + argument name. + +Fri Oct 09 00:44:21 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/OS.i (mmap): CreateFileMapping must be created with a length + of 0 (which will get translated to the size of the file). This + must not be <len> since <len> only deals with the mapping of the + view and not with the file mapping object. It is ok to use 0 + since we are trying to emulate UNIX's mmap. + + * ace/ACE.cpp (round_to_allocation_granularity): + ace/OS.i (allocation_granularity): + + New methods. We need allocation granularity when rounding off + the offset in mmap and not the page size. Only on Win32, + allocation granularity is different from pagesize. + + * ace/High_Res_Timer.cpp: Added the inclusion of Object_Manager.h. + Otherwise, NT was picking up the definition of + ACE_Static_Object_Lock. + + * ace/Mem_Map.cpp (map_it): Fixed the problem where a requested + length of less than the filesize was being ignored. Also, + changed round_to_pagesize() to round_to_allocation_granularity(). + Thanks to Jonathan Reis <reis@minniemouse.cemax.com> for + pointing this bug out. + +Fri Oct 09 00:02:01 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/Asynch_IO.cpp: The YET another problem with doing multiple + Asynch_Accepts have been fixed. Thanks very much James Hu for + reporting this. I was calling reactor's resume_handlers and + suspend_handlers instead of only for one handle. Thanks very + much Irfan! for pointing this out. + +Thu Oct 08 23:06:20 1998 David L. Levine <levine@cs.wustl.edu> + + * config-linux-common.h: on Alpha only, added ACE_POLL_IS_BROKEN. + High_Res_Timer_Test revealed that it's necessary with + glibc 2.0.7-13. I don't think that its necessary on + Pentiums, but maybe it depends on glibc version. + + * OS.i (gethrtime),High_Res_Timer.cpp OS.i,README: + added ACE_HAS_ALPHA_TIMER support. See the comment + in ACE_OS::gethrtime about it being limited to 32 bits. + I don't know why, but that severely limits the range + of high res times. Therefore, it's not enabled by default + in any config files. + +Thu Oct 08 15:22:22 1998 Arturo Montes <mitosys@colomsat.com.co> + + * ace/OS.{i,cpp}: Reverted FSU thread changes for now. + +Thu Oct 08 15:11:34 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ACE-INSTALL.html: Updated document about spawning new thread + when ACE_HAS_MFC is defined. CWinBeginThread is not used + automatically. Users have to explicitly ask for this. + +Thu Oct 8 12:11:08 1998 Nagarajan Surendran <naga@cs.wustl.edu> + + * examples/IPC_SAP/SOCK_SAP/run_test: + * examples/IPC_SAP/SOCK_SAP/summarize: + + Added these scripts to run the test and summarize the + results. These scripts are modelled similar to the + $TAO_ROOT/performance-tests/Cubit/TAO/MT_Cubit scripts. + Thanks to David for the scripts. + +Thu Oct 08 08:23:09 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/High_Res_Timer.cpp (get_registry_scale_factor): + default global_scale_factor to 1000 instead of 1, + because ACE_OS::gethrtime () defaults to nanoseconds. + Thanks to Peter Nordlund <petern@nada.kth.se> for + reporting that High_Res_Timer_Test failed on Irix without + this fix. + + * ace/Makefile (Svc_Conf_l.cpp): use Doug's flex to generate + this file, if running on a DOC group machine, instead of + using whatever flex is first on the users path. + + * etc/README: fixed typo. + + * ace/Svc_Conf_l.cpp,etc/Svc_Conf_l.cpp.diff (ACE_YY_DECL): + initialize ace_yy_cp and ace_yy_bp to 0 to avoid egcs 1.1 + warning about possible use before initialization. + +Wed Oct 7 23:47:29 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + * ace/Asynch_IO.cpp: + * ace/Proactor.cpp : Fixed the problem with doing multiple + Asynch_Accepts. Thanks to James Hu for reporting this + problem. Thanks very much Irfan!!!, for helping me a lot in fixing + this one. + +Wed Oct 07 23:14:36 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.50 released. + +Wed Oct 7 21:44:20 1998 Douglas C. Schmidt <schmidt@lambada.cs.wustl.edu> + + * ace/Stream.h: Added a default value of 0 for both put() and + get(), which is more consistent with the underlying putq() and + getq() methods on ACE_Task. Thanks to Bob McWhirter + <bob@netwrench.com> for this suggestion. + +Wed Oct 7 18:18:14 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * README: + * ace/config-irix6.x-g++.h: + * ace/config-irix6.x-common.h: + * ace/config-irix6.x-sgic++-nothreads.h: + Peter Nordlund <petern@nada.kth.se> kindly submitted a common + configuration file for IRIX 6.X that works with both g++ and SGI + MIPSPro 7.X + +Wed Oct 7 17:21:17 1998 Arturo Montes <mitosys@colomsat.com.co> + + * ace/OS.{i,cpp}: FSU pthreads is draft6, but FSU in SCO is an + special port. The API is draft6 but return values is DRAFT7 + (really I am moving to STD). + +Wed Oct 07 09:30:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/Functor.{cpp, h, i} + ace/Functor_T.{cpp, h, i} + ace/Makefile: + + Added ACE_Command_Base abstract base class and derived class + template ACE_Command_Callback to ACE to support the GOF Command + design pattern. + + * ace/Timer_Queue_Adapters.{cpp, h}: + + Added registration and deferred executiton of ACE_Command_Base + objects to ACE_Thread_Timer_Queue_Adapter. This is conditionally + compiled if the ACE_HAS_DEFERRED_TIMER_COMMANDS symbol is defined. + + * examples/Bounded_Packet_Relay/BPR_Drivers.{cpp, h} + examples/Bounded_Packet_Relay/BPR_Drivers_T.{cpp, h} + examples/Bounded_Packet_Relay/Makefile + examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{cpp, h} + examples/Bounded_Packet_Relay/bpr_thread.cpp: + + Changed example to use ACE_Command_Callback objects, modified event + handlers to register ACE_Command_Callback objects for deferred + excecution of timer cancellations and registrations. + +Wed Oct 07 02:37:58 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.49 released. + +Wed Oct 7 00:11:33 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ACE-INSTALL.html: Added more information on using MFC with ACE, + some explanations about using run-time libraries and information + about VC6. + + * tests/version_tests/version_tests.dsw: Removed + MsgQueue_Notifications_Test.dsp and added + Message_Queue_Notifications_Test. + + * tests/*.dsp: Changed to use DLL version of run-time libraries + for static builds. Notice that user libraries are still linked + in statically. Only the run-time libraries are effected. + + * ace/README: Added information for ACE_USES_STATIC_MFC. + + * ace/config-win32-common.h: Re-structured MFC related macros + (_AFXDLL and _WINDLL) so that it allows us to use MFC in static + ACE libraries and the setting of MFC can propagate to + applications. By default, ACE uses MFC DLL if ACE_HAS_MFC=1. + If you want to use MFC as a static library, besides + ACE_HAS_MFC=1, also define ACE_USES_STATIC_MFC. Thanks to Jason + Milley <Jason.Milley.jcmilley@nt.com> for noticing the problem + of compiling static ACE library with MFC. + +Tue Oct 6 15:06:21 1998 Steve Huston <shuston@riverace.com> + + * ace/Asynch_IO.cpp (ACE_Asynch_Accept_Handler): Removed the + version of the ctor with no args - it's equivalent to the one + with all defaulted args, and HP aCC complained. + + * ace/NT_Service.{h cpp i}: New class, ACE_NT_Service. This provides + a class and supporting macros to integrate NT Services into the + ACE framework at run-time. I'll work on getting an example into + the kit soon. + + * ace/ACE_Library.{mak mdp}: + ace/ace_dll.dsp, ace_lib.dsp: Added NT_Service files. + +Tue Oct 6 12:49:37 EDT 1998 James CE Johnson <jcej@lads.com> + + * docs/tutorials/006/client_handler.cpp + * docs/tutorials/006/page05.html + Susan Liebeskind discovered that invoking the baseclass + close() after handle_close() in Client_Handler::close() + causes the object to be destructed twice. I've removed + the call to the baseclass close(). She reports success + on Solaris, Dec and AIX. I've verified that Linux also + works fine with this fix. + +Tue Oct 06 09:53:22 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-fsu-pthread.h,config-mit-pthread.h,config-mvs.h, + config-sco-5.0.0-mit-pthread.h,config-tandem.h,README: + removed ACE_HAS_YIELD_VOID_PTR because it's no longer used. + Thanks to Ossama for reporting this. + + * config-dgux-4.x-ghs.h,config-hpux-10.x.h,config-mit-pthread.h, + config-mvs.h,config-sco-5.0.0-mit-pthread.h,config-tandem.h,README: + removed ACE_LACKS_KEYDELETE because it's no longer used. Thanks to + Ossama for reporting this. + +Tue Oct 06 03:36:22 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.48 released. + +Tue Oct 06 02:53:28 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.47 released. + +Tue Oct 6 02:16:01 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/Asynch_Acceptor.cpp: + * ace/Asynch_IO.cpp (handle_input): + * ace/Proactor.cpp: + In POSIX implementation of Asynch_Accept, We dont have to read + initial data to read on to the Message Block given to the + Asynch_Accept. So we dont use it at all. We get local and peer + address from using socket and pass back to the application. + +Mon Oct 05 23:58:16 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.46 released. + +Mon Oct 5 23:19:30 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.cpp (fork): Changed to use fork1 when ACE_HAS_STHREAD is + defined. Otherwise, file descriptors get messed up and socket + connections get lost after exec'ing a new program. Generally + speaking, you should not simply fork a multi-threaded program + without calling exec (). On pthread compliant platform, fork + does what fork1 does on solaris thread. + +Mon Oct 05 21:21:42 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.45 released. + +Mon Oct 05 15:59:55 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.5.44 released. + +Mon Oct 05 15:23:04 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.43 released. + +Mon Oct 5 15:34:41 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/002/handler.h: Added includes for INET_Addr.h, + SOCK_Stream.h and Reactor.h. Susan Liebeskind pointed out that + AIX gets confused in processing templates if these aren't present. + +Mon Oct 05 10:02:37 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-chorus.h: added ACE_LACKS_TRUNCATE. Thanks + to Steve Kay <slk1@icore.ih.lucent.com> for reporting this. + + * tests/Semaphore_Test.cpp: added some ifdefs so that it + builds cleanly with ACE_HAS_POSIX_SEM. + +Sun Oct 05 03:49:09 PDT 1998 James Hu <jxh@entera.com> + + * ace/Asynch_Accept.* + * ace/Asynch_IO.* + Made some small modifications to support passing in and + retrieving an ACT when performing asynchronous accept. + +Sun Oct 04 22:07:09 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-fsu-pthread.h,config-hpux-10.x.h,config-lynxos.h, + config-mit-pthread.h,config-mvs.h,config-osf1-3.2.h, + config-osf1-4.0.h,config-sco-5.0.0-mit-pthread.h,config-tandem.h, + README: removed ACE_HAS_PTHREAD_GETSPECIFIC_DATAPTR, because it's + no longer used. Thanks to Ossama for reporting this. + + * ace/config-tandem.h,README: removed ACE_HAS_PTHREAD_YIELD_VOIDPTR, + because it's no longer used. It was commented out in + config-tandem.h, anyways. Thanks to Ossama for reporting this. + +Sun Oct 4 20:00:44 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * bin/auto_compile: + Fixed the regular expression to detect compile errors. + The user can pass extra arguments to GNU make, the arguments are + given as the script is invoked. + +Sun Oct 4 14:30:03 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/TP_Reactor.cpp (handle_events): Made sure we never suspend + the <notify_handler_> without holding the <token_>. Otherwise, + depend on how an OS schedules ready threads, we may have a + Reactor that could never be woken up. This leads to a very + delicate race condition when other threads which need to modify + Reactor's state get block on the token (because they couldn't + wake up the reactor). These threads later block the + nofify_handler thread when it's ready to resume + <notify_handler_.> + (notify_handle): Since we don't suspend the <notify_handler_>, + there's no need to resume it here. + +Sat Oct 3 13:11:48 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * bin/auto_compile: + Removed some of the tests, they were crashing more often than + not. + +Sat Oct 3 09:36:09 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * examples/Reactor/Proactor/test_proactor.cpp: Comments. + +Sat Oct 03 09:24:45 1998 Susan Liebeskind <shl@cc.gatech.edu> + + * ace/Task.h,Thread.h,Thread_Manager.h,Timer_Queue_Adapters.h + (activate,spawn,spawn_n): added THR_JOINABLE to THR_NEW_LWP + default flags. + + On the boxes which implement POSIX 1003.1.b (Solaris, Digital Unix) + threads spawned using default flags provided by those methods were, + and still are, created *joinable*. + + On the box which implements Draft 7 (AIX), the spawned threads were + *detached*. With this change, they'll be created *joinable*, + instead. + + This change ensures consistent behavior across all platforms. + +Sat Oct 03 09:04:44 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/ACE.cpp (set_handle_limit): wrapped the final + return statement with #ifdef __sgi. Irix complains without + this return statement. DEC cxx (correctly) says that it's not + reachable. ACE_NOTREACHED won't work here, because it handles + both platforms the same. + + * include/makeinclude/wrapper_macros.GNU: with quantify=1 + on sparcs, add -record-register-window-traps to $(PRELINK). + Thanks to Andy for discovering this Quantify option, for sparcs. + +Fri Oct 2 23:43:51 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/config-irix6.x-g++.h: + * ace/config-irix6.x-sgic++-nothreads.h: + * ace/OS.h: + IRIX puts <xti.h> in <sys/xti.h> header of IRIX, it is only + relevant for the autoconf project. + + * ace/ACE.cpp: + Added an extra return to make IRIX compiler happy. + +Fri Oct 2 21:48:18 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Thread_Pool_Reactor_Test.cpp: Send the message length + before each message so we don't need to use time delay to + separate consecutive requests. + +Fri Oct 02 16:27:07 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Thread_Manager.cpp: ACEified some code. + (terminate): Do not register a thread as being terminated if it + is being joined by another thread. Just remove it from + Thread_Manager's thr_list_. + +Fri Oct 2 00:19:04 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Thread_Pool_Reactor_Test.cpp: Fixed explicit template + instantiation. + + * ace/Strategies_T.{h,i,cpp}: Removed classes + ACE_Thread_Pool_Strategy and ACE_Svc_Handler_Pool_Strategy. + + * tests/run_tests.{sh,bat}: Added Thread_Pool_Reactor_Test into + one-buttoned test scripts. + +Thu Oct 01 12:04:30 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Thread_Pool_Reactor_Test.cpp: Added a command line argument + parser. + +Thu Oct 1 08:51:00 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Thread_Pool_Reactor_Test.cpp: Reformatted the + code a bit. + + * ace/ACE.cpp (max_handles): Added yet another fix for AIX. + Thanks to Chris Lahey for this. + +Thu Oct 01 01:05:49 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/tests.dsw: + * tests/version_tests/version_tests.dsw: + * tests/Thread_Pool_Reactor_Test.{cpp,dsp}: Added a new test that + torture tests the new ACE_TP_Reactor. + +Thu Oct 01 00:09:35 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/ACE.cpp: Fixed max_handles(). + + * tests/Conn_Test: Removed template specialization for + INET_Addr.hash(). + + * ace/Addr.i (hash): + * ace/INET_Addr.i (hash): + + Finally gave up with template specialization hell and freak'in + broken compilers and simply added a hash() method to ACE_Addr + and ACE_INET_Addr. ACE_Addr::hash() simply return 0 and should + be overwritten by subclasses that can provide better hashing. + +Wed Sep 30 10:16:56 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/ACE.cpp: Modified max_handles() so that it goes the right + thing on platforms like AIX that don't have any predefined limit + on the number of handles. Thanks to Chris Lahey + <CLahey@cccis.com> for reporting this. + +Wed Sep 30 01:56:54 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Strategies_T: + + - ACE_Refcounted_Hash_Recyclable::operator==(const T &rhs): + Added new method to prevent implicit type conversions. + + - Changed ACE_Hash_Addr::hash_i to return u_long instead of + size_t. This makes it similar to the return value from + hash(). + + - Added hash caching ability to ACE_Hashable. + + - Removed the use of ACE_Hash_Addr inside the + ACE_Cached_Connect_Strategy. This allows us to reduce + implicit type conversions inside connect_svc_handler(). + + Users are now required to specialize + ACE_Refcounted_Hash_Recyclable<ACE_INET_Addr>::hash_i (void) instead + of ACE_Hash_Addr<ACE_INET_Addr>::hash_i(const ACE_INET_Addr&addr) + + * tests/Conn_Test.cpp: Changed template specialization of + ACE_Hash_Addr<ACE_INET_Addr>::hash_i(const ACE_INET_Addr&addr) + to ACE_Refcounted_Hash_Recyclable<ACE_INET_Addr>::hash_i (void). + + * ace/OS.cpp (open): Fixed a couple of things that were broken + with respect to when the SetFilePointer was called and when lock + was released. Also fixed the UNICODE version of open(). BTW, + these functions had to be moved from OS.i to OS.cpp since the + ACE_Managed_Object is not visible from OS.i. + +Wed Sep 30 02:29:48 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * performance-tests/TTCP/ACE-C++/Makefile: + * performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp: + Hacked so it would compile, don't know anything further than + that. + +Tue Sep 29 21:55:52 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/ace.dsw: Removed Connector.cpp from the compile list since + it is a files with template classes only. + +Tue Sep 29 21:14:02 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.i (open): Grab a lock from the Object_Manager when + O_APPEND is defined to simulate atomic behavior on most UNIX + platforms. Thanks to Irfan. + +Tue Sep 29 19:16:57 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/007/thread_pool.h + * docs/tutorials/007/thread_pool.cpp + Added virtual methods for open() and close() that match the + baseclass. This will keep some compilers from complaining about a + partial-overload attempt. Thanks to Bob McWhirter for catching this. + +Tue Sep 29 16:13:10 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Strategies_T: + * ace/Connector: + + Added accessors for the strategy. + +Tue Sep 29 14:04:49 EDT 1998 James CE Johnson <jcej@lads.com> + + * docs/tutorials/013/page08.html: Removed link to message_queue. + Thanks to Jeff Hellzen for pointing this out. + +Tue Sep 29 11:05:04 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/README: removed ACE_HAS_ONLY_TWO_PARAMS_FOR_ASCTIME_R_AND_CTIME_R + because it is no longer used. Thanks to Ossama for reporting this. + + * ace/config-fsu-pthread.h,config-mit-pthread.h,config-mvs.h, + config-sco-5.0.0-mit-pthread.h,config-tandem.h,README: + removed ACE_HAS_PTHREAD_DSTATE_PTR because it is no longer used. + Thanks to Ossama for reporting this. + +Mon Sep 28 20:35:49 1998 Sergio Flores <sergio@tango.cs.wustl.edu> + + * ace/Containers_T.h: + * ace/Containers_T.cpp: Added begin () and end () to + ACE_Unbounded_Queue. + +Mon Sep 28 16:06:05 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.*,Object_Manager.{h,cpp}: removed ACE_HAS_TSS_EMULATION's + support for ACE_HAS_NATIVE_KEYS. Now, if ACE_HAS_TSS_EMULATION + is used and ACE_HAS_THREAD_SPECIFIC_STORAGE is #defined, then + the ACE TSS emulation will use one native TSS key. + + ACE_TSS_EMULATION may be useful even on platforms that + have native thread specific storage. It offers these + advantages: + + 1) ACE's TSS emulation offers a configurable number of TSS + keys, via ACE_DEFAULT_THREAD_KEYS. Most (all?) native TSS + implementations have a fixed number of keys. LynxOS 3.0.0, + for example, only has three keys available to applications. + + ACE_DEFAULT_THREAD_KEYS defaults to 64, to match the + number of native keys on Windows NT. + + 2) ACE's TSS emulation recycles deleted keys. Some native TSS + implementations, such as POSIX Draft 4, POSIX Draft 6, and + Solaris, do not allow deletion of TSS keys. Therefore, + unused keys cannot be recycled. + + 3) ACE's TSS emulation calls destructors on TSS objects in the + main thread. Solaris' native TSS, for example, does not. + + There is one known drawback to using ACE's TSS emulation: it is + slower than using native TSS. The performance penalty is + probably negligible for most applications, however. It involves + just an additional function call, an array index, and three numeric + comparisons beyond the native TSS call. The function call is + _not_ a virtual function call. (On MVS, there's an additional + memcpy of the TSS key with TSS emulation.) + + TSS emulation is enabled by default in the ACE configurations + for VxWorks, pSOS, and LynxOS. + + Many thanks to Arturo Montes <mitosys@colomsat.net.co> for + expanding TSS emulation to platform that have native TSS. + +Sun Sep 27 20:12:13 EDT 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/index.html: Linked in Tutorial 13 + +Sun Sep 27 18:53:25 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * tests/Map_Manager_Test.cpp: + Instead of clearing the capacity and size in the + free_search_structure() method we do it on the close() + method. The first method is also used in other places... + +Sun Sep 27 18:25:57 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.i (readdir_r): added __USE_POSIX test for three-arg + ::readdir_r (). Thanks to james@tsunami.com for providing + the patch. + +Sun Sep 27 09:35:04 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/013/* + Completed Tutorial 013! The code is up to date and compilable on + RedHat Linux with egcs 1.1. It may need some template help on other + platforms. The HTML is done and in synch with the code. + +Sun Sep 27 01:52:36 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/INET_Addr.cpp: + The get_host_name() method was returning the first name, and not + looking up in the alias list for the right match with the + address. + +Sun Sep 27 00:18:48 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Makefile: Updated dependency. + + * ace/OS.cpp (invoke): + * ace/Thread_Manager.cpp (ace_thread_manager_adapter): + (ACE_Thread_Exit::instance): Removed conditional macro + ACE_HAS_PTHREAD_SIGMASK so the Thread_Exit instance can be place + in TSS. This was guarded by ACE_HAS_PTHERAD_1003_DOT_3 which + later merged with ACE_HAS_PTHERAD_SIGMASK. However, the + origianl intension of this condition was to fix a bug in Xavier + pthread implementation. The effect of merging the two macros + forces ACE_Thread_Exit be allocated from stacks which, in turn, + prevent threads from exiting properly when pthread_cancel is + used. + + Linux is the only platform that I know which uses Xavier thread + library. The bug has apparently been fixed. If your platform + segfaults while spawning threads, please let me know. Thanks to + Chris Gill for noticing the abnormal behavior when calling + ACE_Thread::thr_cancel. + +Sat Sep 26 23:20:52 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/Proactor.cpp: Fixed the g++ warnings. + +Fri Sep 25 23:19:52 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Sched_Params.cpp: use both ACE_HAS_STHREADS and + ACE_HAS_PRIOCNTL. With just ACE_HAS_PRIOCNTL, the + min/max priority values weren't right on DU 4.0. With + this change, we're back to the strict POSIX interface + on DU 4.0, and SunOS if ACE_HAS_STHREADS is not #defined. + +Fri Sep 25 21:58:35 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/ACE.cpp (set_handle_limit): Added appropriate return value. + +Fri Sep 25 22:10:38 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Map_Manager.cpp: + Map_Manager::close() did not reset the capacity or current size + of the map. + +Fri Sep 25 18:24:17 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/Proactor.{h,cpp}: Had to allow the definition of + POSIX_COMPLETION_STRATEGY for the do-nothing constructor on + NT. + +Fri Sep 25 18:07:19 EDT 1998 James CE Johnson <jcej@lads.com> + + * A few more minor changes to docs/tutorials/013. With luck, the + HTML part will be done this weekend! + +Fri Sep 25 14:51:54 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/Asynch_IO.h: + * ace/Asynch_IO.cpp: + * ace/Proactor.h: + * ace/Proactor.cpp: + Implemented Asynch_Accept to work for AIO_CONTROL_BLOCKS strategy of + completion notification. + + Defined an auxillary Accept_Handler called ACE_AIO_Accept_Handler in + addition to the ACE_Asynch_Accept_Handler. ACE_AIO_Accept_Handler + holds the notification pipe and does a read on it to handle the + <ACE_Asynch_Accept::Result> coming from Asynch_Accept_handler. + + THANKS to Doug and Irfan for suggesting this 'notification pipe' based + implementation for AIO_CONTROL_BLOCKS strategy, so that Proactor will + work on platforms where POSIX4 RT_Signals are broken (Solaris 2.6 !) + + Note : Proactor uses AIO_CONTROL_BLOACKS strategy by default on + POSIX4 platforms. Call the constructor with RT_SIGNALS to enable + Real Time singal implementation. + + This should become very easier when we finish organizing these + files according to the Bridge pattern. + +Fri Sep 25 12:40:45 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-sunos5.{5,6}.h: removed #define/#undef of + ACE_THR_PRI_FIFO_DEF. They're no longer needed with the + hard-coded ACE_THR_PRI_* values for Solaris in ace/OS.h. + + * ace/OS.i: removed carriage returns. Thanks to Darrell + for noticing it. + + * tests/Handle_Set_Test.cpp: removed ACE_Node<ACE_HANDLE> + template instantiation because it conflicted with the + ACE_Node<ACE_INT32> instantiation in ace/Stats.cpp. + + * docs/ACE-porting.html: updated "auto configure" link. Thanks + to Ossama for reporting this. + + * ace/ACE.cpp (set_handle_limit): on platforms with + ACE_LACKS_RLIMIT or ! RLIMIT_NOFILE, don't use + ACE_NOTSUP_RETURN if the new_limit is <= the cur_limit. + On those platforms, the limit can't be changed anyways, + and the request was _not_ to increase the limit. So, + it's a no-op; just return 0. + +Fri Sep 25 12:15:00 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace: The following ACE_TRACE calls being made during the + creation of the ACE_Log_Msg instance. The ACE_TRACE calls then + try to create the ACE_Log_Msg instance which then ends up + executing the ACE_TRACE's. Etc, etc, etc... + + Here are the methods with the ACE_TRACEs that I commented out to + get ACE to run: + + ACE_IPC_SAP::~ACE_IPC_SAP + ACE_SOCK::ACE_SOCK + ACE_SOCK::~ACE_SOCK + ACE_SOCK_IO::ACE_SOCK_IO + ACE_SOCK_IO::~ACE_SOCK_IO + ACE_SOCK_Stream::ACE_SOCK_Stream + ACE_SOCK_Stream::~ACE_SOCK_Stream + ACE_Thread::keycreate + ACE_Thread::setspecific + ACE_Thread::getspecific + + Thanks to "Patrick J. McNerthney" <pat@cartia.com> for this bug + report. + +Fri Sep 25 10:10:12 1998 Steve Huston <shuston@riverace.com> + + * ace/OS.i (cond_timedwait): Add EINTR to the list of errno values + that get changed to ETIME on wait timeout. EINTR is from LynxOS. + Thanks to David Levine for this fix. + + * tests/Semaphore_Test.cpp: Remove the assertion that a timed out + semaphore will return EINTR for ACE_HAS_PTHREADS_DRAFT4. All + platforms expect ETIME, which is normalized in + ACE_OS::cond_timedwait. + +Thu Sep 24 22:31:30 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.h: hard-coded the ACE_THR_PRI_* values on suns. + SunOS 5.6 could use sched_get_priority_min/max () for FIFO + and RR. But for OTHER, it returns negative values, which + can't be used. And, sched_get_priority_min/max () aren't + supported in SunOS 5.5.1. It would really be helpful + if SunOS defined PRI_FIFO_MIN, etc., in sched.h, but + it doesn't, probably because its process scheduling is + so flexible. Thanks to Russ Noseworthy + <rnosewor@objectsciences.com> for helping to figure this + out. + +Thu Sep 24 17:54:26 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Asynch_IO.cpp: + Removed duplicate instantiation of a template, IRIX does not + like this. Thanks to Ossama Othman + <othman@astrosun.tn.cornell.edu> because his configure script + detected the Asynch I/O calls on IRIX and enabled this ACE + code. + +Thu Sep 24 16:28:32 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/config-win32-common.h: ACE_HAS_TEMPLATE_TYPEDEFS was defined + for VC4.1 and VC4.2. Template typedefs in Strategies_T.cpp + broke the VC4.2 compiler. Therefore, ACE_HAS_TEMPLATE_TYPEDEFS + was deprecated for VC4.1 and VC4.2. I also checked VC5.0 and it + didn't work. Therefore, for the time being, none of the VC + compilers support ACE_HAS_TEMPLATE_TYPEDEFS. I didn't try + VC6.0. + + * ace/Strategies_T.cpp (check_hint_i ): Changed the signature so + that it is identical to find_or_create_svc_handler_i(). For + some strange freakin reason, the VC4.2 could not gork + check_hint_i() but was able to gork + find_or_create_svc_handler_i. + + * ace/ACE_Library.mdp: Added Select_Reactor_Base.cpp and + Container.cpp to make ACE build with VC4.2. + +Thu Sep 24 13:30:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu> + + * examples/Bounded_Packet_Relay/README + examples/Bounded_Packet_Relay/Bounded_Packet_Relay.{dsp,dsw} + + Updated README, added in MSVC++ project, workspace files. + +Thu Sep 24 12:48:58 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Containers_T.cpp (ACE_{Bounded,Fixed}_Set_Iterator::done), + ace/Map_Manager.cpp (ACE_Map_Iterator_Base::done): + added ACE_CAST_CONST to the static cast. Thanks to Ossama for + reporting a compilation failure on Sun C++ 4.2/Solaris 2.6 + without it. + + * ace/High_Res_Timer.cpp (global_scale_factor): on Linux, + only use BogoMips if the CPU is an alpha. It would also + work directly on Pentium Pro, but not other Pentiums. With + a little effort, it could be made to work there, see the + BogoMips mini-HOWTO. Thanks to Ossama for enlightening me + on this corner of Linux. + + * tests/Upgradable_RW_Test.cpp (main): delete dynamically + allocated reader_tasks and writer_tasks, and arrays, at end of test. + +Thu Sep 24 09:17:32 1998 Steve Huston <shuston@riverace.com> + + * ace/Containers_T.h: Added #include "ace/Containers.h" - AIX xlC + needs this when instantiating templates. + + * ace/Dirent.cpp: Do the HP check using only compiler-defined + preprocessor macros since config.h isn't included. + + * ace/OS.i: Fixed comments that referenced DCE threads. + Changed readdir_r #ifdefs to handle pthreads drafts 4 and 6 + the same, and split HP-UX 10.x off as a non-conformant player. + Thanks to David Levine for sorting this out with LynxOS. + + * ace/Thread_Manager.cpp: Changed occurrences of + ACE_HAS_DCE_DRAFT4_THREADS to ACE_HAS_PTHREADS_DRAFT4. Corrected + a call to pthread_detach. Changed a couple of calls to + pthread_detach on HP-UX 10.x to duplicate the thread handle before + the call because pthread_detach on HP-UX 10.x clears the handle + and it was still needed. + On AIX, xlC doesn't match the call to + ACE_Thread::join(ACE_hthread_t, void ** = 0) correctly when the + second arg is specified. So call the 3-arg variety on AIX, knowing + that the second arg is ignored underneath on pthreads. + +Wed Sep 23 22:13:04 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/006/server.cpp: + Wrapped !defined(ACE_HAS_GNU_REPO) around the explicit template + instantiation. + + * docs/tutorials/005/client_handler.cpp (handle_input): + * docs/tutorials/006/client_handler.cpp (svc): + * docs/tutorials/006/client_handler.cpp (handle_input): + * docs/tutorials/007/client_handler.cpp (svc): + * docs/tutorials/007/client_handler.cpp (handle_input): + Use ACE_OS::memset() instead of direct call to memset() + + * docs/tutorials/005/Makefile: + * docs/tutorials/007/Makefile: + Touch .depend if it does not exist. + +Wed Sep 23 22:03:19 1998 Arturo Montes <mitosys@colomsat.net.co> + + * ace/config-sco-5.0.0.h: added ACE_LACKS_READDIR_R. + +Wed Sep 23 14:26:44 EDT 1998 James CE Johnson <jcej@lads.com> + + * docs/tutorials/005/server.cpp + docs/tutorials/006/server.cpp + docs/tutorials/007/server.cpp + docs/tutorials/008/Makefile + docs/tutorials/009/Makefile + docs/tutorials/013/Makefile + docs/tutorials/013/block.cpp + docs/tutorials/013/block.h + docs/tutorials/013/data.h + docs/tutorials/013/message_queue.cpp + docs/tutorials/013/mld.cpp + docs/tutorials/013/mld.h + docs/tutorials/013/page01.html + docs/tutorials/013/page02.html + docs/tutorials/013/page03.html + docs/tutorials/013/page04.html + docs/tutorials/013/task.cpp + docs/tutorials/013/task.h + docs/tutorials/013/work.cpp + docs/tutorials/013/work.h + + Fixed explicit template instantiaions in + tutorials 5, 6, 7. + + Fixed a nasty bug in 9's Makefile (and removed + similar comment in 8's Makefile) + + Preliminary version of 013 committed. The code + worked before I began "optimizing" and should work + again in a couple of days. The HTML is not yet + done but will be by the weekend (I hope). + +Wed Sep 23 12:15:21 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Stats.*: modified standard deviation calculation to + help avoid overflow. Instead of keep running totals of + the sum and sum of squares, it stores each sample in an + dynamic structure. Then, to calculate the standard + deviation, each sample is compared with the mean. + + * ace/Sched_Params.cpp: replace ACE_HAS_STHREADS with + ACE_HAS_PRIOCNTL. Thanks to Ossama for pointing this out. + + * ace/Synch.h: replaced #endif /* ACE_HAS_STHREADS */ with + #endif /* 0 */. + + * performance-tests/TTCP/{ACE-C++,C,Orbix}/Makefile: removed + old Quantify LINK_COMMANDs. They don't look like they're used + anywhere. + + * include/makeinclude/wrapper_macros.GNU: removed -DACE_QUANTIFY + and -Dquantify, with quantify=1, because they're no longer used. + + * ace/OS.h,README: added ACE_LACKS_CMSG_DATA_{MACRO/MEMBER} support. + It will be used by autoconf, for Linux libc5 (pre-libc). Thanks + to Ossama for supplying it. + + * ace/config-g++-common.h: disable ACE_HAS_TEMPLATE_SPECIALIZATION + with g++ 2.9. Thanks to Andrew G. Harvey <agh@cisco.com> for a + problem with compiling ace/Filecache.cpp with g++ 2.9 on SunOS 5.5.1. + + * tests/Upgradeable_RW_Test.h: replaced ACE_Thread_Mutex with + ACE_SYNCH_MUTEX. Thanks to Ossama for reporting this. + + * ace/config-linux-common.h: commented out the msg_accrights(len) + #defines. Thanks to Ossama for noticing that they just don't + look right. They no longer appear to be necessary on Linux. + +Wed Sep 23 11:30:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu> + + * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp} + examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp} + examples/Bounded_Packet_Relay/BPR_Drivers_T.{h,cpp} + + Fixed memory leaks uncovered by Purify, added large high water mark + for packet relay's underlying message queue. + +Wed Sep 23 11:28:13 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * bin/Process_Unix.pm: + If the exec() call fails we report the name and the arguments of + the program. + +Wed Sep 23 09:27:21 1998 Steve Huston <shuston@riverace.com> + + * ace/Dirent.cpp: Fixed aCC workaround from 22-Sep so that only + non-g++ compilers on HP-UX see it. + +Wed Sep 23 02:21:24 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.42 released. + +Tue Sep 22 21:34:31 1998 Steve Huston <shuston@riverace.com> + + * ace/Dirent.cpp: Make aCC quit yacking about an empty translation + unit. + + * ace/OS.i: Fix up the conditions for readdir_r on differing pthreads + drafts. + + * ace/config-aix-4.2.x.h: Added ACE_HAS_DIRENT. + +Tue Sep 22 21:00:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu> + + * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp} + examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp} + examples/Bounded_Packet_Relay/BPR_Drivers_T.{h,cpp} + examples/Bounded_Packet_Relay/bpr_thread.cpp: + + More fixes from testing on NT, added more logging features. + +Tue Sep 22 17:07:17 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Message_Queue_Notifications_Test.cpp (Watermark_Test): + Repositioned a comma so it compiles on non-threaded platforms. + Thankd to Ossama for noticing this. + +Tue Sep 22 17:20:53 1998 James Hu <jxh@entera.com> + + * ace/Containers_T.{h,i}: + Added a remove method to the ACE_DLList_Iterator. This is + needed since ACE_DLList is actually an abstraction over + ACE_Double_Linked_List, so the user of ACE_DLList does not hold + the address of the "real" node that ACE_Double_Linked_List is + managing. + +Tue Sep 22 16:07:53 1998 Steve Huston <shuston@riverace.com> + + * bin/Makefile: Will now only build envinfo if make is invoked + with "envinfo=1". The difference is needed to allow clone to be + built before ACE has been built. + +Tue Sep 22 13:58:06 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/config-irix6.x-g++.h: + Added some missing defines, thanks to JM Strauss + <jms97@club-internet.fr> for pointing them out. Also fixed a + test for the N32 ABI, it said _NABI32 and should be _ABIN32. + +Tue Sep 22 11:42:17 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-lynxos.h: added ACE_HAS_POWERPC_TIMER with + __powerpc__, but commented it out because it requires an OS patch. + + * ace/OS.i (fstat): put a :: in front of the call to the + system fstat if it's not defined as a macro. Thanks to + Ossama for reporting that MM_Shared_Memory_Test failed + otherwise. + +Tue Sep 22 10:58:04 1998 Ossama Othman <othman@astrosun.tn.cornell.edu> + + * ace/OS.i (ACE_cond_t::waiters): only define this function if + ACE_HAS_THREADS. + + Testing the autoconf integration on a Linux libc5 system w/o + threads caused me problems since ACE_LACKS_COND_T gets + defined by the configure script automatically since no + condition variable support was found. The ACE_cond_t class + appears to only get defined if ACE_HAS_THREADS is defined, + otherwise ACE_cond_t is typedefed to an int. For + this reason, I thought that it would be a good idea to make + the above modification to prevent compile time errors on + platforms without threads and when ACE_LACKS_COND_T is + defined on those platforms. + +Tue Sep 22 03:09:07 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.41 released. + +Tue Sep 22 00:31:26 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Log_Record.cpp (print): Make sure that the process id and + timestamp are fixed width. Thanks to Valery Arkhangorodsky + <avalery@geocities.com> for this fix. + +Mon Sep 21 22:54:44 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/Bounded_Packet_Relay: Removed a gratuitous + parameterized type which was causing problems for SunC++. + +Mon Sep 21 21:47:12 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/README: added ACE_HAS_PURIFY and ACE_HAS_QUANTIFY. + + * include/makeinclude/wrapper_macros.GNU: added ACE_HAS_PURIFY + and ACE_HAS_QUANTIFY support. We should use these consistently. + In addition, added -I support for Purify and Quantify. + This support should no longer appear in individual Makefiles. + + * ACE-INSTALL.html: added paragraph on Purify/Quantify support + details, i.e., they must be on your PATH, and ACE puts the + instrumented libraries below /tmp by default. + +Mon Sep 21 20:46:00 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Containers_T.cpp (ACE_Double_Linked_List): Changed + dynamic_cast to static_cast. + +Mon Sep 21 18:35:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu> + + * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp} + examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp} + examples/Bounded_Packet_Relay/BPR_Drivers_T.{h,cpp} (new) + examples/Bounded_Packet_Relay/bpr_thread.cpp: + + Factored out templates into separate files, fixed initialization, + concurrency, and deadlock problems found in NT testing. + +Mon Sep 21 18:27:19 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * tests/Conn_Test.cpp: g++ cannot gork templates typedefs. + +Mon Sep 21 15:48:34 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Acceptor: It's now possible to select if you want to reuse + the PEER_ACCEPTOR addr. Thanks to Chuck Gehr for suggesting + this. + +Mon Sep 21 15:00:34 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Thread_Manager.{h,cpp} (join): Allow passing back of thread's + exit status of the thread being joined. + +Mon Sep 21 11:24:33 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * docs/ACE-categories.html (HREF): Updated the links to ace/ and + man/ since we moved the file around. Thanks to Byron Harris for + reporting this. + +Mon Sep 21 10:22:17 1998 Steve Huston <shuston@riverace.com> + + * ace/Select_Reactor_T.cpp (handle_error): Check handles for all + errors (not just EBADF) on Win32, in addition to MVS. Thanks + to Xu Yifeng <xuyifeng@www.kali.com.cn> for this fix. + +Mon Sep 21 01:27:19 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Strategies_T.cpp (find_or_create_svc_handler_i): g++ cannot + gork templates... + + * tests/Conn_Test.cpp: Fixed template instantiations. + + * ace/Strategies_T.cpp (ACE_Cached_Connect_Strategy): New methods + find_or_create_svc_handler_i and check_hint_i to simplify + connect_svc_handler. Also added _i methods to implement + non-locking versions. + + * ace/Strategies.h (ACE_Connection_Recycling_Strategy): + New methods: mark_as_close and cleanup_hint. + + * ace/Strategies: Added three new classes: ACE_Recyclable, + ACE_Hashable, and ACE_Refcountable. Also added + ACE_Refcounted_Hash_Recyclable. Deprecated ACE_Recyclable<T> and + ACE_Hash_Recyclable<T> + + * ace/Svc_Handler.h (cleanup_hint): Added new method. This can be + used by users when they are through with using the svc_handler + as a hint. + +Mon Sep 21 00:40:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu> + + * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp} + examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp} + examples/Bounded_Packet_Relay/bpr_thread.cpp + examples/Bounded_Packet_Relay/README: + + Reorganized construction of input and output device objects + and the relay object, cleaned up readme file. + +Sun Sep 20 22:01:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu> + + * examples/Bounded_Packet_Relay/BPR_Drivers.h: + + Made Bounded_Packet_Relay_Driver::display_menu (void) pure virtual: + now it all compiles *and* links. + +Sun Sep 20 21:49:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu> + + * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp} + examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp} + + Fourth checkin of bounded packet relay example: compiles. + +Sun Sep 20 20:41:29 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Acceptor.{h,cpp}: Added an extra argument to constructors of + ACE_Strategy_Acceptor and open method so that we can accept only + one connection request every time handle_input is called. + +Sun Sep 20 20:30:36 1998 Marina Igorevna Spivak <marina@mambo.cs.wustl.edu> + + * ace/OS.h : added ACE_GUARD_THROW, ACE_GUARD_THROW_RETURN, + ACE_NEW_TRY_THROW, ACE_NEW_TRY_THROW_RETURN macros to utilize + new exceptions macros. + +Sun Sep 20 19:18:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu> + + * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp} + examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp} + examples/Bounded_Packet_Relay/README + + Third checkin of bounded packet relay example, + addressed remaining coding style issues. + (very rough, still does not compile) + +Sun Sep 20 16:38:17 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Thread_Manager.i (get_next): Changed to use static_cast. + + * ace/Thread_Manager.cpp: Shielded off terminated_thr_list_ from + compilation on VxWorks. Thanks to David for noticing this. + +Sun Sep 20 12:17:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu> + + * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp} + examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp} + + Second checkin of bounded packet relay example, + addressed several coding style issues. + (very rough, still does not compile) + +Sun Sep 20 11:25:52 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.h: with ACE_HAS_TSS_EMULATION, use u_long instead of + u_int for ACE_thread_key_t. This avoids overload ambiguity + on platforms that typedef pthread_key_t to u_int. We'll be + in trouble if we try on one that uses u_long. In that case, + we could try u_short, or added an ACE_HAS. + + * ace/Thread_Manager.i (register_as_terminated): neutered on VxWorks, + so that it will compiled. + + * tests/SOCK_Connector_Test.cpp (host_is_up): don't define + this function ifdef ACE_LACKS_GETHOSTENT, because it isn't + used in that case. + +Sat Sep 19 14:29:56 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/OS.i (fstat): Removed the "::" in front of the fstat() call + since it's implemented as a macro on some platforms. Thanks to + Frank Adcock <frank@bushlife.com.au> for reporting this. + + * examples/Bounded_Packet_Relay: Updated the coding style. + +Sat Sep 19 14:06:52 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * apps/JAWS/PROTOTYPE/JAWS/IO.cpp: Fixed typo. + + * apps/JAWS/PROTOTYPE/JAWS/jaws.dsp: + * apps/gperf/src/gperf.dsp: + * ace/ace_dll.dsp: + * netsvcs/clients/Naming/Client/Client_Test.dsp: + * netsvcs/lib/netsvcs.dsp: + Changed behavior of all DLL projects and utilities (like + gperf) to put the dll and executables in $ACE_ROOT/bin. + + * ace/config-win32.h: ACE_HAS_GPERF is back. + + * ACE-INSTALL.html: On NT, $ACE_ROOT/bin should now be in + your path instead of $ACE_ROOT/ace. + +Sat Sep 19 12:27:31 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Asynch_IO.cpp: thread_function() is only for UNIX. + +Sat Sep 19 10:43:41 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/Asynch_IO.cpp (open): Fixed the build errors with WIN32. + +Sat Sep 19 09:02:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu> + + * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp} + examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp} + examples/Bounded_Packet_Relay/bpr_thread.cpp + examples/Bounded_Packet_Relay/Makefile + examples/Bounded_Packet_Relay/README: + + First checkin of bounded packet relay example + (very rough, does not even compile yet) + +Sat Sep 19 00:42:53 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/Asynch_IO.cpp: Fixed NT warnings (hopefully :-) + +Fri Sep 18 22:50:21 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Thread_Manager.{h,i,cpp}: Added a join method to reclaim + OS/ACE resources that are used to managed thread object. I + encourage all ACE programmers to use ACE_Thread_Manager::join to + wait for threads spawned by ACE_Thread_Manager. It is more + portable than ACE_Thread (most significantly, wrt resource + management.) + (wait_grp,wait_task): Improved and corrected the + implementations. These two methods now also clean up resources + used by threads that has already terminated when the calls get + invoked. + + Changed the terminated_thr_queue_ to terminated_thr_list_ which + is now a double-linked list. This change allows us to + gather/cleanup infomation of threads belong to same group/task + in one pass. + + ACE_Thread_Manager::exit now tests the thread status to see if + ACE_THR_JOINING is set or not. If set, it means the thread is + being joined by join/wait_grp/wait_task and avoid double + removing the thread resources from OS. + + * ace/OS.h (ACE_Thread_State): Added ACE_THR_JOINING to identify + threads that are being joined by the Thread Manager. + + * ace/Container_T.{h,cpp} (ACE_Double_Linked_List): Added several + dynamic_cast in several places so we can generate code for both + base class and derived class. + (ACE_Double_Linked_List_Iterator): Added a method + "advance_and_delete" to allow removing double-linked list + element while iterating thru the list. The design is very + intrusive and you should know what you are doing before using + the method. Notice that ACE_Double_Linked_List is _not_ a + general purpose Container class. + + * tests/run_tests.bat: Added DLList_Test. + +Fri Sep 18 18:06:19 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/Asynch_IO.h: + * ace/Asynch_IO.cpp: + * examples/Reactor/Proactor/test_proactor.cpp: + Implemented Asynch_Accept for POSIX4 systems, by having only one + thread doing <handle_events>. Asynch_Accept_Handler has been + changed to act as Event Handler now. No problem of having threads + blocking on the <accept> now. Thanks to Irfan for this idea. + +Fri Sep 18 13:26:50 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/High_Res_Timer_Test.cpp (check): raised success + threshold from 10 to 25 percent. Ossama saw just over + 10 percent on an Linux box, not surprising. Thanks to + him for reporting it. + + * ace/SOCK_Dgram_Mcast.cpp (unsubscribe): on other than ACE_WIN32, + added ACE_UNUSED_ARGs for protocol_family and protocol. Thanks + to Peter Liqun Na <liqunna@cs.sunysb.edu> for reporting this. + + * ace/OS.cpp (ACE_TSS_Emulation_cleanup): added ACE_UNUSED_ARG (ptr). + + * bin/make-release: enter version number(s) into BUG-REPORT-FORM. + Thanks to Steve for this suggestion. + +Fri Sep 18 01:53:38 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.40 released. + +Fri Sep 18 01:51:46 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/ACE (open_temp_file): Changed the signature of this method + to take a const char * rather than a char *. + +Fri Sep 18 00:07:31 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/ACE.h (ACE): + * ace/ACE.cpp (open_temp_file): Added this method to do open for + the temp files, so that they will get deleted when they are + closed. + Thanks to Nanbor and Carlos. + +Thu Sep 17 23:01:50 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Containers.i: resurrected the file properly. + + * ace/Containers.i (~ACE_DLList_Node): removed extraneous ; + following function definition. + +Thu Sep 17 22:44:17 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: If the client + doesn't connect to the server, make sure to shut down the test + gracefully, rather than getting a segfault. Thanks to + Margherita Vittone Wiersma <vittone@fndaub.fnal.gov> for + reporting this. + +Thu Sep 17 22:33:00 1998 James CE Johnson <jcej@chiroptera.tragus.org> + + * docs/tutorials/index.html + docs/tutorials/templates.html + + Added templates.html to discuss issues surrounding manual vs + automatic template instantiation. + +Thu Sep 17 20:01:33 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/tests.dsw: + * tests/version_tests.dsw: + * tests/[version_tests/]High_Res_Timer_Test.dsp: + * tests/[version_tests/]DLList_Test.dsp: Added new project files. + +Thu Sep 17 19:27:11 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp (TSS_base,some ACE_PSOS_Time_t functions): + removed ACE_INLINE. + + * examples/Shared_Malloc/test_malloc.cpp (gen_size): cast + &seed to unsigned long first, to avoid warning about + narrowing on Alphas (cxx/DU 4.0). + +Thu Sep 17 18:51:08 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * examples/Reactor/Multicast/server.cpp: + * examples/Reactor/Multicast/Log_Wrapper.cpp: + * examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp: + Revert back to iovec instead of ACE_IO_Vector. + +Thu Sep 17 18:33:19 EDT 1998 James CE Johnson <jcej@lads.com> + + * docs/tutorials/002/server.pp + + Added necessary templates for explicit instantiation. + Thanks to Krishna Padmasola for providing the proper code + and to Clinton Carr for reminding me to do it! + +Thu Sep 17 16:30:00 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * This comments were lost in a previous commit. + + * ace/OS.h: + * ace/OS.i: + * ace/ACE.cpp: + * ace/ACE.h: + * ace/DEV_IO.cpp: + * ace/DEV_IO.h: + * ace/DEV_IO.i: + * ace/FIFO_Send_Msg.cpp: + * ace/FILE_IO.cpp: + * ace/FILE_IO.h: + * ace/FILE_IO.i: + * ace/LSOCK.cpp: + * ace/LSOCK_Stream.cpp: + * ace/LSOCK_Stream.h: + * ace/SOCK_Dgram.cpp: + * ace/SOCK_Dgram.h: + * ace/SOCK_Dgram_Bcast.cpp: + * ace/SOCK_Dgram_Bcast.h: + * ace/SOCK_Dgram_Mcast.h: + * ace/SOCK_Dgram_Mcast.i: + * ace/SOCK_IO.cpp: + * ace/SOCK_IO.h: + * ace/SOCK_IO.i: + * ace/SPIPE_Stream.cpp: + * ace/SPIPE_Stream.h: + * ace/SPIPE_Stream.i: + Moved back to iovec instead of ACE_IO_Vector. Since this + structure is defined by ACE we can make it binary compatible + with the WSABUF structure (yet preserve the names of the UNIX + iovec struct). This allow us to simply pass arrays of iovec to + routines expecting WSABUF*. + But Win32 does not provide any functions to go scatter-gather + over files, so this is only used for sockets, new methods: + ACE_OS::sendv() and ACE_OS::recvv() were added for this + purpose, the old emulation is used for the other classes. Users + writing to higher-level components (such as ACE_SOCK or + ACE_SOCK_Dgram) will benefit from this without any changes to + their code. + + * ace/SOCK_Dgram.cpp: + * ace/SOCK_Dgram.h: + * ace/SOCK_Dgram_Bcast.cpp: + * ace/SOCK_Dgram_Bcast.h: + * ace/SOCK_Dgram_Mcast.h: + * ace/SOCK_Dgram_Mcast.i: + Added the implementation for some send() variants that were + declared but not implemented. + + * ace/OS.h: + * ace/OS.i: + * ace/config-win32-common.h: + Added support for sendmsg() and recvmsg() on NT, emulated over + WSASendTo() and WSARecvFrom(), do data copies are made. + + * ace/Containers.cpp: + * ace/Containers.h: + * ace/Containers_T.h: + * ace/Containers_T.i: + Moved the non-templated code back to Containers.{h,i,cpp}, added + the infamous ACE_Export macro. + + * ace/ace_dll.dsp: + Added Containers.cpp to the project. + +Thu Sep 17 11:23:49 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/OS: Modified ACE_THR_FUNC so that its signature is always + void *(*)(void *). We now have a new type called + ACE_THR_FUNC_INTERNAL that is defined for each different OS + platform, e.g., VxWorks, pSoS, et al. + + * examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp (run_server): Oops, + we can't use ACE_THR_FUNC here since that has a different + signature on VxWorks. So we'll just expand this a bit. Thanks + to Raja Ati <rati@jupiter.montereynets.com> for reporting this. + +Thu Sep 17 09:54:56 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Svc_Handler.cpp (new): cleaned up the ACE_ASSERT check + for ACE_Dynamic::instance () not being null. + + * docs/ACE-guidelines.html: added guideline to define ACE_ + typedefs to reduce the number of #ifdefs. Thanks to + Carlos and Doug for this suggestion, and Chris for the + example :-). + + * examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp (run_event_loop): + added casts to ACE_THR_FUNC to please VxWorks. Thanks to + Raja Ati <rati@montereynets.com> for reporting this problem. + + It would probably be better to change the definition of + ACE_THR_FUNC on VxWorks (and PSOS) to be the same as on + other platforms. That will require other changes, though. + + * examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp: + removed trailing ; from instantiation #pragma. + + * ace/config-lynxos.h: added ACE_HAS_TSS_EMULATION. + +Thu Sep 17 09:23:01 1998 Carlos O'Ryan <coryan@JIG> + + * ace/FIFO_Send_Msg.cpp: + Fixed variable declaration, "struct ACE_IO_Vector_Base" is not + the same as "ACE_IO_Vector_Base". + + * ace/OS.i: + Fixed the ACE_OS::rand_r() signature for Win32. + + * ace/SOCK_Dgram_Mcast.cpp: + Fixed some problems with the Win32 implementation of + unsubscribe(). + +Thu Sep 17 08:41:14 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * examples/Shared_Malloc/test_malloc.cpp: + Fixed some problems with my changes to rand_r() + + * ace/Containers.i: + Resurrected this file to avoid problems with dependencies in + TAO. + +Thu Sep 17 08:41:24 1998 Steve Huston <shuston@riverace.com> + + * include/makeinclude/platform_hpux_gcc.GNU: Added -L. to LDFLAGS. + Thanks to Anne Blankert <anne@geodan.nl> for this fix. + +Thu Sep 17 07:31:13 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.i (truncate): added ACE_UNUSED_ARGs for NOTSUP case. + +Thu Sep 17 02:45:53 PDT 1998 James Hu <jxh@entera.com> + + * ace/Containers_T.h: + * ace/Containers_T.i: + * ace/Containers_T.cpp: + Added these files so that I could include some explicit + template instantiations inside Containers.cpp. Removed + #if guards around ACE_DLList since it no longer relies + on the feature that was being guarded against. + + * ace/Containers.h: + Simply #includes Containers_T.h. + + * ace/Containers.cpp: + Only contains some explicit template instantiations. + + * ace/Containers.i: + Removed, since it was no longer needed. + +Thu Sep 17 01:20:53 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Msg_WFMO_Reactor.cpp (dispatch_window_messages): There was a + slight problem in Msg_WFMO_Reactor.cpp when ACE coexists with + MFC. Basically the dispatch_window_messages routine simply + returns -1 when the WM_QUIT message is received. However, if + the WFMO_Reactor and the MFC application run on the different + threads the main thread would never shut down since it just keep + waiting forever for the Quit message from other threads. The + easiest way to fix the above problem to call PostQuiteMessage + when WM_QUIT is received by WFMO_Reactor. + + Thanks to Hongbo Xu <hxu@mas.co.nz> for fixing this. + + * ace/OS.i (open): No need to find the file size since + SetFilePointer supports FILE_END. Also fixed the UNICODE + version of ACE_OS::open(). + +Wed Sep 16 22:52:44 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * examples/Reactor/Multicast/server.cpp: + * examples/Reactor/Multicast/Log_Wrapper.cpp: + * examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp: + Use ACE_IO_Vector instead of iovec because it is more portable. + +Wed Sep 16 22:17:54 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/OS.h: + * ace/DEV_IO.cpp: + * ace/DEV_IO.h: + * ace/DEV_IO.i: + * ace/FIFO_Send_Msg.cpp: + * ace/FILE_IO.cpp: + * ace/FILE_IO.h: + * ace/FILE_IO.i: + * ace/LSOCK.cpp: + * ace/LSOCK_Stream.cpp: + * ace/LSOCK_Stream.h: + * ace/SOCK_Dgram.cpp: + * ace/SOCK_Dgram.h: + * ace/SOCK_Dgram_Bcast.h: + * ace/SOCK_Dgram_Mcast.cpp: + * ace/SOCK_Dgram_Mcast.h: + * ace/SOCK_Dgram_Mcast.i: + * ace/SOCK_IO.cpp: + * ace/SOCK_IO.h: + * ace/SOCK_IO.i: + * ace/SPIPE_Stream.cpp: + * ace/SPIPE_Stream.h: + * ace/SPIPE_Stream.i: + More iovec to ACE_IO_Vector_Base conversion. + + * ace/Containers.i: + The ACE_DLList_Node and ACE_DLList_Iterator class are protected + by a !defined (ACE_LACKS_TEMPLATE_AS_TEMPLATE_PARAMETER), so + should be their inline methods. + + * ace/SOCK_Dgram_Mcast.cpp: + * ace/SOCK_Dgram_Mcast.h: + * ace/SOCK_Dgram_Mcast.i: + Added a generic unsubscribe() method. + +Wed Sep 16 21:45:48 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/ACE.{h.cpp}: Changed some iovecs to ACE_IO_Vector_Base. + + * ace/config-win32.h: Commented out ACE_HAS_GPERF until we get + everything working with it. + +Wed Sep 16 21:43:07 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.i (open): Added SetFilePointer to move the file pointer + of the opened file to end of file if _O_APPEND is specified on + Win32. + +Wed Sep 16 20:42:16 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/OS: Added a typedef for ACE_IO_Vector_Base so that it will + shield the differences between Win32 and UNIX. + +Wed Sep 16 20:09:01 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/OS.h: + * ace/OS.i: + ACE_OS::rand_r() is easier to use now. Just define a variable of + that type and invoke ACE_OS::rand_r() with it, it even works on + broken platforms that define it as a non-pointer. + This is a brief example on how to use it: + ACE_RANDR_TYPE seed; + int r1 = ACE_OS::rand_r (seed); + int r2 = ACE_OS::rand_r (seed); + +Wed Sep 16 17:46:23 PDT 1998 James Hu <jxh@entera.com> + + * ace/Containers.{h,i}: Added comments to DLList as per Doug's + request. + +Wed Sep 16 19:23:21 1998 Steve Huston <shuston@riverace.com> + + * ace/config-hpux-11.x-hpc++.h: Moved ACE_HAS_DIRENT to config-hpux11.h + +Wed Sep 16 18:21:45 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Containers.h: Reformatted the ACE_DLList* classes to conform + to ACE programming conventions. + + * ace/config-hpux-11.x-hpc++.h: Added ACE_HAS_DIRENT and + ACE_HAS_GPERF to appease John Mulhern. + + * ace/Asynch_Acceptor.cpp: Added ACE_reinterpret_cast()s to the + sockaddr *'s to appease aCC on HP/UX 11. Thanks to John Mulhern + for reporting this. + +Wed Sep 16 17:16:51 EDT 1998 James CE Johnson <jcej@lads.com> + + * docs/tutorials/012/Makefile + docs/tutorials/012/data.h + docs/tutorials/012/message_queue.cpp + docs/tutorials/012/page01.html + docs/tutorials/012/page02.html + docs/tutorials/012/page03.html + docs/tutorials/012/page04.html + docs/tutorials/012/page05.html + docs/tutorials/012/page06.html + docs/tutorials/012/task.cpp + docs/tutorials/012/task.h + docs/tutorials/index.html + + Tutorial 12. This corrects some of the nastyness + in number 11 by specializing the ACE_Message_Block + to carry around the data. + +Wed Sep 16 16:01:53 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Select_Reactor_T.{h,i,cpp}: Disable inlining in + Select_Reactor_T.i and always include them in .cpp file. The + latest version of SunCC can't grok this particular file and we + just turn it off here. We shall turn it back on once the + problem gets fixed. Thanks to Keith Brown + <kalbrown@ix.netcom.com> for providing this temporary fix. + +Wed Sep 16 13:41:50 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/OS.h: Added more protection for the semun definition, i.e., + (defined (__GLIBC__) && defined (_SEM_SEMUN_UNDEFINED)). This + fixes problems with Linux, GLIBC 2.1, and PGCC. Thanks to + Marc Lehmann <pcg@goof.com> for reporting this. + +Wed Sep 16 11:41:57 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/High_Res_Timer.cpp: added ACE_HAS_POWERPC_TIMER support. + + * tests/High_Res_Timer_Test.cpp: added this new test. + + * tests/Makefile,run_tests.{bat,psosim,sh,vxworks}: + added High_Res_Timer_Test. + + * ace/OS.* (readPPCTimer): unlined readPPCTimer for + PowerPC. If it was called more than once in a + compilation unit, when inlined, the assembler complained + about multiple definitions of the aclock symbol. + + * ace/Malloc_T.cpp (dump): fixed typo, cb_ptr instead of + cp_ptr. Thanks to Umar Syyid <usyyid@hns.com> for reporting this. + + * tests/TSS_Test.cpp (worker): allow second group of TSS keys to + be allocated, with TSS emulation. + + * ace/Svc_Handler.cpp (new): added check that + ACE_Dynamic::instance () is non-null before dereferencing it. + ACE_ASSERT/return 0 if it is null. + +Wed Sep 16 11:28:47 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp: In + general, using iostreams in ACE causes more problems for us than + it is worth since some systems do not support iostreams. I have + rewritten this file to not use iostreams but use + ACE_DEBUG/ACE_ERROR instead. + +Wed Sep 16 10:49:34 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * bin/auto_compile: Updated to the new directory hierarchy in TAO. + +Wed Sep 16 09:46:31 1998 Steve Huston <shuston@riverace.com> + + * ace/config-hpux-10.x.h: Added ACE_HAS_DIRENT. + +Tue Sep 15 20:25:23 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/test_config.h: Always #undef ACE_NLOGGING so the tests + will produce output! Thanks to Chuck Gehr for reporting this. + + * ace/OS.i: Added a new ACE_LACKS_TRUNCATE flag to work around + platforms that lack the truncate() call. Thanks to + Sergio for reporting this. + +Tue Sep 15 17:57:26 1998 Sergio Flores <sergio@tango.cs.wustl.edu> + + * ace/config-vxworks5.x.h: Added ACE_LACKS_TRUNCATE to VxWorks + configuration. + +Tue Sep 15 16:58:18 1998 Nagarajan Surendran <naga@cs.wustl.edu> + + * include/makeinclude/platform_chorus_ghs.GNU: Changed the + MVME_DIR to /project/doc/mvme/mvme177. + + * ace/ARGV.cpp (ACE_ARGV::argv_to_string): Fixed the problem where + we were allocating space only for the length of the string whereas + strecpy was inserting the extra '\0' leading to Array bounds write. + +Tue Sep 15 16:34:47 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.i (gethrtime): added high-res timer support with + g++ and ACE_HAS_POWERPC_TIMER. + + * ace/OS.{h,cpp},config-vxworks5.x.h,README: changed ACE_HAS_POWERPC + to ACE_HAS_POWERPC_TIMER. + + * ace/config-lynxos.h: added ACE_HAS_PENTIUM, to provide + high-res timer support on LynxOS. + +Tue Sep 15 13:33:26 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/config-{WinCE,g++-common}.h: + * ace/OS.{h,i,cpp}: Deprecated ACE_LACKS_GETS and ACE_OS::gets (void). + + * apps/gperf/src/gperf_lib.dsp: Enabled c++ exception handling to + avoid warning when compiling with standard c++ libraries. + +Tue Sep 15 11:22:53 1998 Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> + + * ace/OS.{h, i}: + + Added definition for the "stat" data structure. Also added the + definition for the "truncate" function. + +Mon Sep 14 23:28:24 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.39 released. + +Mon Sep 14 21:46:36 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Containers.h: added "class" to several ACE_DLList friend + declarations. + +Mon Sep 14 21:02:30 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Mem_Map.cpp (map_it): Removed the code for + !ACE_HAS_P_READ_WRITE since we cover it in ACE_OS::pwrite. + + * ace/Filecache.cpp (ACE_Filecache_Object): Changed the + lseek/write combo to pwrite. + +Mon Sep 14 17:09:04 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/config-win32-common.h,OS.h,README: Removed all mention of + ACE_LACKS_FIFO, which was no longer necessary. Thanks to Ossama + Othman <othman@astrosun.tn.cornell.edu> for suggesting this. + + * ace/ACE.cpp (bind_port): Renamed sin to sock_addr to make the + autoconf script happier. Thanks to Ossama Othman + <othman@astrosun.tn.cornell.edu> for suggesting this. + + * include/makeinclude/platform_mvs.GNU: Updated the MVS platform + configuration as follows: + + changed: + debug = 1 + to: + debug = 0 + + added: + static_libs = 1 + + and deleted the line: + CCFLAGS += $(CFLAGS) + + Thanks to Chuck Gehr <GehrCR@LOUISVILLE.STORTEK.COM> for these + changes. + +Mon Sep 14 14:34:32 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * apps/gperf/src/gperf.dsp: + * apps/gperf/src/gperf_lib.dsp: + Fixed the project by removing new.cpp (which disappeared a + while back) and changed the code generation to DLL. Now + seems to work on NT. + + * ace/config-win32.h: ACE_HAS_GPERF now on NT. + +Mon Sep 14 13:41:26 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/OS: Fixed qsort() and bsearch() so they work correctly for + MVS. Thanks to Chuck Gehr for reporting this. + + * ace/config-mvs.h: Added + + #define ACE_HAS_DIRENT + #define ACE_LACKS_READDIR_R + + so that things will work correctly for MVS. Thanks to Chuck + Gehr for reporting this. + +Mon Sep 14 10:11:18 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ace_ce_dll.dsp: Added Select_Reactor_Base.cpp and removed + Array.cpp from the project. Thanks to Paul Sexton + <pauls@ENTERPRISE.bt.co.uk> for noticing this. + + * ace/config-WinCE.h: Added ACE_LACKS_BSEARCH. + + * ace/OS.h: Added /**/ between #include and <ace/sys_conf.h> in + pSOS section to prevent a MSVC warning. + + * ace/OS.i (bsearch): If the function is not supported by the + platform, return NULL instead of -1 so it behaves compatibly + with most common implementation. + +Mon Sep 14 09:37:09 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Synch_T.h: Fixed a deadlock condition caused by acquiring + the internal lock in multiple places during the same call. + Thanks to Jorn Jensen <jornj@funcom.com> for reporting this. + +Mon Sep 14 01:59:51 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Strategies_T.{h,i,cpp}: Added two new classes + ACE_Thread_Pool_Strategy and ACE_Svc_Handler_Pool_Strategy for + activating and creating Svc_Handler. They should be used with + the new TP_Reactor. More to come... + +Sun Sep 13 22:31:23 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.38 released. + +Sun Sep 13 18:36:11 EDT 1998 James CE Johnson <jcej@.lads.com> + + * docs/tutorials/006/notify.cpp + No longer applicable. This used spawn() to create the + thread but the new version uses an ACE_Task<> derivative. + + * docs/tutorials/006/Makefile + Removed dependency info. + + * docs/tutorials/007/thread_pool.cpp + Removed THR_DETACHED from activate() call. I need a + better understanding of when to include this flag... + + * docs/tutorials/index.html + Setting up new Message_Queue entry points. + + * docs/tutorials/010/Makefile + docs/tutorials/010/block.h + docs/tutorials/010/message_queue.cpp + docs/tutorials/010/page01.html + docs/tutorials/010/page02.html + docs/tutorials/010/page03.html + docs/tutorials/010/page04.html + docs/tutorials/010/page05.html + docs/tutorials/010/page06.html + docs/tutorials/010/page07.html + docs/tutorials/010/task.cpp + docs/tutorials/010/task.h + + A tutorial showing a simple use of the ACE_Message_Queue. + + * docs/tutorials/011/Makefile + docs/tutorials/011/block.h + docs/tutorials/011/data.h + docs/tutorials/011/message_queue.cpp + docs/tutorials/011/page01.html + docs/tutorials/011/page02.html + docs/tutorials/011/page03.html + docs/tutorials/011/page04.html + docs/tutorials/011/page05.html + docs/tutorials/011/page06.html + docs/tutorials/011/task.cpp + docs/tutorials/011/task.h + + Extension of 010 adds queue-ing of non-trivial data. + + +Sun Sep 13 16:29:27 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Select_Reactor_T.h: + Use the ACE_UNIMPLETED_FUNC to make the code work on older + versions of IRIX + +Sat Sep 12 22:39:47 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/ACE.i: There was a bug with strecpy() -- it should return a + pointer to 1 byte PAST the '\0'... + +Sat Sep 12 21:43:07 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Timer_Hash.cpp: Removed the #pragma template instantiation + for ACE_Timer_Node_T<ACE_Event_Handler *> because it is already + instantiated in Timer_Queue.cpp. Thanks to Sergio for noticing + this. + +Sat Sep 12 16:30:39 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Dirent.cpp: Renamed the methods to be more "abstract" by + removing the "dir" suffixes. + + * ACE-INSTALL.html: Fixed a broken link. Thanks to Tom Shields + <Shields@MarsHotel.CMPU.NET> for reporting this. + + * ace/OS.h (ACE_OS): Added wrappers for the passwd iterator. + + * ace/OS.h (ACE_OS): Added wrappers for qsort() and bsearch(). + + * ace/README: Reformatted this file and also changed + ACE_REQUIRES_FUNC_DEFINITIONS + ACE_NEEDS_READV + ACE_NEEDS_SCHED_H + ACE_NEEDS_SYSTIME_H + ACE_NEEDS_WRITEV + + to + + ACE_NEEDS_FUNC_DEFINITIONS + ACE_LACKS_READV + ACE_LACKS_SCHED_H + ACE_LACKS_SYSTIME_H + ACE_LACKS_WRITEV + + respectively. + +Sat Sep 12 19:18:18 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.i (qsort): Fixed a typo. And removed "return" for this + is a void function. + +Sat Sep 12 13:13:39 EDT 1998 James CE Johnson <jcej@lads.com> + + docs/tutorials/003/Makefile + Removed dependency stuff since installations may vary + + docs/tutorials/003/client.cpp + docs/tutorials/003/page01.html + docs/tutorials/004/Makefile + docs/tutorials/004/client.cpp + docs/tutorials/004/page01.html + + Converted to new style with embedded comments instead of + line-numbered comments. + +Fri Sep 11 22:46:54 EDT 1998 James CE Johnson <jcej@lads.com> + + docs/tutorials/001/Source.tgz + docs/tutorials/001/acceptor.h + docs/tutorials/001/logger.h + docs/tutorials/001/page02.html + docs/tutorials/001/page03.html + docs/tutorials/001/page04.html + docs/tutorials/001/page05.html + docs/tutorials/001/server.cpp + docs/tutorials/002/Makefile + docs/tutorials/002/handler.h + docs/tutorials/002/page01.html + docs/tutorials/002/page02.html + docs/tutorials/002/page03.html + docs/tutorials/002/page04.html + docs/tutorials/002/server.cpp + + Updated to "new style". Corrected issues with Reactor + based on recent mailing list discussions. + +Fri Sep 11 12:30:37 1998 Nagarajan Surendran <naga@cs.wustl.edu> + + * ace/config-chorus.h: Uncommented ACE_LACKS_SYSV_SHMEM as ace + didn't compile on Chorus with that commented out. + +Fri Sep 11 09:02:00 CDT 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/OS.{h,i} + ace/Containers.{cpp,h} + ace/config-psos-diab.h + include/makeinclude/platform_psos_diab.GNU: + Fixes to compile pSOS - added #if ! defined around new templates + as template parameters stuff in Config.* (Diab compiler can't + grok these), played with library linkage order platform macros. + +Fri Sep 11 08:54:41 EDT 1998 James CE Johnson <jcej@lads.com> + + * docs/tutorials/001/logger.h + Logging_Handler::open() should return 0 on success. + + * docs/tutorials/002/server.cpp + docs/tutorials/002/page02.html + Provide 'g_reactor' to the acceptor's open(). If you + don't do this, the app will core dump on ^C + + Thanks to Krishna Padmasola <pkrishna@cybercash.co.in> for + helping me see these. + +Thu Sep 10 16:53:21 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * tests/Upgradable_RW_Test.cpp: + Some templates were instantiated twice if threads were enabled. + +Thu Sep 10 13:41:53 1998 David L. Levine <levine@cs.wustl.edu> + + * config-sunos4-sun3.x.h,config-tandem.h,README: removed + ACE_HAS_SYSV_SPRINTF because it's no longer used. Thanks + to Ossama for reporting this. + +Thu Sep 10 10:18:29 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp (run_event_loop): + Changed to use ACE_Handle_Set instead of FD_SET. It is more + portable this way. Thanks to Andre Folkers + <folkers@informatik.mu-luebeck.de> for noticing this. + +Wed Sep 09 16:29:36 1998 David L. Levine <levine@cs.wustl.edu> + + * BUG-REPORT-FORM,Makefile: added BUG-REPORT-FORM. Thanks + to Susan Liebeskind <shl@cc.gatech.edu> for the form. + +Wed Sep 9 13:22:11 1998 James Hu <jxh@entera.com> + + * ace/Containers.h: + * ace/Containers.cpp: Added a new container class ACE_DLList. + +Tue Sep 8 23:17:11 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Thread_Mutex_Test.cpp (test): + * tests/Priority_Buffer_Test.cpp (consumer): Changed the + do-nothing if statements to ACE_UNUSED_ARG because NT doesn't + like that. Thanks to David for clarifying this. + +Tue Sep 8 21:45:32 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * *.{dsp,dsw}: Updated for VC 6. + +Tue Sep 8 21:31:32 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/config-irix6.x-sgic++-nothreads.h: + Added ACE_HAS_DIRENT and support for the envinfo tool. + +Tue Sep 08 18:54:28 1998 Steve Huston <shuston@riverace.com> + + * ace/OS.h: Removed definitions of PTHREAD_DETACHED, PTHREAD_FLOAT, + PTHREAD_INHERIT_SCHED from the ACE_HAS_PTHREADS_DRAFT6 section of + mapping draft 6 names into the pthreads standard names. The first + two aren't used anywhere and the third is already defined on the + known draft 6 platforms. Thanks to Chuck Gehr and Arturo Montes for + helping to straighten this out. + +Tue Sep 8 15:10:42 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * tests/Makefile: + Updated dependencies. + +Tue Sep 8 13:16:37 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/config-sco-5.0.0.h: Added ACE_HAS_GPERF at the bequest + of Arturo. + +Tue Sep 08 10:25:48 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace_{dll,lib}.dsp: Changed the process type to "Blend*" which + make the project to work on any type of intel processors. + However, this disable the bug-fix to get around the infamous + Pentium floating point problem. + + * netsvcs/lib/netsvcs.dsp: + * netsvcs/servers/servers.dsp: Perform VC 6 modification. + +Tue Sep 08 07:28:05 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.i (readdir_r): don't use the POSIX.1c ::readdir_r on + suns without _POSIX_PTHREAD_SEMANTICS. + + * include/makeinclude/wrapper_macros.GNU: added + ACE_HAS_GNUG_PRE_2_8 macro. Use it for determining + exceptions-related flags with g++. It can also be used to + suppress builds with old (pre-2.8) versions of g++; see + TAO/tests/POA/TIE/Makefile for an example. + + * apps/Gateway/Gateway/File_Parser.cpp (getint): + egcs 1.1b can't handle the FP_RETURN_TYPE typedef. So, + use FP::Return_Type with __GNUG__. + + * ace/config-chorus.h: added ACE_HAS_DIRENT and + ACE_LACKS_READDIR_R. + + * ace/config-lynxos.h: don't use ACE_HAS_STRING_CLASS with + LynxOS >= 3.0.0. It requires that libg++ be linked in + to the IOStream tests. + + * docs/ACE-guidelines.html: notify via email if a particular + individual's attention is needed to address a comment in the code. + + * ace/Basic_Types.h: corrected comment: the dump method + is named output, because it takes an argument. + +Mon Sep 7 22:12:02 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/config-freebsd.h: Added ACE_HAS_SIGINFO_T, + ACE_LACKS_SIGINFO_H, ACE_LACKS_UCONTEXT_H, ACE_LACKS_SI_ADDR and + ACE_HAS_DIRENT. + + * ace/config-freebsd-pthread.h: + * ace/config-linux-common.h: Added ACE_HAS_DIRENT. + +Mon Sep 7 12:39:10 EDT 1998 James CE Johnson <jcej@lads.com> + + docs/tutorials/008/page01.html + docs/tutorials/008/page02.html + docs/tutorials/008/page03.html + docs/tutorials/008/page04.html + docs/tutorials/008/page05.html + docs/tutorials/009/Makefile + docs/tutorials/009/broadcast_client.cpp + docs/tutorials/009/directed_client.cpp + docs/tutorials/009/page01.html + docs/tutorials/009/page02.html + docs/tutorials/009/page03.html + docs/tutorials/009/page04.html + docs/tutorials/009/page05.html + docs/tutorials/009/server.cpp + + Cleanup on Tutorial 008 and creation of Tutorial 009 which expands + 008 by making the server more selective in who it responds to. + +Mon Sep 7 10:06:54 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/ACE.h (ACE): Moved strnew (wchar_t *) into an ACE_WIN32 + section to protect it properly. Thanks to David Levine for + reporting this. + + * ace:config-sco-*.h: Added ACE_HAS_DIRENT on the advice of Arturo + Montes <mitosys@colomsat.com.co>. + +Mon Sep 07 09:52:12 1998 David L. Levine <levine@cs.wustl.edu> + + * docs/ACE-guidelines.html: added general rule to put system + call wrappers in ACE_OS, extensions in ACE. + + * ace/config-osf1-4.0.h: added ACE_HAS_DIRENT and + _POSIX_PTHREAD_SEMANTICS. The latter was necessary + to tell ACE_OS::readdir_r () to use the three-arg + ::readdir_r (). + + * ace/config-lynxos.h: added ACE_HAS_DIRENT. + + * ace/Log_Msg.cpp (log): initialized local "c" to '\0' so that + egcs 1.1b won't complain that it might be used without + initialization. + + * ace/OS.i,ace/config-osf1-4.0.h (readdir_r): use + ACE_HAS_PTHREADS_STD instead of _POSIX_PTHREAD_SEMANTICS to + select the three-arg ::readdir_r (). + + * ace/config-vxworks.h: added ACE_HAS_DIRENT. + + * ace/OS.i,config-vxworks5.x.h (readdir_r,rewinddir,seekdir,telldir), + README: + added support for ACE_LACKS_READDIR_R, ACE_LACKS_SEEKDIR, and + ACE_LACKS_TELLDIR. + + * ace/OS.i (opendir): added const_cast to remove constness + from the argument, because VxWorks' header doesn't declare + it const. This shouldn't cause a problem on other platforms. + +Mon Sep 7 01:02:58 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/ACE.i: Changed ACE_INLINE to ASYS_INLINE. + + * ace/OS.h: Added a no-op type define for DIR and struct + dirent so compilation can continue on NT. + + * ace/ace_dll.dsp: + * ace/ace_lib.dsp: + Added new dirent.* files and removed Array.{cpp,i} files. + +Sun Sep 6 15:49:46 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/ACE: Added several new helper string functions, which were + mined from the drwho program. + + * ace/OS: Moved strnew() into class ACE, which is where it + belongs... + + * ace/Containers: Merged the ACE_Array class entirely into the + Containers files, which is more consistent with the general + design of ACE. Also, removed ace/Array.i and Array.cpp since + they are no longer needed. We'll keep Array.h around for a + while for backwards compatibility, but it just #includes + "ace/Containers.h" now... + + * ace/config-sunos5*.h: Added ACE_HAS_DIRENT. We'll need help + figuring this out on the other platforms... + + * ace/OS: Began adding "Dirent" support to ACE_OS. This will + provide the UNIX/POSIX directory iterator routines when the + ACE_HAS_DIRENT macro is enabled. + + * ace/OS: Added fputs() to ACE_OS. I'm not sure why this was + missing... + + * ace/Makefile (FILES): Moved Priority_Reactor to earlier in + the Makefile to maintain alphabetical order. + +Sun Sep 6 14:06:43 1998 Douglas C. Schmidt <schmidt@cumbia.cs.wustl.edu> + + * ace/OS.h: Moved the ACE_NEW_THROW macros that Matt Braun wrote + into ACE so that we can use these in all applications. + +Sun Sep 06 12:28:40 1998 Fred Kuhns <fredk@arl.wustl.edu> + + * Added a simple reactor/acceptor figure to the first tutorial + docs/tutorial/001/simple.* + +Sun Sep 06 08:34:57 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-g++-common.h,ace/README,tests/Conn_Test.cpp: + renamed ACE_HAS_OLD_GNUG to ACE_HAS_GNUG_PRE_2_8. + +Sat Sep 5 15:31:33 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace: Removed ACE_HAS_IRIX_GETTIMEOFDAY and all of its uses + throughout ACE. It was no longer necessary. Thanks to Ossama + for reporting this. + + * ace/Synch.h: Added a "no-op" ACE_Barrier for cases where we + don't have ACE_HAS_THREADS enabled. + +Sat Sep 5 15:25:33 EDT 1998 James CE Johnson <jcej@lads.com> + + docs/tutorials/index.html + docs/tutorials/008/Makefile + docs/tutorials/008/server.cpp + docs/tutorials/008/broadcast_client.cpp + docs/tutorials/008/directed_client.cpp + docs/tutorials/008/page01.html + docs/tutorials/008/page02.html + docs/tutorials/008/page03.html + docs/tutorials/008/page04.html + docs/tutorials/008/page05.html + docs/tutorials/008/CVS/Root + docs/tutorials/008/CVS/Repository + docs/tutorials/008/CVS/Entries + docs/tutorials/009/Makefile + docs/tutorials/009/broadcast_client.cpp + docs/tutorials/009/directed_client.cpp + docs/tutorials/009/server.cpp + docs/tutorials/009/CVS/Root + docs/tutorials/009/CVS/Repository + docs/tutorials/009/CVS/Entries + + Began the next set of tutorials on the topic of Datagrams. + Thanks to Jeff Hellzen for this suggestion. + +Fri Sep 4 18:56:36 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Name_Proxy.cpp: + Fixed spurious double assignment (int foo = foo = bar;), thanks + to thanks to John Mulhern <9107@mn3.lawson.lawson.com> for + reporting this. + +Fri Sep 04 18:54:32 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Select_Reactor_T.cpp (ACE_Select_Reactor_T): Made sure that + all references to Select_Reactor have the template argument in + them. Thanks to Chuck Gehr <GehrCR@LOUISVILLE.STORTEK.COM> for + sending the patches. + +Fri Sep 4 18:29:29 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * examples/Reactor/Proactor/test_proactor.cpp: Changed to use + "test_proactor.cpp" as input file. + +Fri Sep 4 17:51:17 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/Proactor.cpp: + * ace/Asynch_Acceptor.cpp: + * ace/Asynch_Acceptor.h: + * ace/Asynch_IO.cpp: + * examples/Reactor/Proactor/test_proactor.cpp: + First round of changes for ACE_Asynch_Accept. Makes use of + separate thread for each accept call, each thread blocking on the + ACE_OS::accept. Thanks to Irfan, a better implementation using + TP_Reactor is currently being done. + +Fri Sep 4 16:45:36 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace: Removed all traces of ACE_HAS_MT_SAFE_SOCKETS -- this was a + vestige from Solaris 2.2! Thanks to Ossama Othman + <othman@astrosun.tn.cornell.edu> for suggesting this. + + * ace/Service_Config: Changed the default value of + ACE_Service_Config::debug_ from 1 to 0. Thus, debugging is + DISABLED by default. If you want to enable debugging, pass the + -d option to the constructor of ACE_Service_Config. + + * ace/Naming_Context.cpp, + ace/Service_Config.cpp, + ace/Service_Types.cpp, + ace/Service_Repository.cpp: Now we only print out service config + information if we're ACE::debug() is non-0. This is more + consistent with other parts of ACE. Thanks to XuYifeng + <xuyf@pop.zg169.net> for reporting this. + + * ace/Service_Config: Moved the debug() stuff from here and put it + into class ACE so that it will be more globally visible. + +Fri Sep 04 15:24:44 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ACE.i: Here, we should use ASYS_INLINE which is always + defined as inline on most platforms. + + * ace/Log_Msg.h (ACE_Log_Msg): Added a new ACE_DEBUG format + character 'A' which prints out an ACE_timer_t value. This is + most useful when you want to print out the timers in + ACE_Profile_Timer::ACE_Elapse_Time. Thanks to Naga for + providing the brilliant idea. + + * tests/XtReactor_Test.cpp (main): Removed '.cpp' from + ACE_START_TEST title string. Thanks to Ossama for reporting + this. + + * Makefile (CONTROLLED_FILES): Removed some documents from the + list because they are in docs/ now. + + * tests/run_tests.bat: Removed trailing '.cpp' from + Message_Queue_Notifications_Test. Thanks to Jack Erickson + <JErickson@exchange.ml.com> for reporting this. + + * ace/OS.i (signal): Added check for ACE_WIN32 to defeat the + effect of !defined (ACE_LACKS_UNIX_SIGNALS). Although Win32 + does has ACE_LACKS_UNIX_SIGNALS defined, it also has limited + support for signals. Thanks to XuYifeng <wj@public.hz.zj.cn> + for reporting this. + +Fri Sep 04 07:26:57 1998 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/rules.bin.GNU,wrapper_macros.GNU: + moved VBIN definition from rules.bin.GNU to wrapper_macros.GNU. + With this change, individual Makefiles need not define VBIN. + + * tests/run_tests.sh: removed -f so that temp file removal + works properly. Don't printout ipcs output unless it + changes, for resources owned by the user. + +Fri Sep 04 01:01:58 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Timeprobe.h: Disable warning of using Microsoft Extensions. + +Fri Sep 04 02:12:03 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.37 released. + +Fri Sep 4 00:07:18 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp (open): Added + template instantiations to make GCC happy. Thanks to David + Levine for reporting this. + +Thu Sep 03 19:15:52 1998 Fred Kuhns <fredk@arl.wustl.edu> + + * docs/tutorial/006/client_acceptor.cpp: added + typedef ACE_Svc_Handler <ACE_SOCK_STREAM, ACE_NULL_SYNCH > inherited; + +Thu Sep 03 17:03:46 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Dynamic.cpp (instance): Removed the typedef in the header + file because some compiler was having problems with it. Thanks + to baksoo@dbserver.kaist.ac.kr for reporting this. + +Thu Sep 03 16:43:34 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp (thr_create): play the zero thread priority game + on Solaris if defined (sun), not if defined (ACE_HAS_STHREADS). + This allows POSIX threads to be created with a thread priority + of 0 if _POSIX_C_SOURCE=199506L and _POSIX_PTHREAD_SEMANTICS + are defined. Thanks to Russ Noseworthy + <rnosewor@objectsciences.com> for reporting this problem. + + * examples/Threads/tss2.cpp: added explicit ACE_Guard <ACE_Token> + instantiation. + + * tests/Dynamic_Priority_Test.cpp (main): changed "not supported" + to "not available" in printout that indicates that the + test will be run in time-sharing class, instead of + a real-time class. The test can still run in time-sharing + class. Thanks to Ossama for reporting this. + +Thu Sep 03 16:14:16 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Synch.i (ACE_Process_Mutex::remove): Reset this->lock_ to 0 + after removing the lock so we can avoid destroying the same + kernel object twice. Thanks to Detlef Becker + <Detlef.Becker@med.siemens.de> for reporting this. + +Thu Sep 03 15:43:22 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * tests/Upgradable_RW_Test.cpp: Fixed this file so that it works + with egcs. + +Thu Sep 3 14:51:06 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * docs: Moved ACE-{tutorials,guidelines,subsets,porting}.html + into the docs directory from the etc directory. This is + a more "fitting" location... + +Thu Sep 3 13:23:39 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * Makefile (CONTROLLED_FILES): Added docs/ into CONTROLLED_FILES. + +Thu Sep 03 09:24:20 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Message_Block.cpp: added ACE_Guard <ACE_Lock> instantiation. + + * ace/SPIPE_Stream.i (recv_handle): replaced "recvfd = recvfd" with + ACE_UNUSED_ARG (recvfd) to avoid egcs 1.1 warning about a + statement with no effect. + +Thu Sep 03 00:26:23 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Time_Request_Reply.cpp (ACE_Time_Request): The second + parameter should be of type ACE_UINT32. + +Wed Sep 2 22:52:32 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * netsvcs/lib/Name_Handler.cpp, + * ace/Time_Request_Reply.cpp: Fixed up yet another + minor mismatch caused by the ACE_SUCCESS/ACE_FAILURE fixes... + Thanks to David Levine for tracking these down. + +Wed Sep 02 20:55:18 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.36 released. + +Wed Sep 2 19:21:25 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Name_Request_Reply.cpp: Continued to cleanup the residue of + the ACE_SUCCESS and ACE_FAILURE changes. Thanks to David Levine + for reporting this. + +Wed Sep 02 19:08:29 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Template_Instatiations.cpp: commented text following + an #endif. + +Wed Sep 02 16:46:45 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.35 released. BTW, these releases were aborted + due to CVS hiccups. We've got to figure out a better way to + roll this stuff back... + +Wed Sep 02 16:33:25 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.34 released. + +Wed Sep 02 16:31:22 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.h: Make sure ACE_NO_INLINE is not defined before defining + it to avoid double defining the macro. Thanks to Ossama Othman + <othman@astrosun.tn.cornell.edu> for suggesting this. + +Wed Sep 2 11:10:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Task.cpp (activate): Remmber to decrement the thr_count_ if + spawn_n() fails. Thanks to Russ Noseworthy + <rnosewor@objectsciences.com> for reporting this fix. + + * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: Fixed another + void * -> char * problem. Now this stuff all seems to build + fine. + +Wed Sep 02 10:07:15 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Name_Request_Reply.{h,cpp}: reverted ACE_SUCCESS to SUCCESS + because other ACE code depended on it. + + * ace/Object_Manager.cpp (~ACE_Object_Manager_Base): moved + internal_lock_ deletion inside ACE_MT_SAFE protection. Thanks + to Dongwook Kim <baksoo@dbserver.kaist.ac.kr> for reporting this. + + * include/makeinclude/platform_sunos5_sunc++.GNU: updated comments + to recommend not using Sun C++ 4.1. + +Wed Sep 02 09:34:32 1998 Oliver M. Kellogg <Oliver.Kellogg@vs.dasa.de> + + * ace/OS.i (sigwait): use __sigwaitd10 with g++ on DU 4.0. + +Tue Sep 1 20:44:15 PDT 1998 James C. Hu <jxh@entera.com> + + * ace/Filecache.cpp: + * ace/UPIPE_Stream.cpp: I guess nobody uses GCC anymore. Fixed + some template instantiation problems in Filecache.cpp and + UPIPE_Stream.cpp. I guess, eventually all of this will be moved + into the Template_Instantiations.cpp file, but until then... + +Tue Sep 01 20:59:11 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.i (ts_object): commented test appearing after the #endif. + + * ace/OS.i (rw_trywrlock_upgrade): expanded/added comment to + clarify the with/without ACE_LACKS_RWLOCK_T distinction. + + * ace/OS.i (sigwait): fixed indentation. + + * ace/ACE.cpp (get_ip_interfaces): removed trailing } after comment + following #endif. + + * etc/ACE-guidelines.html: added section on scripts. Added rule + to prefix constants and enum values with ACE_ or TAO_. + +Tue Sep 1 19:05:05 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/XtReactor_Test.cpp: Added a new version that should work + on Linux. Thanks to Eric Newton for this fix. + +Tue Sep 1 19:40:03 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * tests/XtReactor_Test.cpp: + If ACE_LACKS_MOTIF is defined the test can use Athena + Widgets. Thanks to Eric C. Newton <ecn@smart.net> for + contributing this example. + +Tue Sep 1 19:05:05 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/Shared_Malloc/test_malloc.cpp (spawn): Fixed a minor + problem with conversions from const char * literals to char *'s. + Thanks to John Mulhern for reporting this problem. + + * examples/IPC_SAP/SOCK_SAP/CPP-in{server,client}.cpp: Fixed all + uses of void *request with char *request to stop ANSI C++ + compilers from complaining. Thanks to John Mulhern for + reporting this problem. + +Tue Sep 01 16:22:06 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Filecache.cpp (init and ~ACE_Filecache_Object): Changed + SUCCESS to ACE_SUCCESS. + +Tue Sep 1 13:54:10 PDT 1998 James C. Hu <jxh@entera.com> + + * ace/Message_Block.h: + * ace/Message_Block.i: Added a space () method that reports + the amount of space remaining in the message block. + +Tue Sep 1 3:50:39 US/Central 1998 James CE Johnson <jcej@lads.com> + + * etc/tutorials/006/client_handler.cpp + etc/tutorials/006/client_handler.h + etc/tutorials/006/page04.html + etc/tutorials/006/page05.html + + Added a close() method to Client_Handler so that it will be closed + properly when the svc() method exits. + + * etc/tutorials/007/client_handler.cpp + etc/tutorials/007/client_handler.h + etc/tutorials/007/page05.html + etc/tutorials/007/page06.html + etc/tutorials/007/page09.html + + Added Client_Handler::close() that will be called when + Client_Handler::svc() exits in the thread-per-connection model. + Thread_Pool::svc() now calls the handler's handle_close() method + to properly shut down the handler if handle_input() fails. + +Tue Sep 01 12:58:02 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/ACE.cpp + ace/Basic_Types.cp + ace/Containers.{cpp, h} + ace/Filecache.{cpp, h} + ace/Hash_Map_Manager.{cpp, h} + ace/INET_Addr.cpp + ace/Local_Tokens.cpp + ace/Log_Record.cpp + ace/Map_Manager.{cpp, h} + ace/Message_Block.cpp + ace/Name_Request_Reply.{cpp, h} + ace/OS.{cpp, h, i} + ace/Object_Manager.h + ace/Process.cpp + ace/Remote_Name_Space.cpp + ace/SOCK_Dgram_Mcast.{cpp, h} + ace/Service_Types.cpp + ace/Signal.cpp + ace/Synch_T.{cpp, h, i} + ace/Time_Hash.cpp + ace/Token_Request_Reply.h + ace/UPIPE_Stream.cpp + ace/config-psos-diab.h + ace/config-psos-tm.h: + + pSOS port of ACE for the Diab 4.2 and Trimedia cross compilers. + Thanks to Jin Lu of Philips Research for completing the ACE pSOS + port on the Trimedia cross compiler and contributing the changes + back to the ACE distribution. + +Tue Sep 1 10:43:24 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/config-linux-common.h, + ace/config-sco-5.0.0-mit-pthread.h, + ace/config-sco-5.0.0.h, + ace/README: + ACE_HAS_LONG_FDMASK macro has been changed to + ACE_HAS_BIG_FD_SET. Therefore, I updated these files. Thanks + to Ossama Othman <othman@astrosun.tn.cornell.edu> for reporting + this. + +Tue Sep 01 10:21:49 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/TSS_Test.cpp (cleanup, worker): with ACE_HAS_PTHREADS_DRAFT4, + delete the tss instances in cleanup instead of worker. This gets + rid of the memory leaks on those platforms. + + * include/makeinclude/platform_osf1_4.0.GNU: added + -hidden [...] -non_hidden magic. See comments in the file; + this solves a problem with mutiply defined symbols between + shared libraries and DEC's libcxxstd.a. It only affected + tests/IO_Stream_Test. + +Tue Sep 01 10:03:55 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.33 released. + +Tue Sep 01 03:46:21 1998 Steve Huston <shuston@riverace.com> + + * ace/Asynch_Acceptor.{h cpp}: Enable the contents for platforms + with ACE_HAS_AIO_CALLS, not just ACE_WIN32. Thanks to John + Mulhern for these fixes. + + * examples/Reactor/Proactor/Makefile: Removed include of + platform_macros.GNU. Thanks to John Mulhern for this one too. + +Mon Aug 31 16:38:03 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/config-kcc-common.h: Added ACE_HAS_CPLUSPLUS_HEADERS to + prevent warnings/errors. Thanks to Ben Eng <ben@jetpen.com> and + Todd Pack <todd@rwii.com> for reporting this. + + * Added a bunch of patches so that ACE compiles and passes its + tests on Chorus with gcc. Thanks to Alberto Villarica" + <Alberto.Villarica.rav@nt.com> for reporting this. + +Mon Aug 31 14:02:34 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/ace.dsw: + * ace/ace_dll.dsp: + * ace/ace_lib.dsp: + Updated to MSVC 6, which consisted of changing the + version number insde to 6.00. This change gets it + to work in both 5 and 6, without any trouble. + +Mon Aug 31 12:25:15 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Object_Manager.*: reorganized to provide the + ACE_Object_Manager_Base class. This class contains + the data structures used to support Singleton + registration for destruction. + + * ace/ACE.{h,cpp}: added init () and fini (). These + currently just call the ACE_Object_Manager's init () + and fini (). The might be useful for applications + that use ACE_HAS_NONSTATIC_OBJECT_MANAGER and + ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER, and + therefore need to explicitly initialize and finalize + the ACE_Object_Manager singleton. + + * tests/Semaphore_Test.cpp (test_timeout): a timed + semaphore acquire fails on ACE_HAS_PTHREADS_DRAFT4 + with EINTR instead of ETIME if it times out. That's + the way it's documented, as well as the way it behaves on LynxOS. + + * tests/TSS_Test.cpp (cleanup): with DRAFT4 threads, + don't do anything in the cleanup function. + The intended use of this function doesn't apply. + With Draft 4 threads, this function is called implicitly + by pthread_setspecific whenever an old value is replaced. + This function is intended to be used with Draft 6 and later + threads, where it is called on thread termination with the + thread-specific value. + + * tests/test_config.cpp: set ACE_MAX_PROCESSES to 4 on LynxOS, + so that Process_Mutex_Test will succeed. + +Sun Aug 30 23:05:34 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Select_Reactor_T.cpp: Should include ace/Thread.h also. + Thanks to J. Russell Noseworthy <rnosewor@objectsciences.com> + for reporting this. + + * ace/Select_Reactor.cpp: Added explicit template instantiation + for ACE_Lock_Adapter<ACE_Select_Reactor_Token_T<ACE_Noop_Token>>. + Thanks to Eric C. Newton <ecn@smart.net> for reporting this. + +Sun Aug 30 07:44:54 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-sunos5.5.h,ace/README, + include/makeinclude/platform_sunos5_sunc++.GNU: + use ACE_LACKS_RTTI instead of ACE_HAS_RTTI without rtti, + with Sun CC on SunOS 5.5. That removes all use of ACE_HAS_RTTI + from ACE. + + * netsvcs/lib/Name_Handler.h: added #include of ace/Singleton.h. + + * tests/run_tests.vxworks: commented out Dynamic_Priority_Test. + It now causes VxWorks to go to never-never land. + + * ace/config-g++-common.h,ace/README,tests/Conn_Test.cpp: + added ACE_HAS_OLD_GNUG. Thanks to Doug for this suggestion. + + * ace/Token.cpp (ACE_Token_Queue_Entry ctor): added + ACE_UNUSED_ARG (m) ifdef ACE_TOKEN_USES_SEMAPHORE. + +Sun Aug 30 00:14:29 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Service_Object.cpp (fini): Make sure to check the + <fini_already_called_> flag before proceeding. Also + ~ACE_Service_Type() now calls this->fini(). + + * ace/Svc_Handler: + * ace/Dynamic: + + Patrick J. McNerthney <pat@cartia.com> described this problem: + ________________________________________ + + ACE_Svc_Handler creates an + ACE_TSS_Singleton<ACE_Dynamic,ACE_SYNCH_NULL_MUTEX> singleton + object to determine if the ACE_Svc_Handler is a dynamically + created object or not. ACE_TSS_Singleton declares the internal + single instance of the ACE_Dynamic object as a + ACE_TSS<ACE_Dynamic> data type. + + The first time this object is "referenced", + ACE_TSS<ACE_Dynamic>::ts_init() is called, which in turn calls + ACE_Thread::keycreate and registers + ACE_TSS<ACE_Dynamic>::cleanup with it. Since ACE_TSS is a + template class, the vtable and the code of this object resides + in the dynamically loaded service DLL. + + During termination, the Object Manager closes down the Service + Configurator, causing all services to be shutdown, and their + DLLs are unloaded. + + The Object Manager then calls ACE_OS::cleanup_tss which attempts + to call the above registered ACE_TSS<ACE_Dynamic>::cleanup + method. Since the DLL has already been unloaded, the + application faults trying to access the vtable. + ________________________________________ + + My earlier solution addressed this problem but only in + ~Object_Manager(), i.e., at the end of the application, by + carefully ordering the cleanup of singletons, tss, and the + unlinking of libraries. To solve this more generically and to + address this problem when DLLs are unlinked arbitrarily (and not + only at the end of applications), I moved the typedef of + ACE_TSS_Singleton<ACE_Dynamic> from Svc_Handler.h to + Dynamic.h. Then the access to this singleton was changed from + DYNAMIC::instance() to ACE_Dynamic::instance(). + + This will force the generation of the code for this class to be + in the ACE library rather than in a user's DLL. Hence when TSS + cleanup hooks and Object Manager are trying to clean this object + up from ~Object_Manager, it won't crash as the code for this + class is in ACE and not in the unlinked DLL. + + This issue raised a couple of interesting observations about + ACE_Singleton and ACE_TSS_Singleton and DLLs: + + It is ok to use ACE_Singleton and ACE_TSS_Singleton in DLLs that + are going to be unlinked at the end of the program. For DLLs + that may get unlinked *before* the end of the program, they must + not use ACE_Singleton or ACE_TSS_Singleton. ACE_Singleton + registers with the Object_Manager for deletion and therefore is + accessed at the end of the application. ACE_TSS_Singleton is + very similar to ACE_Singleton. Moreover, it uses tss cleanup + hooks to clean up the thread specific storage. Therefore, if + the DLL lives shorter than the thread and/or the application, it + must *not* use ACE_Singleton and ACE_TSS_Singleton. + + This motivates the need for ACE_DLL_Singleton<T>. As usual, + contributions to ACE are always welcome ;-) Many, many thanks to + Patrick J. McNerthney <pat@cartia.com> for all his help! + +Sat Aug 29 19:22:22 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/Service_Configurator/Misc/main.cpp (main): Fixed a stray + l_argv[3] = 0; I'm not sure why this was here... + +Sat Aug 29 17:31:06 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * examples/IPC_SAP/SOCK_SAP/CPP-in{client,server,server-fancy}.cpp: + Updated these tests to be more robust and better designed. + + * examples/IPC_SAP/SOCK_SAP/Makefile: Added the + CPP-inserver-fancy.cpp file. I'm not sure why I'd omitted it + for so long... + + * examples/IPC_SAP/SOCK_SAP/CPP-in{client,server}.cpp: Cleaned up + the code a bit to avoid warnings. Thanks to David Levine for + reporting these. + +Sat Aug 29 14:11:25 1998 David L. Levine <levine@cs.wustl.edu> + + * etc/ACE-guidelines.html: added rule to not for a pointer + being 0 before deleting it. It's always safe to delete a + 0 pointer. Thanks to James CE Johnson <jcej@lads.com> for + pointing this out. + +Fri Aug 28 23:29:51 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/IPC_SAP/SOCK_SAP/CPP-in{client,server}.cpp: Enhanced + the client and server test so that it'll be a good benchmark for + the "best case" to compare TAO against. + +Fri Aug 28 21:53:13 1998 Steve Huston <shuston@riverace.com> + + * ace/OS.h: Conditionalize setting of ACE_INFINITE on non-Win32 + to allow the platform config to define a value. + + * ace/config-hpux11.h: Define ACE_INFINITE as 10000000. This value + was empirically determined by John Mulhern. Until we know why + this had to be done, you may need to set a different value in + your own config.h file. + +Fri Aug 28 13:14:34 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * examples/Service_Configurator/Misc/main.cpp: Made the file CE + friendly. Added "-y" to service configurator so we can still + test static services. + +Fri Aug 28 13:45:28 1998 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/platform_lynxos.GNU: added HOST_OS + support for PowerPC target. It has a slightly different + name (sunos-xcoff-ppc) than for x86 target (sunos-coff-x86). + + * ace/config-lynxos.h: there doesn't seem to be an + alloca () for PowerPC target. So, only enable + ACE_HAS_ALLOCA and ACE_HAS_ALLOCA_H ifdef __x86__. + +Fri Aug 28 12:30:57 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * bin/create_ace_build: + Now it will cleanup dead links on the build directory. + +Fri Aug 28 09:45:53 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Synch: Fixed the constructor of ACE_Null_Condition so that + it's consistent with ACE_Condition_Thread_Mutex. Thanks to + Mats Nilsson <mats.nilsson@xware.se> for reporting this. + +Fri Aug 28 08:33:20 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/OS.h (FILE_FLAG_SEQUENTIAL_SCAN): Given null definitions for + FILE_FLAG_SEQUENTIAL_SCAN for Non Win32 platforms. + +Thu Aug 27 19:40:32 1998 Steve Huston <shuston@riverace.com> + + * ace/OS.i: Changed an erroneous ACE_HAS_PTHREAD_DRAFT6 to + ACE_HAS_PTHREADS_DRAFT6. Thanks to Chuck Gehr for catching this. + +Thu Aug 27 15:47:34 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Proactor.cpp (handle_signal): Fixed code for looping around + handle_events(). Thanks to Marc Penner <mpenner@rst.inri.com> + for pointing out the problem. + + * ace/OS.cpp (ACE_Countdown_Time::stop): Removed the setting of + errno to ETIME when we have used all of timeout. This was + necessary since this errno was interfering with errno being set + by other parts of ACE. + +Thu Aug 27 13:45:31 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.h: Added /**/ between "#include" and + "<ace/sys_conf.h>". Otherwise, MSVC spits out warnings, tons of + them. + + * ace/Profile_Timer.h (ACE_Profile_Timer): Remove the Win32 + section. Win32 (except CE) actually uses the code in + ACE_HAS_GETRUSAGE. + +Thu Aug 27 13:12:04 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * examples/Reactor/Proactor/test_proactor.cpp : + test_proactor_with_aio.cpp is removed. + test_proactor.cpp should do well on Win as well as other + POSIX4 compliant platforms (with some known bugs in Solaris2.6). + +Thu Aug 27 11:35:11 1998 David L. Levine <levine@cs.wustl.edu> + + * etc/ACE-guidelines.html: added rule to declare a loop index + before the loop, if it's used after the loop. + + * ace/OS.h,README: added ACE_LACKS_RTTI support, for use with + ACE_HAS_ANSI_CASTS without dynamic_cast. + + * ace/config-sunos5.5.h (Sun CC only), config-osf1-4.0.h: + added conditional ACE_LACKS_RTTI. + + * include/makeinclude/platform_osf1_4.0.GNU: added rtti=0 + support. + + * ACE-INSTALL.html,include/makeinclude/wrapper_macros.GNU: + updated comments to reflect that rtti=0 is now supported on + OSF1-4.0. (It's not only supported on Sun CC/SunOS 5.) + + * tests/SOCK_Connector_Test.cpp (host_is_up): broke out + the code to test whether a host exists, is reachable, and + is up into host_is_up (). Consider the host up if the + blocking connection attempt succeeds, or down if it doesn't. + +Wed Aug 26 23:43:42 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.32 released. + +Wed Aug 26 19:11:07 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * bin/count_lines: + A nice Perl script to count lines of code. + +Wed Aug 26 17:35:43 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Reactors_Test.cpp (close): Oops, the ACE_ASSERT() was + incorrect. It should be + + ACE_ASSERT (Test_Task::task_count_ >= 0); + + Thanks to David Levine for reporting this. + +Wed Aug 26 07:47:57 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Select_Reactor.h: Added template specialization for + ACE_Guard<ACE_Select_Reactor_Token_T<ACE_Noop_Token>> to speed + thing up when using lock-freed Select_Reactor. + + * ace/Select_Reactor.cpp: Removed template instantiation for + ACE_Guard<ACE_Select_Reactor_Token_T<ACE_Noop_Token>> because + it's been specialized in .h file. + +Wed Aug 26 08:51:23 1998 Steve Huston <shuston@riverace.com> + + * ace/OS.cpp (thr_keycreate): On pthreads draft 6, the call is + pthread_key_create, not pthread_keycreate. Thanks to Arturo + Montes <mitosys@colomsat.com.co> for this fix. + +Wed Aug 26 08:32:18 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/Reactor_Performance_Test.cpp (create_reactor): + wrapped block in "if" statement with {} to prevent syntax + error. Yet another example of why we should always use + {} in "if" statements :-) + +Wed Aug 26 07:54:49 1998 J. Russell Noseworthy <rnosewor@objectsciences.com> + + * ace/OS.{i,cpp} (rwlock_init): use native ::rwlock_init on Solaris, + even if ACE_HAS_STHREADS isn't defined. This avoids a nasty + bug on startup with only ACE_HAS_PTHREADS defined on Solaris. + The ACE_Object_Manager fails to initialize its first + preallocated object, and core dumps when trying to use + the ACE_Log_Msg lock, which hasn't been initialized yet. + +Tue Aug 25 21:26:29 1998 James CE Johnson <jcej@lads.com> + + * include/makeinclude/platform_linux_lxpthread.GNU: + added NO_IMPLICIT_TEMPLATES support. To disable + -fno-implicit-templates, set NO_IMPLICIT_TEMPLATES + to anything in either your environment or on the + make command line. + +Tue Aug 25 20:04:09 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/config-hpux11.h: Added ACE_HAS_AIO_CALLS. Thanks to John + Mulhern for verifying this. + + * etc: Began to add the ACE tutorials. Thanks to James CE Johnson + <jcej@lads.com> for contributing this stuff. + + * tests/Reactor*.cpp: Fixed all the Reactor tests so that they'd + abide by the appropriate design rules. Thanks to Hans Rohnert + <rohnert@scr.siemens.com> for reporting this. + +Tue Aug 25 19:31:37 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Memory_Pool.i (~ACE_Lite_MMAP_Memory_Pool,~ACE_MMAP_Memory_Pool): + swapped to avoid use of ~ACE_MMAP_Memory_Pool before its linline + definition. + +Tue Aug 25 18:48:50 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Service_Config.cpp (parse_args): Changed the default for + ACE_Service_Config::no_static_svcs_ to be 1. This means that by + default static services (ACE_Naming_Context and + ACE_Service_Manager) will *not* be loaded into the Service + Repository. The -n option remains the same for backward + compatibility, i.e., it sets ACE_Service_Config::no_static_svcs_ + to 1. -y is a new option that sets + ACE_Service_Config::no_static_svcs_ to 0. + + The motivation for this change was to minimize the ACE + footprint, i.e., only load them if the program requires it. + +Tue Aug 25 18:28:11 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.i (strdup): Changed ::strlen to ACE_OS::strlen so we can + get the actual length for UNICODE strings. Thanks to Dana + Hackman <upboms@network-one.com> for reporting this. + + Also, the size of the allocated memory should be + (strlen(s)+1)*sizeof(wchar_t), not strlen(s)*sizeof(wchar_t)+1. + +Tue Aug 25 14:33:46 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/XtReactor.cpp: + The lock type for the ACE_XtReactor was wrong. + +Tue Aug 25 13:36:10 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * tests/Aio_Platform_Test.cpp (do_sysconf): Fixed the VxWorks + warnings. + +Tue Aug 25 13:04:00 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Memory_Pool: Added virtual destructors. + +Tue Aug 25 10:38:52 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * bin/auto_compile: + Added orbsvcs/test/Property/run_test.pl. + The Simple test was moved to Simple/time. + +Tue Aug 25 10:45:50 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * tests/Aio_Platform_Test.cpp: Fixed the SunCC errors about + missing function prototypes. Also put the various + <sysconf> routines under "#if defined <SYMBOL>" + statements. + +Tue Aug 25 07:42:40 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Memory_Pool.cpp: changed ACE_Auto_Basic_Array_Ptr<char *> + template instantiation to ACE_Auto_Basic_Array_Ptr<char>. + + * examples/IPC_SAP/UPIPE_SAP/ex3.cpp (consumer): changed + ACE_Auto_Basic_Ptr <char> to ACE_Auto_Basic_Array_Ptr <char>. + + * tests/Reactor_Performance_Test.cpp, + examples/IPC_SAP/UPIPE_SAP/ex{2,3}.cpp: + removed explicit ACE_Auto_Basic_Array_Ptr <char> instantiation + because it's now in libACE. + + * include/makeinclude/wrapper_macros.GNU: added BUILD + definition when building static libs only. This was necessary + to allow the TAO/orbsvcs/tests/Simulator/{EventSup,DOVEMIB} + makes to work properly on both Solaris and VxWorks. + It also means that BUILD is no longer necessary in most Makefiles. + + * tests/Message_Queue_Notification_Test.cpp (main): removed + trailing ".cpp" from log file name. + + * ace/config-sunx86-sunc++-4.x.h: removed because it wasn't being + maintained, because config-sunos5.{5,6}.h are supported on Solaris86. + + * include/makeinclude/wrapper_macros.GNU: fixed determination + of whether the g++ version supports exception handling. Assume + that it doesn't on VxWorks. Thanks to Margherita Vittone Wiersma + <vittone@fndaub.fnal.gov> for reporting this. + + * include/makeinclude/platform_vxworks5.x_g++.GNU: use := instead + of += to set PATH, because += seems to insert a space. + +Tue Aug 25 05:23:11 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Message_Queue_Notifications_Test.dsp: Fixed something.... + + * tests/tests.dsw: Fixed a typo. + + * ace/ace_{dll,lib}.dsp: + * ace/Makefile: Added Select_Reactor_T and Select_Reactor_Base. + Rebuilt file dependencies. + + * ace/Select_Reactor[_Base,_T].{h,i,cpp}: Templatized + ACE_Select_Reactor and gangs. The original Select_Reactor files + are splited into three sets of files. Select_Reactor_Base + defines common components used by Select_Reactor and defines + Select_Reactor_Base class. Select_Reactor_T defines the + template classes. Select_Reactor instantiates necessary + template classes. Next step is to add template specialization + for ACE_Guard< ACE_Select_Reactor_Token_T <ACE_Noop_Token> >. + + * ace/Synch.{h,i}: Added a new class ACE_Noop_Token which is a + subclass of ACE_Null_Mutex. It supports a null renew method. + This class should be called ACE_Null_Token but the name is + already used. + +Tue Aug 25 01:38:40 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/Threads/task_three.cpp (main): Fixed this example so + that it works portably with signals. Thanks to Susan Liebeskind + <susan.liebeskind@gtri.gatech.edu> for reporting this. + + * tests/Aio_Platform_Test.cpp: Removed the forward decls + so that don't conflict with the use of "static" later on. + Thanks to David Levine for reporting this. + +Mon Aug 24 22:23:33 1998 David L. Levine <levine@cs.wustl.edu> + + * examples/IPC_SAP/UPIPE_SAP/ex{2,3}.cpp: removed unnecessary + includes of fstream.h. + +Mon Aug 24 18:11:39 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Memory_Pool.cpp (ACE_Local_Memory_Pool::release): This + memory pool uses "new" to create memory chunks for the Malloc + class. However, since it did not keep track of this memory, + these chunks were leaked. + + The solution was to keep tarck of the chunks allocated and + delete them in release(). + + * ace/Object_Manager.cpp (~ACE_Object_Manager): Moved TSS cleanup + *before* Service_Config::close(). We need this to happen since + DLL related TSS objects need to get cleaned up *before* the DLL + is unlinked. The only downside to this order of things is that + Log_Msg will also get cleaned up by TSS cleanup, and we need to + make sure that we do not access Log_Msg after TSS cleanup. + + For this to work, we need to make sure of two things: user code + is not called and ACE does not use Log_Msg after this after TSS + resources have been cleaned up. The only major code that is + called is Service_Config::close(). Since + Service_Config::fini_svcs() has already been called, + Service_Config::close() only unlinks the DLLs and does not call + into user code. + + * ace/Service_Repository.cpp (close): Don't access Log_Msg since + it has already been deleted by the time this code runs. + + * ace/Service_Config.cpp (close): Don't access Log_Msg since it + has already been deleted by the time this code runs. + +Mon Aug 24 18:13:58 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Aio_Platform_Test.cpp: Fixed a few problems due + to the fact that we weren't carefully guarding against platforms + that don't support AIO macros. Thanks to Dana Hackman + <upboms@network-one.com> for reporting this. + +Mon Aug 24 15:18:46 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/run_tests.sh: run Message_Queue_Notifications_Test + instead of Message_Queue_Notifications_Test.cpp. + +Mon Aug 24 13:05:03 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/config-{chorus,WinCE,vxworks5.x}.h: Added + ACE_HAS_STRDUP_EMULATION. Thanks to Chuck Gehr for this + suggestion. + + * ace/OS.i (strdup): Removed complicated #ifdef and replaced it + with ACE_HAS_STRDUP_EMULATION. + +Mon Aug 24 10:41:07 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/OS.h: Provided null defitions for all the <wstat> wait + status macros for ACE_WIN32 platform. + +Mon Aug 24 00:11:00 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/Reactor/Misc/pingpong.cpp (run_svc): Fixed a subtle + potential "order of destruction" bug with this test. Thanks to + Hans Rohnert for reporting this. + +Sun Aug 23 21:09:55 1998 Arturo Montes <mitosys@colomsat.net.co> + + * ace/OS.i (thr_testcancel): with ACE_HAS_PTHREAD_DRAFT6, + use ::pthread_testintr () instead of pthread_testcancel (). + Thats what FSU pthreads uses. Hopefully, MVS does also. + +Sun Aug 23 16:28:10 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Process.cpp (spawn): Removed the ACE_DEBUG messages on exec + failure, etc. If apps want to know what has failed, they need + to check the return from spawn() or wait(). ACE shouldn't be + generating debugging information gratuitiously... + +Sun Aug 23 15:42:48 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/Process.cpp: Put the warning on failure on exec + ("ACE_Process::spawn (); exec failed: exiting!!!!\n") under + condition (ACE_Service_Config::debug_). + +Sun Aug 23 11:12:46 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * tests/Makefile: + * tests/Message_Queue_Notifications_Test.cpp: + Fixed typos. + +Sat Aug 22 21:52:23 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/IPC_SAP/UPIPE_SAP/ex[23].cpp: Changed the + Auto_Basic_Ptr to the Auto_Basic_Array_Ptr to avoid compilation + problems. Thanks to David Levine for reporting this. + +Sat Aug 22 20:13:37 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ACE-INSTALL.html: Added instructions for adding Alpha + configurations to MSVC 5 project files. + +Sat Aug 22 13:24:00 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Message_Queue_Notifications_Test.cpp: Surrounded the + ACE_Barrier with conditional compilations for ACE_HAS_THREADS. + Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this. + + * tests/Message_Queue_Notifications_Test.cpp: Cleaned up the + formatting a bit. + + * tests: Renamed MsgQueue_Notifications_Test.{cpp,bpr,dsp} to + Message_Queue_Notifications_Test.{cpp,bpr,dsp} to be more + consistent with spelling. + + * ace/OS.h: Moved the ACE_timer_t down a bit in the file so that + ACE_UINT is defined. Thanks to Naga for reporting this. + + * ace/OS.h: Added a "no-op" typedef for ACE_Rusage for platforms + that don't support it. Thanks to David Levine for reporting + this. + +Sat Aug 22 07:59:28 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/UPIPE_SAP_Test.cpp (main): removed unused local + variables thr_handle_acceptor and thr_handle_connector. + + * tests/UPIPE_SAP_Test.cpp (connector): removed leading newline + in printout at end of thread execution. + + * ACE-INSTALL.html: added egcs section. Thanks to + Ganesh Pai <gpai@voicetek.com> for a portion of it. + + * examples/IPC_SAP/UPIPE_SAP/ex1.cpp (peer1); removed spurious + "new" in ACE_NEW_RETURN involcation. + + * examples/IPC_SAP/UPIPE_SAP/ex{2,3}.cpp: untabified. + + * examples/IPC_SAP/UPIPE_SAP/Makefile: updated dependencies + so that the module will build, now that auto_builtin_ptr.h + has been removed. + +Sat Aug 22 00:27:06 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Read_Buffer.i (alloc): Added new method to get to + Read_Buffer's allocator. This is necessary because we need to + free up the memory that it allocates for us. + + * ace/Service_Object.cpp (fini): New method calls fini() on + <type_> and sets the <fini_already_called_> flag. This flag is + tested in the destructor so that the <type_> is not fini'ed + twice. + + * ace/Service_Repository.cpp (fini): New method to finalize (call + fini() and possibly delete) all the services. + + * ace/Service_Config.cpp (fini_svcs): New method calls + ACE_Service_Repository::instance ()->fini (). + + * ace/Object_Manager.cpp (~ACE_Object_Manager): Added a call + to close and possibly delete all service instances in the + Service Repository by calling ACE_Service_Config::fini_svcs. + This call is made *before* the library singletons (such as + the Reactor, Proactor, Thread_Manager, and Allocator) are + destroyed since the service instances maybe accessing these + singletons in the fini() and destructor methods. Note that + user singletons are destroyed before the services are + fini'ed or closed. + + * ace/Service_Config.cpp (fini_svcs): Disable log messages when + appropriate. + +Fri Aug 21 22:26:54 1998 Steve Huston <shuston@riverace.com> + + * ace/OS.i (ACE_OS::gettimeofday): On Win32, instead of _ftime, + use GetSystemTimeAsFileTime. _ftime has a bug crossing from + daylight time to standard time in the US. + +Fri Aug 21 22:13:51 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.i (thr_cancel, thr_setcancelstate, thr_setcanceltype, + thr_testcancel): added #else + case, with ACE_NOTSUP (-1), to the various threads + types. It catches + ACE_HAS_PTHREADS && ACE_LACKS_PTHREAD_CANCEL. Thanks + to Naga for reporting this. + + * ace/OS.i (thr_setcanceltype): don't support if + ACE_LACKS_PTHREAD_CANCEL. Thanks to Naga for reporting this. + + * ace/config-chorus.h: added ACE_LACKS_PTHREAD_CANCEL. + Thanks to Naga, again. + +Fri Aug 21 20:23:44 1998 Douglas C. Schmidt <schmidt@cumbia.cs.wustl.edu> + + * examples/IPC_SAP/UPIPE_SAP/ex[123].cpp: Updated these programs + to use the ACE_Auto_Basic_Ptr instead of the bizarre + auto_builtin_ptr.h file, which has been removed... Also + replaced the global thr_mgr with the ACE_Thread_Manager + Singleton and moved the <fstream.h> include file until AFTER the + ACE includes to avoid problems with HP/UX 11's C++ compiler. + Thanks to John Mulhern for motivating these fixes. + + * ace/config-hpux-10.x.h: Added a check so that if threading is + disabled, then timespec_t does not get defined. This seems to + work around a bug with HP/UX 10.x. Thanks to Ganesh M. Pai + <gpai@voicetek.com> for reporting this. + +Fri Aug 21 19:54:26 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * include/makeinclude/wrapper_macros.GNU: + The ACE_HAS_EXCEPTIONS macro definition goes into CPPFLAGS now, + so make depend can use it too. + +Fri Aug 21 18:47:40 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Process.cpp (wait): Need to check if status is non-null + before accessing the exit status on NT. Thanks to Carlos for + pointing this out. + +Fri Aug 21 16:40:39 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/config-irix6.x-sgic++.h: + * ace/OS.i: + Some platforms (notable IRIX 6.x) do not update the timer in + pthread_cond_timedwait(), this made the Semaphore test fail for + those platforms. + I modified the ACE_OS::sema_wait() function to obtain the + desired behavior. + +Fri Aug 21 15:50:05 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * etc/ACE-porting.html: Updated some discussion on selecting + versions of STL that work with ACE and TAO. Thanks to Bob + Laferriere <robert.laferriere@gemed.med.ge.com> for reporting + this. + +Fri Aug 21 14:49:31 1998 Steve Huston <shuston@riverace.com> + + * include/makeinclude/platform_hpux_gcc.GNU: Changed the default + from build without threads to build with threads. Thanks to Ganesh + Pai <gpai@voicetek.com> for this change. + +Fri Aug 21 09:25:21 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/OS.h: Moved several #ifdefs from Profile_Timer.h into OS.h + to clean up the code. + + * ace/Profile_Timer.h: Cleaned up the class definition to make the + OSE tool happy. Thanks to Doug Anderson <doug@clark.net> for + reporting this. + + * etc: Moved the ACE-subsets.html file into $ACE_ROOT/etc. + + * ace/Synch_Options.h: Fixed a typo that was giving the OSE tool + fits! Thanks to Doug Anderson <doug@clark.net> for reporting + this. + +Fri Aug 21 03:41:01 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * examples/OS/Process/process.cpp: + * examples/OS/Process/imore.cpp: Minor bug fixes. Print out of + child processes' exit status. + +Thu Aug 20 23:33:15 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Process.cpp (wait): Allow passing back the exit status of + the child process on NT. + +Thu Aug 20 19:52:21 1998 Nagarajan Surendran <naga@cs.wustl.edu> + + * ace/OS.i: + ACE_INLINE int + ACE_OS::thr_getspecific (ACE_thread_key_t key, void **data) + ... + #else /* this is Draft 7 or STD */ + *data = pthread_getspecific (key); + + changed the ::pthread_getspecific to pthread_getspecific as it + is a macro in Chorus. Thanks to David Levine for finding this. + +Thu Aug 20 17:05:28 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/Service_Configurator/Misc/Timer_Service.cpp: Added some + ACE_SVC_FACTORY_* macros for Timer_Service_1 so that it'll + compile and link properly. Thanks to David Levine for reporting + this. + +Thu Aug 20 14:39:53 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Process.{h,cpp} (ACE_Process::wait): Added a parameter of int* to + get back the exit status of a child process. + +Thu Aug 20 14:33:59 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * etc/ACE-porting.html: Generalized the discussion to cover + porting TAO, as well as to explain what C++ features must/can be + supported to port ACE/TAO to a new platform. + +Thu Aug 20 05:12:24 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.31 released. + +Thu Aug 20 03:10:48 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/UPIPE_SAP_Test.cpp (main): Reverted back to use + ACE_Thread. Although it's considered the "Right Thing" to spawn + threads using ACE_Thread_Manager, I'll keep this file to use + ACE_Thread to serve as an example that you can also use + ACE_Thread to do any tricks you like, and, a sanity check. + + * ace/OS.cpp (ACE_Thread_Adapter::invoke): Don't create the + ACE_Thread_Exit object if we are not spawning the thread using + ACE_Thread_Manager. Otherwise, when a non-thread manager + spawned thread exits, the TSS clean up routing gets into an + infinite loop calling ~ACE_Thread_Exit recursively and + eventually the stack gets overflowed and the thread then + "appears" to exit normally. But in fact, TSS cleanup does not + complete at all. + + * ace/Thread_Manager.i: + * ace/Thread_Manager.cpp (at_exit,thr_self): Moved all at_exit + methods into the .i file. All at_exit methods and thr_self + don't really need to hold Thread_Manager's lock. + + Notice that after the newly spawned thread enters the + ACE_Thread_Adapter::invoke routine, we can safely manipulate its + Thread_Deacriptor because it has been registered properly. This + change should further reduce the times a thread gets started. + +Wed Aug 19 20:34:25 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/README: + * ace/OS.h: Added a new macro directive + "ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER". By defining + this macro, it implicitly forces ACE to use non-static object + manager and _NOT_ instantiating ACE_Object_Manager for you and + assumes you will take the responsibility of instantiating + ACE_Object_Manager at the proper place in your programs. This + is usually used when using ACE with MFC/Windows programs. + Because the main function is defined by MFC/Windows libraries, + ACE has no way to instantiate object manager in these programs. + For programs using MFC, a good place to instantiate Object + Manger will be to define ACE_Object_Manager a member of + CApplication derived classes so it gets instantiated/destructed + properly. + + * ace/config-win32.h: Revised the comment about + ACE_HAS_NONSTATIC_OBJECT_MANAGER + +Wed Aug 19 17:15:00 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Service_Config.cpp: Moved the registration of the SIGHUP + signal from the constructor to the open() method since otherwise + it'll never get called in the typical usecase... Thanks to + Susan Liebeskind <susan.liebeskind@gtri.gatech.edu> for + reporting this. + +Wed Aug 19 14:11:22 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.5.30 released. + +Wed Aug 19 13:38:40 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp (ACE_TSS_Cleanup::detach): only declare local + temp_key ifdef ACE_WIN32, because it's only used there. + +Wed Aug 19 10:13:36 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.cpp (ACE_Thread_Cleanup::remove): Don't bother to check + the <in_use_> status when the object manager is shutting down. + Otherwise, we are creating another fresh ACE_TSS object all over + again. + (ACE_Thread_Cleanup::detach): When cleaning up a thread key, we + must first remove it from the internal table before actually + freeing the key to avoid race condition (the OS may reassigned + the key to other the_keycreate requests.) + + * ace/Log_Msg.cpp (close): Removed the ACE_Thread::key_free + statement. This should be handled by TSS cleanup mechanism. + + * ace/Thread_Manager.cpp (at_exit): Moved the return statement + after #endif macros to avoid the no return compiler warning. + + * tests/UPIPE_SAP_Test.cpp (main): Changed to use + ACE_Thread_Manager to spawn and wait for threads so the TSS + object gets cleanup correctly. Using plain vanilla + ACE_Thread::spawn and/or ACE_OS::thr_create no longer works. + +Wed Aug 19 10:06:25 1998 David L. Levine <levine@cs.wustl.edu> + + * etc/ACE-guidelines.html: @added guidelines to check for + success of an attempted open of an existing file, and to not + release copyrighted, etc., material with ACE/TAO. + + * tests/SOCK_Connector_Test.cpp (find_another_host): check to see + if the other host is up, by attempting a blocking connection with + it. Only return another host if the connection succeeds. + Also, cache the other host so that multiple calls will not + have to repeat the connection attempt. + +Wed Aug 19 08:25:20 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/Service_Configurator/Misc/Timer_Service.cpp: Changed + Timer_Service_2 to Timer_Service_1 since it was a typo. Thanks + to Irfan for reporting this. + +Tue Aug 18 22:10:43 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-fsu-pthread.h,config-hpux-10.x.h,config-mit-pthread.h, + config-mvs.h,config-osf1-{3.2,4.0}.h,config-sco-5.0.0-mit-pthread.h, + config-sunos5.{5,6}.h,config-tandem.h: + removed ACE_HAS_ONEARG_SIGWAIT. It's no longer used. + +Tue Aug 18 16:50:28 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Thread.i (sigsetmask): Renamed parameter name since it + conflicts with STL class name. Thanks to Kent Watsen + <kent@watsen.net> for pointing this out. + + * examples/Reactor/Proactor/test_proactor.cpp (handle_write_stream): + Fixed incorrect unary minus operator application. + +Tue Aug 18 16:43:00 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.5.29 released. + +Tue Aug 18 14:15:23 1998 Steve Huston <shuston@riverace.com> + + * include/makeinclude/platform_aix4.2.GNU: Don't link programs + against libACE.a - just against libACEshr.a (the shared lib). + + * include/makeinclude/platform_hpux_aCC.GNU: + * include/makeinclude/platform_hpux_gcc.GNU: Switch support for threads + on and off using "make threads=0" or "make threads=1". The default + for aCC is to use threads, and for gcc is to not. I deduced the + defaults from the old lib settings. Sorry if the gcc one is wrong. + + * ace/config-hpux-10.x.h: Added ACE_HAS_SIGISMEMBER_BUG, plus... + * ace/config-hpux11.h: Set threads things based on the setting + of ACE_HAS_THREADS, which gets set in platform_macros.GNU (see above) + to build with threads support. + +Tue Aug 18 10:57:32 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * include/makeinclude/rules.nested.GNU: + Removed extra enter/leave messages at each directory, GNUmake + does it for you. + +Tue Aug 18 08:15:30 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/Aio_Platform_Test.cpp (do_sysconf): on VxWorks, don't + call ACE_OS::sysconf () because it's not supported. + + * bin/make_release: added -P to cvs checkout command, to ignore + empty diretories. + +Mon Aug 17 22:56:17 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/version_tests/version_tests.dsw: + * tests/version_tests/Dynamic_Priority_Test.dsp: Added a new + project (as shown) into the workspace. + +Mon Aug 17 17:17:52 1998 Steve Huston <shuston@riverace.com> + + * ace/Makefile: Removed IO_Cntl_Msg from files to build. It's empty. + + * include/makeinclude/platform_hpux_aCC.GNU: Added '302' to warnings + to suppress; changed LIBS from '=' to '+=' to work better with TAO + builds. Thanks to John Mulhern for these fixes. + +Mon Aug 17 17:04:31 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Env_Value_Test.cpp (main): Changed to use ASYS_TCHAR* for + arguments in main. + +Mon Aug 17 15:51:30 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.i (thr_sigsetmask): with ACE_HAS_PTHREADS_DRAFT4 or + ACE_HAS_PTHREADS_DRAFT6, added :: in front of sigprocmask () + call. Without it, g++ on LynxOS was warning about use of + sigprocmask () before definition. + +Mon Aug 17 14:59:13 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * etc: Added a new file, ACE-porting.html, which explains how to + port ACE to new OS platforms. Thanks to Gabriel Lima + <gali@enea.se> for submitting this. + + * ace/FILE_Connector.h: Changed ACE_FILE_Connector so that it no + longer inherits from ACE_FILE. This relationship is unnecessary + and was not used. Thanks to Byron Harris for reporting this. + +Mon Aug 17 12:14:13 1998 Steve Huston <shuston@riverace.com> + + Large number of small changes (all listed below) to begin aligning + the large number of Pthreads-related definitions around the 4 supported + drafts: 4, 6, 7, as well as the standard (also known as draft 10). + The notation for "DCE threads" is gone. DCE threads are primarily + draft 4, plus platform-specific modifications. Now all code must + declare the pthreads draft, and handle any platform/implementation + oddities as such. + As time goes on, I will remove more of the ACE_HAS_... and ACE_LACKS... + things that are actually changes with the pthreads drafts. + I tested these on Solaris 2.5.1 (CC), HP-UX 10.20 and 11.00, AIX 4.2.1, + and sanity-tested on NT/MSVC (though no changes affected the WTHREADS + parts). + + * ace/README: Clarified use of Pthreads macros. + + * ace/config-hpux-10.x.h: + * ace/config-lynxos.h: + * ace/config-osf1-3.2.h: + * ace/config-osf1-4.0.h: + Changed from DCE threads to ACE_HAS_PTHREADS_DRAFT4. + + * ace/config-fsu-pthread.h: + * ace/config-m88k.h: + * ace/config-mvs.h: Added ACE_HAS_PTHREADS_DRAFT6. + + * ace/config-aix-4.1.x.h: + * ace/config-aix-4.2.x.h: Added ACE_HAS_PTHREADS_DRAFT7. + + * ace/config-chorus.h: + * ace/config-dgux-4.x-ghs.h: + * ace/config-hpux11.h: + * ace/config-irix6.x-g++.h: + * ace/config-irix6.x-sgic++.h: + * ace/config-linux-lxpthreads.h: + * ace/config-linux-pthread.h: + * ace/config-mit-pthread.h: + * ace/config-osf1-4.0.h: + * ace/config-sco-5.0.0-mit-pthread.h: + * ace/config-sunos-5.5.h: (also remove ACE_HAS_STHREADS if + _POSIX_PTHREAD_SEMANTICS is defined by user). + * ace/config-sunos5.6.h: + + Changed to / added ACE_HAS_PTHREADS_STD. + + * ace/config-hpux-10.x-g++.h: Changed over to use the base file + config-hpux-10.x.h. + + * ace/OS.h: + * ace/OS.i: + * ace/OS.cpp: + Unified the compile ifdefs for pthreads around ACE_HAS_PTHREADS, + ACE_HAS_PTHREADS_DRAFT{4, 6, 7} and ACE_HAS_PTHREADS_STD. + Removed all use of ACE_HAS_DCETHREADS; put in platform-specific + settings where needed. + + * ace/Sched_Params.cpp: + * ace/Synch.cpp: Removed the use of ACE_HAS_DCETHREADS. + +Mon Aug 17 12:10:54 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ace_{dll,lib}.dsp: Removed Message_Queue_T.cpp from and included + Message_Queue.cpp into source files that get build. Hmm, I + thought I made this change long ago. + + * ace/ace_ce_dll.dsp: Changed the DLL output directories for some + configurations. + +Mon Aug 17 11:25:18 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Strategies_T.h: + In some platforms we need to include "ace/Thread_Manager.h" + because its definition is used in the inline methods of some + templates, and a few platform actually check the syntax of + template code, even if the template is not used. + +Mon Aug 17 10:06:01 1998 David L. Levine <levine@cs.wustl.edu> + + * netsvcs/lib/Server_Logging_Handler_T.cpp: replaced + #include <string.h> with #include "ace/OS.h", so that + _REENTRANT gets defined with g++. + + * apps/Gateway/Peer/Peer.{h,cpp} (Peer_Connector::open): added + (unused) arguments to this function. They are only provided to + avoid a compiler warning about hiding the virtual function + ACE_Connector<Peer_Handler, ACE_SOCK_CONNECTOR>::open (ACE_Reactor *, + int). + + * tests/Dynamic_Priority_Test.cpp (run_performance_test): + added delete of time_offsets array. The test Purifies + cleanly now. + +Mon Aug 17 00:05:02 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * examples/Reactor/ReactorEx/test_removals.cpp (main): Fixed + signed/unsigned mismatch. + + * examples/Reactor/ReactorEx/test_talker.cpp (handle_read_stream): + Fixed incorrect unary minus operator application. + +Sun Aug 16 20:57:12 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.i (dlerror): Fixed a typo. Thanks to Ossama Othman + <othman@astrosun.tn.cornell.edu> for reporting this. + +Fri Aug 14 18:58:29 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * tests/Aio_Platform_Test.cpp : Changed <sysconf>'s to + ACE_OS::sysconf's. + +Fri Aug 14 11:41:23 1998 Steve Huston <shuston@riverace.com> + + * ace/OS.i (ACE_OS::dlclose): On HP-UX 10.x and 32-bit 11.00, do + not actually call shl_unload if the library's ref count is more than + 1. If shl_unload is called, it unloads the library, regardless of + the reference count. This has the affect of never unloading a + library that's been loaded more than once, until the OS unloads it + at process run-down. Better than invalidating references to it, + though. The wonder of wrappers at work for you... + +Fri Aug 14 10:01:05 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Basic_Types.h (ACE_UINT64_DBLCAST_ADAPTER): with + ACE_LACKS_LONGLONG_T, only use low 32 bits. We could devise + a conversion from ACE_U_LongLong to double that uses all + 64 bits; but, it's probably easier for users to upgrade + their hardware and/or compilers to ones that support 64 + bit ints :-) + +Thu Aug 13 19:29:33 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Message_Queue_T.i: Changed the is_empty_i() method to check + if this->tail_ == 0 rather than this->cur_bytes_ <= 0 && + this->cur_count_ <= 0. Thanks to Dirk Broer + <Dirk.Broer@gsfc.nasa.gov> for suggesting this. + +Thu Aug 13 17:45:00 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/Basic_Types.h: added ACE_UINT64_DBLCAST_ADAPTER macro + to patch unimplemented UINT64 to double casts + +Thu Aug 13 13:34:52 1998 David L. Levine <levine@cs.wustl.edu> + + * os-patches/linux-patches.html: the af_inet.c patch is only + needed through Linux kernel version 2.0.34. + + * tests/Conn_Test.cpp: disabled ACE_Hash_Addr template + specialization on non-egcs g++. + + * tests/Process_Strategy_Test.{h,cpp} (~Process_Strategy): + added an explicit destructor. g++ 2.7.2.3 got very + confused ("Internal compiler error") without it, apparently + when generating it implicitly. + + * tests/ MsgQueue_Notifications_Test.cpp (producer): removed + unused local "result". + +Wed Aug 12 22:45:50 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/MsgQueue_Notifications_Test.cpp: Added an explicit + template instantiation. + +Wed Aug 12 21:32:05 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Message_Block.h: + * ace/Message_Block.i: + * ace/Message_Block.cpp: + Enabled the base() method, it replaces the internal buffer and + resets the Message_Block. There were other ways to do this (like + calling data_block->base()), but some users find it convenient. + I also modified the Data_Block::base() method to release any + memory held by the class before the method is called. Thanks to + Peter.Gorgia@libnet.com for pointing this out. + +Wed Aug 12 17:43:33 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/MsgQueue_Notifications_Test.cpp: The watermark test which + uses cv's signaling to notify other threads is also merged into + this file. + + * tests/MsgQueue_Water_Mark_Test.{dsp,cpp}: Removed. + +Wed Aug 12 17:12:57 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * APC.DSP: + * Abondoned.dsp: + * Console_Input.dsp: + * Directory_Changes.dsp: + * Exceptions.dsp: + * Multithreading.dsp: + * Network_Events.dsp: + * Prerun_State_Changes.dsp: + * Registration.dsp: + * Registry_Changes.dsp: + * Removals.dsp: + * Talker.dsp: + * Timeouts.dsp: + * Window_Messages.dsp: + * test_abandoned.cpp: + * test_apc.cpp: + * test_window_messages.cpp: + Added updated versions of project files (with correct include + directories). Also changed the <main>'s to take in argc and + argv. Thanks to Jeff Hellzen <JHellzen@hwdcsaws.cahwnet.gov> + for submitting these changes. + +Wed Aug 12 16:16:38 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/MsgQueue_Notifications_Test.cpp: Since this test doesn't + use threads at all, I removed the #if ACE_HAS_THREADS macro. + +Wed Aug 12 14:57:51 1998 Jonathan Biggar <jon@floorboard.com> + + * ace/config-sunos5.5.h: wrapped thread-related defines with + "#ifdef _REENTRANT". + + * include/makeinclude/platform_sunos5_sunc++.GNU,wrapper_macros.GNU, + ACE-INSTALL.html: added support for "threads" make option. + +Wed Aug 12 02:06:02 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/test_config.h (ACE_Test_Output): It seemed like redirecting + the Log_Msg output back to stderr in close was a bit too early + and some messages popped out after some tests ran successfully. + Moved the redirecting code into the destructor. + +Tue Aug 11 22:47:49 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/TP_Reactor.cpp (dispatch_io_set): added + ACE_UNUSED_ARG (ready_mask). + + * tests/test_config.h: added + ACE_Singleton<ACE_Test_Output, ACE_Null_Mutex> template + instantiation. This shouldn't be done in a header, and + I wouldn't be surprised if it breaks somewhere. But, we + don't have any other need for a .cpp file to link into all tests. + +Tue Aug 11 17:30:32 1998 Steve Huston <shuston@riverace.com> + + * tests/test_config.h: Fixed ACE_Test_Output to get torn down clean + in all cases by changing it from a static to an ACE_Singleton. + Re-enabled it for Win32, non-WinCE. + +Tue Aug 11 15:51:47 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/XtReactor.h (ACE_XtReactor): Changed the constructor so that + the XtAppContext can be passed later. This scheme allows for a + default constructor. Thanks to J-M Strauss + <strauss@limeil.cea.fr> for suggesting this. + +Tue Aug 11 12:35:10 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.i (fopen): On WinCE, reset the handle to 0 if CreateFile + fails so we can detect errors when using the emulated FILE + pointer on CE. + + * tests/test_config.h (~ACE_Test_Output): Changed !defined + (ACE_HAS_WINCE) to !defined (ACE_WIN32). When using non-static + object manager, the singleton ACE_Log_Msg may no longer exist + here and the reseting here just causes access violations. Other + platforms which use non-static might suffer the same sympton. + +Tue Aug 11 12:29:03 1998 David L. Levine <levine@cs.wustl.edu> + + * os-patches/linux-patches.html: the gas patch on alphas + isn't necessary with binutils-2.9.1. + +Tue Aug 11 12:23:09 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ARGV.{h,cpp}: Made a series of changes to make the file CE + friendly. + + * ace/Message_Queue_T.cpp: Adjusted the indentation. + +Tue Aug 11 02:06:55 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/WFMO_Reactor.cpp (dispatch_handles): Because dispatch_index + is absolute, nCount should be set to + (max_handlep1 - dispatch_index) instead of (nCount - + dispatch_index). Thanks to Alberto Villarica + <Alberto.Villarica.rav@nt.com> for pointing this out. + +Mon Aug 10 20:12:21 1998 Steve Huston <shuston@riverace.com> + + * ace/Log_Msg.cpp: On HP-UX 10.x, display thread's readable number + rather than an int represenation of a pointer. + + * tests/test_config.h (ACE_Test_Output): When destroying + ACE_Test_Output, make sure to remove all traces of it from + ACE_Log_Msg instance. + + * tests/Dynamic_Priority_Test.cpp: Don't try to set process-wide + scheduling if it's not supported on the platform. + + * tests/Thread_Manager_Test.cpp: Don't do a kill on pthreads draft + 4 platforms. This is a NOP for now - it will make a difference when + I check in more threads-related changes later. + +Mon Aug 10 10:35:26 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * Added the ACE-subsets.html file to the ACE directory so that + we can all modify it. + +Mon Aug 10 10:29:29 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.i (shm_open): There's no need to mess with the security + attribute here. + +Mon Aug 10 01:09:05 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.{h,i}: Added a new function + "default_win32_security_attributes" to return the defualt + security setting of kernel objects. By default, this function + is a no-op. You must define + ACE_DEFINES_DEFAULT_WIN32_SECURITY_ATTRIBUTES for this function + to return a SECURITY_ATTRIBUTES object that has no access + restriction. + + Modified all functions that use Win32 kernel objects to invoke + this new function to get the appropriate security attributes. + Thanks to Ivan Murphy <Ivan.Murphy@med.siemens.de> for + suggesting this. + + +Sun Aug 09 23:26:39 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.28 released. + +Sun Aug 9 23:08:51 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * Checked in a bunch of files/directories that I'd neglected + to check in before. + +Sun Aug 09 23:02:24 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.27 released. + +Sun Aug 9 15:04:41 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * netsvcs/clients/Tokens/manual/manual.cpp: Changed all instances + of "#if (ACE_WIN32)" to "#if defined (ACE_WIN32)" + + * netsvcs/netsvcs.dsw: Added this workspace which contains all the + netsvcs projects. + + * netsvcs/clients/Tokens/collection/collection.dsp: + * netsvcs/clients/Tokens/collection/collection.dsw: + * netsvcs/clients/Tokens/deadlock/deadlock.dsp: + * netsvcs/clients/Tokens/deadlock/deadlock.dsw: + * netsvcs/clients/Tokens/invariant/invariant.dsp: + * netsvcs/clients/Tokens/invariant/invariant.dsw: + * netsvcs/clients/Tokens/manual/manual.dsp: + * netsvcs/clients/Tokens/manual/manual.dsw: + * netsvcs/clients/Tokens/mutex/mutex.dsp: + * netsvcs/clients/Tokens/mutex/mutex.dsw: + * netsvcs/clients/Tokens/rw_lock/rw_lock.dsp: + * netsvcs/clients/Tokens/rw_lock/rw_lock.dsw: + Added these MSVC projects and workspaces. Thanks to Jeff + Hellzen <JHellzen@hwdcsaws.cahwnet.gov> for submitting these. + + * netsvcs/clients/Logger/direct_logging.dsp: + * netsvcs/clients/Logger/indirect_logging.dsp: + * netsvcs/clients/Naming/Client/Client_Test.dsp: + * netsvcs/clients/Naming/Client/main.dsp: + * netsvcs/lib/netsvcs.dsp: + * netsvcs/servers/servers.dsp: + Mainly just updated all of these and made sure that they worked. + +Sun Aug 9 09:17:16 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Strategies_T.cpp (connect_svc_handler): Changed the call to + this->CONNECT_STRATEGIES::connect_svc_handler() to avoid compile + problems with GCC on LynxOS. Thanks to Sergio for reporting + this. + +Sat Aug 8 09:37:27 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/INET_Addr.cpp: + Reverted the operator== optimization, it turns out that the + definition of struct in_addr is not portable after all. Maybe + there is a set of macros to make it portable? + + * ace/ACE.h: + * ace/ACE.cpp: + Returning <const char* const> is unnecesary; and gives no more + guarantees that <const char*>, plus it gives warnings in + IRIX/MIPSPro compilers. + + * ace/Synch.cpp: + Removed explicit instantiations of ACE_Guard<ACE_Null_Mutex>, + the class is specialized so no instantiation is necessary. Same + thing for ACE_Write_Guard and ACE_Read_Guard. + +Fri Aug 7 23:18:53 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/config-sunos5.5.h: + Updated the new ACE_CC_NAME macros (and friends) so they work + with egcs (and hopefully g++). + + * tests/MT_SOCK_Test.cpp: + Removed double comma in function call. + +Fri Aug 7 21:39:26 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/INET_Addr.cpp: + Compare the fields of in_addr instead of calling memcmp. + + * ace/Message_Block.cpp: + * ace/Message_Block.h: + * ace/Message_Block.i: + The Message_Block can receive an allocator for the data block, + so instead of creating them on the heap they can be allocated + from a TSS allocator or other memory pool. By default we use + ACE_New_Allocator. + + * apps/gperf/Makefile: + The Id was wrong. + + * bin/auto_compile: + Added gperf to the default list of directories. + +Fri Aug 7 13:58:58 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> + + * bin/envinfo.cpp: + Added this program, which will print the version information for + ACE, the OS and C++ compiler. The idea is to use this when posting + to the ACE mailing list. + + * ace/ACE.h: + * ace/ACE.cpp: + Added static methods to retrieve compiler information (name, major + version, minro version, beta version). + + * ace/config-sunos5.5.h: + Defined the compiler information macros for this platform. + + * bin/Makefile: + Modified the Makefile to support multiple binaries in the + directory (according to tests/Makefile). + + * bin/clone.cpp: + Added RCS Id. + +Fri Aug 7 12:46:42 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Activation_Queue.h: Updated the documentation to indicate + the need for absolute rather than relative time values. Thanks + to Johannes Gutleber <Johannes.Gutleber@cern.ch> for reporting + this. + +Fri Aug 07 02:06:54 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/MsgQueue_Water_Mark_Test.{dsp,cpp}: Added a new test to + make sure the water mark stuff works. It still needs to be + clean up to compile with g++. + +Fri Aug 07 01:00:55 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Strategies_T.i (operator==): Added a method to compare a + ACE_Hash_Recyclable and a ACE_Recyclable. Also inlined a shit + load of small methods. + + * ace/Strategies_T.cpp (connect_svc_handler): If <sh> is not + connected to the correct address or is busy, we will not use it. + Therefore we need to set it to zero. + + * ace/Synch: Added template specializations for + ACE_Guard<ACE_Null_Mutex>, ACE_Write_Guard<ACE_Null_Mutex>, and + ACE_Read_Guard<ACE_Null_Mutex>. + +Thu Aug 06 14:59:22 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Thread_Manager.cpp: Updated all uses of cancel_thr for the + various apply*() methods so that they pass along the + async_cancel flag. + + * ace/Thread_Manager.cpp: Added a new ARG to the ACE_EXECUTE_OP + macro. Believe it or not, this change actually reduced the + amount of special-case code because we can now treat kill_thr() + just like the other *_thr() methods. Irfan was amazed ;-). + + * ace/Thread_Manager: Added a new flag called "async_cancel" to + all the Thread Manager cancel*() methods. This flag is disabled + by default (hence, there are no changes to the ACE Thread + Manager semantics). If it is enabled, however, it will attempt + to perform an asychronous thread cancellation on the + corresponding thread id(s). + +Thu Aug 6 17:44:50 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Priority_Task_Test.cpp: Enhanced this test so that it runs + correctly on platforms where you must be root to muck around + with thread priorities. Thanks to John Mulhern + <9107@mn3.lawson.lawson.com> for reporting this. + + * tests/MT_SOCK_Test.cpp: Reformatted the code to make it more + readable and also to remove a C-style cast. + + * ace/Message_Queue_T.h: Improved the documentation of the low + water mark and high water marks. Thanks to Umar for encouraging + this. + +Thu Aug 6 20:41:44 1998 James C Hu <jxh@cs.wustl.edu> + + * ace/Filecache.cpp: Avoided a deadlock detected by Tom Dobridge + <dobridge@persimmon.com> (thanks!). + +Thu Aug 06 14:59:22 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Strategies_T.cpp (connect_svc_handler): If <sh> is not + connected to the correct address or is busy, we will not use it. + Therefore we need to set it to zero. + + * ace/Synch: Added template specializations for + ACE_Guard<ACE_Null_Mutex>, ACE_Write_Guard<ACE_Null_Mutex>, and + ACE_Read_Guard<ACE_Null_Mutex>. + +Thu Aug 6 14:30:11 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/config-irix6.x-sgic++-nothreads.h: + Use template specializations instead of pragmas if the compiler + is 7.2 or better. + + * ace/config-irix6.x-sgic++.h: + The <sched.h> is not necessary in IRIX 6.4 + +Thu Aug 06 14:11:15 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Message_Queue_T.cpp: Make sure to check if the cur_bytes_ is + <= to the low_water_mark before signaling threads trying to + enqueue a Message_Block. + + * ace/Message_Queue_T.cpp: Fixed a bunch of code to use the + ACE_NEW_RETURN macro to ensure that errno is set correctly. + + * ace/Message_Queue.h: Changed the DEFAULT_LWM to be the same as + the DEFAULT_HWM since that's the "Right Way"[TM] to handle + this... Thanks to Umar Syyid <usyyid@hns.com> for helping to + track this down. + + * ace/Message_Queue_T.i (is_empty_i): Removed the low water mark + logic entirely because this isn't the right place to put it. + Also reverted back to using && rather than || since we need + to handle "0-sized" messages. + +Thu Aug 6 09:41:22 1998 Nagarajan Surendran <naga@cs.wustl.edu> + + * ace/ARGV.{h,cpp} : Added a new + ACE_ARGV(ASYS_TCHAR *first_argv,ASYS_TCHAR *second_argv,int) + which creates a new ARGV which is the concatenation of the 2 argvs. + + Also added a new private method argv_to_string + which converts an argv to a string. + +Thu Aug 6 08:56:02 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Module.h: Pointed out that ACE_Module should't be subclassed + -- ACE_Task should be subclasses. Thanks to Barney Dalton + <barneyd@cyllene.uwa.edu.au> for pointing this out. + +Wed Aug 05 23:57:16 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Reactor.cpp (end_event_loop): Changed the code so that *all* + threads are woken up. Thanks to Olivier Lau + <olivier_lau@srtelecom.com> for pointing this bug out. + + * examples/Reactor/ReactorEx/test_multithreading.cpp (main): + Changed Reactor->close() to Reactor::end_event_loop(). + +Wed Aug 5 23:12:54 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * include/makeinclude/wrapper_macros.GNU: Changed + PURE_CACHE_DIR = $(PURE_CACHE_BASE_DIR)-$(LOGNAME)-$(CXX) + + to + + PURE_CACHE_DIR = $(PURE_CACHE_BASE_DIR)-$(LOGNAME)-$(notdir $(CXX) ) + + Thanks to John Mulhern <9107@mn3.lawson.lawson.com> for this. + +Wed Aug 05 14:53:18 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Strategies_T.cpp (connect_svc_handler): When using this + method, the user was required to pass us a zero for the + svc_handler. We would either find them a non-busy one, or will + create a new one. + + Unfortunately, the svc_handler lookup was taking too long. + Therefore, the following change was made to the + connect_svc_handler algorithm: the user is now allowed to pass + in the svc_handler that they used last as a "hint". The + algorithm first checks to see if the "hint" svc_handler is + connected to the correct address and is recyclable. If it is, + then it recycles the "hint" svc_handler and gives it back to the + user. This should improve the lookups in most cases. + + * ace/Svc_Handler.cpp (recycling_act): Added accessor to get the + <recycling_act_>. + + * tests/Conn_Test.cpp (idle): Added method so that we can tell + when a Svc_Handler is being set to idle. Also changed the test + so that it can use the new "hint" mechanism in the cached + connector. + +Wed Aug 5 16:12:34 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Log_Msg.cpp: Replaced usage of ACE_OS::thr_* with + ACE_Thread::*. Thanks to Arturo Montes + <mitosys@colomsat.net.co> for sending the patches. + +Wed Aug 5 11:07:12 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Service_Manager: Cleaned up the documentation and formatting + a bit. + + * ace/Message_Queue_T.i: Changed the computation of is_empty_i() + so that it's + + return this->cur_bytes_ <= this->low_water_mark_ || this->cur_count_ <= 0; + + i.e., we use an || rather than a &&. Thanks to Umar for + reporting this. + + * ace/Message_Queue_T.i: Changed the computation of is_empty_i() so + that it doesn't consider the queue to be empty unless the + cur_bytes_ <= the low_water_mark_ (which defaults to 0 so that + no existing code is affected). This change makes it possible + for producer/consumer threading applications to avoid the "silly + window syndrome." Thanks to Umar Syyid <usyyid@hns.com> for + suggesting this. + +Wed Aug 05 00:10:27 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/OS.i (strnstr (both Unicode and Multibyte versions)): + * ace/SString.cpp (strstr): + Fixed "off by one error" in searching algorithm. Thanks to + Byron Harris <harris_b@ociweb.com> for pointing this out. + + * tests/SString_Test.cpp (main): Added new test cases. + +Tue Aug 4 21:56:16 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/TSS_Test.cpp: + * examples/Thread/thread_specific.cpp: Replaced ACE_OS::thr_* with + ACE_Thread::*. Thanks to Arturo Montes + <mitosys@colomsat.net.co> for sending the patches. + +Tue Aug 4 18:44:54 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> + + * ACE-INSTALL.html: + Updated the file to recommend the creation of config.h as a + regular file that includes the appropriate platform config file, + instead of setting it to be a symlink. This is more flexible and + allows the user to redefine some of the ACE configuration + parameters. + + * ace/config-linux-common.h: + As an example of the above, now the user can #define + ACE_HAS_IP_MULTICAST in his config.h file to 0, and he won't be + using multicast under linux. This is clearer than having to edit + the config-linux-common.h file, which will now respect the user's + settings (if any).. + +Tue Aug 4 17:39:12 1998 Steve Huston <shuston@riverace.com> + + * ace/ACE_Library.{mak mdp}: Added TP_Reactor.cpp to the project. + + * tests/Aio_Platform_Test.cpp: Don't try to sysconf() for the AIO + values if there's no chance of AIO on the system (_POSIX_ASYNC_IO + not defined at compile time). + + * examples/OS/Process/Process.dsp: Link against ace.lib for Release, + aced.lib for Debug (these were reversed). + +Tue Aug 4 12:09:51 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/OS.h: Clarified the fact that the ACE_DEFAULT_MUITCAST_ADDR + must be within the range for host group addresses: 224.0.0.0 to + 239.255.255.255. Thanks to Christa Schwanninger + <christa.schwanninger@mchp.siemens.de> for reporting this. + +Tue Aug 04 11:01:18 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * bin/GenExportH.BAT: Moved from TAO/TAO_IDL/. + + * ace/Token.{h,cpp} (signal_all_threads): Added this method which + changes the return values of all acquire method to 2. The last + thread waiting for the token will reset the signal state + (therefore, there's NO cancel_signal_all_threads method.) + (shared_acquire): Return 2 if the token is signaled after + acquiring the token successfully. + (release): If the token is signaled and there's no other thread + waiting to acquire the token, reset the signal state. + + * ace/TP_Reactor.{h,i,cpp} (wakeup_all_threads): Added + implementation for this virtual function. It "signals" the + token threads are waiting on and wake them up by notifying the + reactor. + (handle_events): Check to see if the reactor token is signaled + after acquiring it. If the the token is signaled, it will not + proceed to handle events (by calling select) but instead return + successfully. This allow the thread the chance to check if it's + time to shut down the event loop. + +Mon Aug 3 17:53:48 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> + + * performance-tests/Makefile: + * performance-tests/Misc/basic_func.cpp: + * performance-tests/Misc/basic_perf.cpp: + * performance-tests/Misc/childbirth_time.cpp: + * performance-tests/Misc/context_switch_time.cpp: + * performance-tests/Misc/preempt.cpp: + * performance-tests/Misc/test_mutex.cpp: + * performance-tests/Misc/test_naming.cpp: + * performance-tests/Misc/test_singleton.cpp: + * performance-tests/Synch-Benchmarks/Benchmark_Base.cpp: + * performance-tests/Synch-Benchmarks/Benchmark_Performance.cpp: + * performance-tests/Synch-Benchmarks/Options.cpp: + * performance-tests/Synch-Benchmarks/Performance_Test.cpp: + * performance-tests/Synch-Benchmarks/condb_test.cpp: + * performance-tests/Synch-Benchmarks/conds_test.cpp: + * performance-tests/Synch-Benchmarks/context_test.cpp: + * performance-tests/Synch-Benchmarks/memory_test.cpp: + * performance-tests/Synch-Benchmarks/mutex_test.cpp: + * performance-tests/Synch-Benchmarks/pipe_proc_test.cpp: + * performance-tests/Synch-Benchmarks/pipe_thr_test.cpp: + * performance-tests/Synch-Benchmarks/recursive_lock_test.cpp: + * performance-tests/Synch-Benchmarks/rwrd_test.cpp: + * performance-tests/Synch-Benchmarks/rwwr_test.cpp: + * performance-tests/Synch-Benchmarks/sema_test.cpp: + * performance-tests/Synch-Benchmarks/synch_driver.cpp: + * performance-tests/Synch-Benchmarks/sysvsema_test.cpp: + * performance-tests/Synch-Benchmarks/token_test.cpp: + * performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp: + * performance-tests/TTCP/C/new-ttcp.cpp: + * performance-tests/TTCP/ORBeline/ttcp_i.cpp: + * performance-tests/TTCP/Orbix/ttcpC.cpp: + * performance-tests/TTCP/Orbix/ttcpS.cpp: + * performance-tests/TTCP/Orbix/ttcp_i.cpp: + * performance-tests/UDP/udp_test.cpp: + Added ACE_RCSID to these files. + +Sun Aug 2 19:43:04 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tests/Reactor_Performance_Test.cpp: Made a change suggested by + Irfan to allow this test to work in Windows 95. + +Sat Aug 1 20:35:32 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace: + include/makeinclude: + Added new config/platform files for SCO. These files enable the + following: + + - TAO_IDL work newly in SCO OpenServer. + - Fixed a compilation problem with EventService in TAO. + - Fixed a problem with ACE and TAO shared libraries. + - Some test with TSS_Emulation and recent changes in Thread_Manager. + + Thanks to Arturo for these changes. + +Sat Aug 01 13:34:12 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/OS.i (flock_wrlock): LockFileEx() and UnLockFileEx() are not + implemented on Win32. Therefore, the flock methods were changed + to use the non-Ex versions on Win95. Thanks to XuYifeng + <xuyf@pop.zg169.net> for pointing this out. + + While making the changes, I found that there were a couple bugs + in the code: (a) the <whence> parameter was being ignored and + (b) the adjustment for <len> == 0 was incorrect. I think I have + fixed both of these also in ACE_OS::adjust_flock_params(). + + One last thing: I changed flock_unlock() to use UnLockFile() + instead of UnLockFileEx(). UnLockFileEx() is also not supported + on Win95. Hopefully, it is ok to lock with LockFileEx() and + unlock with UnLockFile() instead of UnLockFileEx(). + + * ace/OS.cpp (pread): Changed bytes_written to bytes_read. + +Fri Jul 31 23:47:50 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * bin/auto_compile: + We now run several on-button tests in TAO, though it is still + hard to detect any errors. + +Fri Jul 31 21:33:22 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Select_Reactor.cpp (open): Changed the code to ignore the + return value from ACE::set_handle_limit(). Thanks to Zheng Han + <zhan@glenvan.glenayre.com> for reporting this and to Arturo for + suggesting the fix. + + * ace/ARGV.cpp: Enhanced the implemenation of string_to_array() so + that it should always work correctly even if there are a large + number of bytes in the original buf string. + + * ace/ARGV.cpp: Renamed string_to_array() to string_to_argv(), + which is more intuitive. + + * ace/OS.h: Added a new macro called ACE_DEFAULT_ARGV_BUFSIZ, + which is used as the default size of all the "argv" contents in + ACE_ARGV. This defaults to 4 kbytes. + +Fri Jul 31 19:55:10 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> + + * netsvcs/clients/Logger/direct_logging.cpp: + * netsvcs/clients/Logger/indirect_logging.cpp: + * netsvcs/clients/Naming/Client/Client_Test.cpp: + * netsvcs/clients/Naming/Client/main.cpp: + * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp: + * netsvcs/clients/Naming/Dump_Restore/createfile.cpp: + * netsvcs/clients/Naming/Dump_Restore/main.cpp: + * netsvcs/clients/Tokens/collection/collection.cpp: + * netsvcs/clients/Tokens/collection/rw_locks.cpp: + * netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp: + * netsvcs/clients/Tokens/invariant/invariant.cpp: + * netsvcs/clients/Tokens/manual/manual.cpp: + * netsvcs/clients/Tokens/mutex/test_mutex.cpp: + * netsvcs/clients/Tokens/rw_lock/rw_locks.cpp: + * netsvcs/lib/Base_Optimizer.cpp: + * netsvcs/lib/Client_Logging_Handler.cpp: + * netsvcs/lib/Log_Message_Receiver.cpp: + * netsvcs/lib/Logging_Strategy.cpp: + * netsvcs/lib/Name_Handler.cpp: + * netsvcs/lib/Server_Logging_Handler.cpp: + * netsvcs/lib/Server_Logging_Handler_T.cpp: + * netsvcs/lib/TS_Clerk_Handler.cpp: + * netsvcs/lib/TS_Server_Handler.cpp: + * netsvcs/lib/Token_Handler.cpp: + * netsvcs/servers/main.cpp: + Added ACE_RCSID to these files. + +Fri Jul 31 19:15:58 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/OS.cpp (pwrite and pread): There were many bugs in these two + methods. + + - It was assumed that it is ok to call WriteFile/ReadFile with + an OVERLAPPED structure. This is not true on Windows95. + Therefore, code had to be added to make sure that on + Windows95, WriteFile and ReadFile were called without an + OVERLAPPED struct. + + - We were assuming that if we used the OVERLAPPED struct, the + file pointer would not move. It turns out that the OVERLAPPED + struct has nothing with whether the file pointer moves or not. + It has to do with whether the file was opened with + FILE_FLAG_OVERLAPPED or not. Since it is not possible to + figure whether the file handle we got was opened with this + flag or not, we have to program defensively and reset the file + pointer in any case. + + - Also the !ACE_HAS_P_READ_WRITE implementation was not + restoring the file pointer to its original position. This was + also fixed. + +Fri Jul 31 18:33:39 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> + + * apps/Gateway/Gateway/Concrete_Connection_Handlers.cpp: + * apps/Gateway/Gateway/Config_Files.cpp: + * apps/Gateway/Gateway/Connection_Handler.cpp: + * apps/Gateway/Gateway/Connection_Handler_Acceptor.cpp: + * apps/Gateway/Gateway/Connection_Handler_Connector.cpp: + * apps/Gateway/Gateway/Event_Channel.cpp: + * apps/Gateway/Gateway/Event_Forwarding_Discriminator.cpp: + * apps/Gateway/Gateway/File_Parser.cpp: + * apps/Gateway/Gateway/Gateway.cpp: + * apps/Gateway/Gateway/Options.cpp: + * apps/Gateway/Gateway/gatewayd.cpp: + * apps/Gateway/Peer/Options.cpp: + * apps/Gateway/Peer/Peer.cpp: + * apps/Gateway/Peer/peerd.cpp: + * apps/Orbix-Examples/Event_Comm/Consumer/Input_Handler.cpp: + * apps/Orbix-Examples/Event_Comm/Consumer/Notification_Receiver_Handler.cpp: + * apps/Orbix-Examples/Event_Comm/Consumer/consumer.cpp: + * apps/Orbix-Examples/Event_Comm/Supplier/Input_Handler.cpp: + * apps/Orbix-Examples/Event_Comm/Supplier/Notifier_Handler.cpp: + * apps/Orbix-Examples/Event_Comm/Supplier/supplier.cpp: + * apps/Orbix-Examples/Event_Comm/libsrc/Event_CommC.cpp: + * apps/Orbix-Examples/Event_Comm/libsrc/Event_CommS.cpp: + * apps/Orbix-Examples/Event_Comm/libsrc/Notification_Receiver_i.cpp: + * apps/Orbix-Examples/Event_Comm/libsrc/Notifier_i.cpp: + * apps/Orbix-Examples/Logger/Logger.cpp: + * apps/Orbix-Examples/Logger/client.cpp: + * apps/Orbix-Examples/Logger/loggerS.cpp: + * apps/Orbix-Examples/Logger/logger_i.cpp: + * apps/Orbix-Examples/Logger/server.cpp: + Added ACE_RCSID to these files. + +Fri Jul 31 17:50:01 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> + + * ace/TP_Reactor.cpp: + Added ACE_RCSID to this file, and all the .cpp files in examples, + listed below. + + * examples/ASX/CCM_App/CCM_App.cpp: + * examples/ASX/CCM_App/SC_Client.cpp: + * examples/ASX/CCM_App/SC_Server.cpp: + * examples/ASX/Event_Server/Event_Server/Consumer_Router.cpp: + * examples/ASX/Event_Server/Event_Server/Event_Analyzer.cpp: + * examples/ASX/Event_Server/Event_Server/Options.cpp: + * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: + * examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp: + * examples/ASX/Event_Server/Event_Server/event_server.cpp: + * examples/ASX/Event_Server/Transceiver/transceiver.cpp: + * examples/ASX/Message_Queue/bounded_buffer.cpp: + * examples/ASX/Message_Queue/buffer_stream.cpp: + * examples/ASX/Message_Queue/priority_buffer.cpp: + * examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp: + * examples/ASX/UPIPE_Event_Server/Event_Analyzer.cpp: + * examples/ASX/UPIPE_Event_Server/Options.cpp: + * examples/ASX/UPIPE_Event_Server/Peer_Router.cpp: + * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: + * examples/ASX/UPIPE_Event_Server/event_server.cpp: + * examples/CORBA/Test_i.cpp: + * examples/CORBA/client.cpp: + * examples/CORBA/server.cpp: + * examples/Connection/blocking/SPIPE-acceptor.cpp: + * examples/Connection/blocking/SPIPE-connector.cpp: + * examples/Connection/blocking/test_spipe_acceptor.cpp: + * examples/Connection/blocking/test_spipe_connector.cpp: + * examples/Connection/misc/Connection_Handler.cpp: + * examples/Connection/misc/test_upipe.cpp: + * examples/Connection/non_blocking/CPP-acceptor.cpp: + * examples/Connection/non_blocking/CPP-connector.cpp: + * examples/Connection/non_blocking/test_lsock_acceptor.cpp: + * examples/Connection/non_blocking/test_lsock_connector.cpp: + * examples/Connection/non_blocking/test_sock_acceptor.cpp: + * examples/Connection/non_blocking/test_sock_connector.cpp: + * examples/Connection/non_blocking/test_spipe_acceptor.cpp: + * examples/Connection/non_blocking/test_spipe_connector.cpp: + * examples/Connection/non_blocking/test_tli_acceptor.cpp: + * examples/Connection/non_blocking/test_tli_connector.cpp: + * examples/IOStream/client/iostream_client.cpp: + * examples/IOStream/server/iostream_server.cpp: + * examples/IPC_SAP/DEV_SAP/reader/reader.cpp: + * examples/IPC_SAP/DEV_SAP/writer/writer.cpp: + * examples/IPC_SAP/FIFO_SAP/FIFO-Msg-client.cpp: + * examples/IPC_SAP/FIFO_SAP/FIFO-Msg-server.cpp: + * examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp: + * examples/IPC_SAP/FIFO_SAP/FIFO-server.cpp: + * examples/IPC_SAP/FIFO_SAP/FIFO-test.cpp: + * examples/IPC_SAP/FILE_SAP/client.cpp: + * examples/IPC_SAP/SOCK_SAP/C-inclient.cpp: + * examples/IPC_SAP/SOCK_SAP/C-inserver.cpp: + * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: + * examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp: + * examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp: + * examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp: + * examples/IPC_SAP/SOCK_SAP/CPP-unclient.cpp: + * examples/IPC_SAP/SOCK_SAP/CPP-unserver.cpp: + * examples/IPC_SAP/SOCK_SAP/FD-unclient.cpp: + * examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp: + * examples/IPC_SAP/SPIPE_SAP/NPClient.cpp: + * examples/IPC_SAP/SPIPE_SAP/NPServer.cpp: + * examples/IPC_SAP/SPIPE_SAP/client.cpp: + * examples/IPC_SAP/SPIPE_SAP/consumer_msg.cpp: + * examples/IPC_SAP/SPIPE_SAP/consumer_read.cpp: + * examples/IPC_SAP/SPIPE_SAP/producer_msg.cpp: + * examples/IPC_SAP/SPIPE_SAP/producer_read.cpp: + * examples/IPC_SAP/SPIPE_SAP/server.cpp: + * examples/IPC_SAP/TLI_SAP/CPP-client.cpp: + * examples/IPC_SAP/TLI_SAP/CPP-server.cpp: + * examples/IPC_SAP/TLI_SAP/db-client.cpp: + * examples/IPC_SAP/TLI_SAP/db-server.cpp: + * examples/IPC_SAP/TLI_SAP/ftp-client.cpp: + * examples/IPC_SAP/TLI_SAP/ftp-server.cpp: + * examples/IPC_SAP/UPIPE_SAP/ex1.cpp: + * examples/IPC_SAP/UPIPE_SAP/ex2.cpp: + * examples/IPC_SAP/UPIPE_SAP/ex3.cpp: + * examples/Log_Msg/test_log_msg.cpp: + * examples/Logger/Acceptor-server/server_loggerd.cpp: + * examples/Logger/client/logging_app.cpp: + * examples/Logger/simple-server/Logging_Acceptor.cpp: + * examples/Logger/simple-server/Logging_Handler.cpp: + * examples/Logger/simple-server/server_loggerd.cpp: + * examples/Map_Manager/test_hash_map_manager.cpp: + * examples/Mem_Map/IO-tests/IO_Test.cpp: + * examples/Mem_Map/IO-tests/test_io.cpp: + * examples/Mem_Map/file-reverse/file-reverse.cpp: + * examples/Misc/test_XtReactor1.cpp: + * examples/Misc/test_XtReactor2.cpp: + * examples/Misc/test_dump.cpp: + * examples/Misc/test_get_opt.cpp: + * examples/Misc/test_profile_timer.cpp: + * examples/Misc/test_read_buffer.cpp: + * examples/Misc/test_set.cpp: + * examples/Misc/test_sstring.cpp: + * examples/Misc/test_trace.cpp: + * examples/Naming/test_multiple_contexts.cpp: + * examples/Naming/test_non_existent.cpp: + * examples/Naming/test_open.cpp: + * examples/Naming/test_writers.cpp: + * examples/OS/Process/imore.cpp: + * examples/OS/Process/process.cpp: + * examples/Reactor/Dgram/CODgram.cpp: + * examples/Reactor/Dgram/Dgram.cpp: + * examples/Reactor/FIFO/client.cpp: + * examples/Reactor/FIFO/server.cpp: + * examples/Reactor/Misc/notification.cpp: + * examples/Reactor/Misc/pingpong.cpp: + * examples/Reactor/Misc/test_demuxing.cpp: + * examples/Reactor/Misc/test_event_handler_t.cpp: + * examples/Reactor/Misc/test_reactors.cpp: + * examples/Reactor/Misc/test_signals_1.cpp: + * examples/Reactor/Misc/test_signals_2.cpp: + * examples/Reactor/Misc/test_time_value.cpp: + * examples/Reactor/Misc/test_timer_queue.cpp: + * examples/Reactor/Multicast/Log_Wrapper.cpp: + * examples/Reactor/Multicast/client.cpp: + * examples/Reactor/Multicast/server.cpp: + * examples/Reactor/Ntalker/ntalker.cpp: + * examples/Reactor/Proactor/test_multiple_loops.cpp: + * examples/Reactor/Proactor/test_proactor.cpp: + * examples/Reactor/Proactor/test_proactor_with_aio.cpp: + * examples/Reactor/Proactor/test_timeout.cpp: + * examples/Reactor/ReactorEx/test_abandoned.cpp: + * examples/Reactor/ReactorEx/test_apc.cpp: + * examples/Reactor/ReactorEx/test_console_input.cpp: + * examples/Reactor/ReactorEx/test_directory_changes.cpp: + * examples/Reactor/ReactorEx/test_exceptions.cpp: + * examples/Reactor/ReactorEx/test_multithreading.cpp: + * examples/Reactor/ReactorEx/test_network_events.cpp: + * examples/Reactor/ReactorEx/test_prerun_state_changes.cpp: + * examples/Reactor/ReactorEx/test_registration.cpp: + * examples/Reactor/ReactorEx/test_registry_changes.cpp: + * examples/Reactor/ReactorEx/test_removals.cpp: + * examples/Reactor/ReactorEx/test_talker.cpp: + * examples/Reactor/ReactorEx/test_timeouts.cpp: + * examples/Reactor/ReactorEx/test_window_messages.cpp: + * examples/Registry/test_registry_iterator.cpp: + * examples/Registry/test_registry_update.cpp: + * examples/Service_Configurator/IPC-tests/client/broadcast_client_test.cpp: + * examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp: + * examples/Service_Configurator/IPC-tests/client/local_fifo_client_test.cpp: + * examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp: + * examples/Service_Configurator/IPC-tests/client/local_spipe_client_test.cpp: + * examples/Service_Configurator/IPC-tests/client/local_stream_client_test.cpp: + * examples/Service_Configurator/IPC-tests/client/remote_dgram_client_test.cpp: + * examples/Service_Configurator/IPC-tests/client/remote_service_directory_test.cpp: + * examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp: + * examples/Service_Configurator/IPC-tests/client/remote_thr_stream_client_test.cpp: + * examples/Service_Configurator/IPC-tests/server/Handle_Broadcast.cpp: + * examples/Service_Configurator/IPC-tests/server/Handle_L_CODgram.cpp: + * examples/Service_Configurator/IPC-tests/server/Handle_L_Dgram.cpp: + * examples/Service_Configurator/IPC-tests/server/Handle_L_FIFO.cpp: + * examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.cpp: + * examples/Service_Configurator/IPC-tests/server/Handle_L_SPIPE.cpp: + * examples/Service_Configurator/IPC-tests/server/Handle_L_Stream.cpp: + * examples/Service_Configurator/IPC-tests/server/Handle_R_Dgram.cpp: + * examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.cpp: + * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp: + * examples/Service_Configurator/IPC-tests/server/Handle_Timeout.cpp: + * examples/Service_Configurator/IPC-tests/server/server_test.cpp: + * examples/Service_Configurator/Misc/Timer_Service.cpp: + * examples/Service_Configurator/Misc/main.cpp: + * examples/Shared_Malloc/Malloc.cpp: + * examples/Shared_Malloc/Options.cpp: + * examples/Shared_Malloc/test_malloc.cpp: + * examples/Shared_Malloc/test_multiple_mallocs.cpp: + * examples/Shared_Malloc/test_persistence.cpp: + * examples/Shared_Memory/test_MM.cpp: + * examples/Shared_Memory/test_SV.cpp: + * examples/System_V_IPC/SV_Message_Queues/MQ_Client.cpp: + * examples/System_V_IPC/SV_Message_Queues/MQ_Server.cpp: + * examples/System_V_IPC/SV_Message_Queues/TMQ_Client.cpp: + * examples/System_V_IPC/SV_Message_Queues/TMQ_Server.cpp: + * examples/System_V_IPC/SV_Semaphores/Semaphores_1.cpp: + * examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp: + * examples/System_V_IPC/SV_Shared_Memory/SV_Shared_Memory_Test.cpp: + * examples/Threads/auto_event.cpp: + * examples/Threads/barrier1.cpp: + * examples/Threads/barrier2.cpp: + * examples/Threads/cancel.cpp: + * examples/Threads/future1.cpp: + * examples/Threads/future2.cpp: + * examples/Threads/manual_event.cpp: + * examples/Threads/process_manager.cpp: + * examples/Threads/process_mutex.cpp: + * examples/Threads/process_semaphore.cpp: + * examples/Threads/reader_writer.cpp: + * examples/Threads/recursive_mutex.cpp: + * examples/Threads/task_five.cpp: + * examples/Threads/task_four.cpp: + * examples/Threads/task_one.cpp: + * examples/Threads/task_three.cpp: + * examples/Threads/task_two.cpp: + * examples/Threads/thread_manager.cpp: + * examples/Threads/thread_pool.cpp: + * examples/Threads/thread_specific.cpp: + * examples/Threads/token.cpp: + * examples/Threads/tss1.cpp: + * examples/Threads/tss2.cpp: + * examples/Threads/wfmo.cpp: + * examples/Timer_Queue/Async_Timer_Queue_Test.cpp: + * examples/Timer_Queue/Driver.cpp: + * examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp: + * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp: + * examples/Timer_Queue/main_async.cpp: + * examples/Timer_Queue/main_reactor.cpp: + * examples/Timer_Queue/main_thread.cpp: + +Fri Jul 31 12:07:16 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/XtReactor.cpp (XtWaitForMultipleEvents): The first select() + is made with the correct width. In XtAppProcessEvent(), the + descriptor set may change, so the underlying handle_max may also + have changed. The second select() is made with an incorrect + value for the width. The solution is to reinitialize width + before calling select() again. Thanks to J-M Strauss + <strauss@limeil.cea.fr> for suggesting this change. + +Fri Jul 31 11:18:24 1998 Steve Huston <shuston@riverace.com> + + * ACE-INSTALL.html: Removed the direction to set global include/library + paths in MSVC 4.2. + +Fri Jul 31 08:23:14 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/Misc/test_XtReactor[12].cpp: Updated these files so + they will work correctly with the "new" Reactor structure. Boy, + it's been a long time since anyone actually tried to use this + stuff... ;-) Thanks to J-M Strauss <strauss@limeil.cea.fr> for + reporting this. + +Thu Jul 30 21:25:31 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Svc_Conf_y.cpp: This file didn't get patched with our + routine patch. Applied $ACE_ROOT/Svc_Conf_y.cpp.diff manually. + This change eliminates some warnings from g++. + +Thu Jul 30 19:03:12 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/Timer_Queue/Thread_Timer_Queue_Test.h: Changed the type + to class Thread_Timer_Queue_Test_Driver from + Timer_Queue_Test_Driver <Thread_Timer_Queue, Input_Task, + Input_Task::ACTION> to work around a bug with MSVC++. Thanks to + Gonzo for pointing this out. + + * examples/Connection/blocking/SPIPE-{connector,acceptor}.cpp: + Added #include "ace/Proactor.h". Thanks to Gonzo for reporting + this. + +Thu Jul 30 17:54:14 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/test_config.h: Added /**/ between #include and <condefs.h> + to avoid MSVC warnings. + + * tests/WinCE/ce_tests.dsw: Renamed project + Message_Queue_Notifications_Test to MsgQueue_Notifications_Test. + + * tests/WinCE/Reactor_Performance_Test.dsp: This project file was + somehow missing. + + * tests/TSS_Test.cpp: + * tests/Reader_Writer_Test.cpp: + * tests/Message_Queue_Test.cpp: Added numerous ASYS_TEXT macros to + make sure we use the right strings on CE. + +Thu Jul 30 14:56:59 1998 Gonzalo A. Diethelm <gonzo@cs.wustl.edu> + + * ace/ACE.h: + * ace/ACE.cpp: + * ace/Event_Handler.h: + * ace/Event_Handler.cpp: + Moved the following static functions: + + register_stdin_handler + remove_stdin_handler + read_adapter + + from class ACE to class ACE_Event_Handler. That breaks a + dependency from ACE to higher-level classes. + + * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp: + * netsvcs/clients/Naming/Client/Client_Test.cpp: + * examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp: + * examples/Timer_Queue/Async_Timer_Queue_Test.dsp: + * examples/Timer_Queue/Reactor_Timer_Queue_Test.dsp: + * examples/Timer_Queue/Thread_Timer_Queue_Test.dsp: + * examples/Reactor/Ntalker/ntalker.cpp: + * examples/Reactor/Misc/test_demuxing.cpp: + * examples/Reactor/Misc/notification.cpp: + * examples/Connection/blocking/SPIPE-connector.cpp: + * examples/ASX/UPIPE_Event_Server/event_server.cpp: + * examples/ASX/Event_Server/Transceiver/transceiver.cpp: + * examples/ASX/Event_Server/Event_Server/event_server.cpp: + * apps/Gateway/Peer/Peer.cpp: + * apps/Gateway/Gateway/Gateway.cpp: + All these were modified by the above change. + + * ace/OS.h: + * ace/OS.i: + Added a strnew function that works as strdup but uses new instead + of malloc to allocate memory. + +Thu Jul 30 16:54:20 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.26 released. + +Thu Jul 30 13:01:12 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Task.h (ACE_Task_Base): Changed the spelling of + ACE_Task_Exit to ACE_Thread_Exit, which is correct. + Thanks to Daniel Winder <Daniel.Winder@cern.ch> for + reporting this. + +Thu Jul 30 08:43:41 1998 Steve Huston <shuston@riverace.com> + + * tests/tests.(mdp mak): Made include and library paths relative. + +Thu Jul 30 02:22:49 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Synch_T.cpp (ts_init): Casted away constness of key_. + Changed to cast away constness of the pointer to once_. + +Thu Jul 30 01:12:30 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/TP_Reactor.i (notify_handle): Added an ASYS_TEXT where it + was missing. Thanks to Dieter Quehl for reporting this. + + * ace/Synch_T.cpp: It wasn't possible to call ts_object() to set + an initial zero pointer value. The solution is to give + ts_object() the same ability to initialize the key as ts_get(). + I also factored out some common code into a new method called + ts_init(). Thanks to Bob McWhirter <bob@netwrench.com> for + reporting this. + +Wed Jul 29 23:58:04 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/Reactor/Ntalker: Added a README file and made some + stylistic changes to the ntalker.cpp example. + +Wed Jul 29 18:38:17 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.25 released. + +Wed Jul 29 17:46:21 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Task_T.h: Updated documentation to explain that + ACE_Time_Values are ABSOLUTE rather than relative. Thanks to + James Johnson for reporting this. + +Wed Jul 29 16:05:16 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * bin/Process_Unix.pm: + Use SIGTERM instead of SIGHUP to kill a process, it is the Right + Thing and SIGHUP will not work in some cases because it is usual + to catch this signal. + +Wed Jul 29 14:04:49 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Asynch_Acceptor.cpp (open): Added + <number_of_initial_accepts> as an extra parameter to + open(). <number_of_initial_accepts> is the number of + asynchronous accepts that are started at the end of <open>. If + <number_of_initial_accepts> is -1, then + <number_of_initial_accepts> is set to <backlog> and hence + <backlog> number of asynchronous accepts are started. + + (get_handle): New method to get the underlying handle. + + (set_handle): New method to set the underlying listen handle. It + is the user's responsibility to make sure that the old listen + handle has been appropriately closed and the all outstanding + asynchronous operations have either completed or have been + canceled on the old listen handle. + +Wed Jul 29 12:49:09 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Makefile (FILES): Added TP_Reactor to the build list. + Updated dependency. + + * ace/TP_Reactor.{h,i} (handle_events,notify_handler): Added two + dummy methods to avoid warnings from SunCC. Thanks to Carlos + for noticing this. + +Wed Jul 29 09:41:23 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-linux-common.h: added #define + ACE_DEFAULT_SELECT_REACTOR_SIZE 256 so that the + ACE_Select_Reactor works with this fix: + + if (size > (size_t) ACE::max_handles ()) + return ACE::set_handle_limit (size); + + On Linux (2.0.34), only root can set RLIMIT_NOFILE above 256. + +Wed Jul 29 04:19:05 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * Integrate TP_Reactor into ACE. Major framwork designed by + Irfan. Here's his changelog: + + * ace/TP_Reactor.h (ACE_TP_Reactor): One of the short comings of + the Select_Reactor in ACE was that it did not support a thread + pool based event dispatching model, similar to the one in + WFMO_Reactor. In Select_Reactor, only thread can be blocked + in handle_events() at any given time. + + A new Reactor has been added to ACE that removes this + short-coming. TP_Reactor is a specialization of Select + Reactor to support thread-pool based event dispatching. This + Reactor takes advantage of the fact that events reported by + select() are persistent if not acted upon immediately. It + works by remembering the event handler that just got + activated, releasing the internal lock (so that some other + thread can start waiting in the event loop) and then + dispatching the event handler outside the context of the + Reactor lock. + + This Reactor is best suited for situations when the callbacks + to event handlers can take arbitrarily long and/or a number of + threads are available to run the event loops. + + Note that callback code in Event Handlers + (e.g. Event_Handler::handle_input) does not have to be + modified or made thread-safe for this Reactor. This is + because an activated Event Handler is suspended in the Reactor + before the upcall is made and resumed after the upcall + completes. Therefore, one Event Handler cannot be called by + multiple threads simultaneously. + + * ace/Reactor.cpp (ACE_Reactor): + ACE_USE_TP_REACTOR_FOR_REACTOR_IMPL can be used to make the + TP_Reactor the default Reactor implementation that will be + used by ACE_Reactor. + + I still need to add the reliable shutdown method and a + TP_Reactor_Test. + + * ace/Select_Reactor.{h,i,cpp} (renew): Moved decision of renew + supression from ACE_Select_Reactor_Notify::handle_input to this + method, which is a more appropriate place. + + * ace/Token.h (ACE_Token): Added more comprehensive comments about + the recent changes of reader/writer semantic. + +Tue Jul 28 12:36:18 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Service_Config.cpp (~ACE_Service_Config): Removed the call + to ACE_Service_Config::close () from the destructor. This will + be called by the Object Manager upon destruction. + +Tue Jul 28 11:34:15 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.{h,i} (strpbrk): Added a const wchar_t version of this + function. Thanks to Ivan Murphy <Ivan.Murphy@med.siemens.de> + for providing the fix. + +Tue Jul 28 09:52:08 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Thread_Manager.cpp (exit): only declare local close_handle + if ACE_USE_ONE_SHOT_AT_THREAD_EXIT. (ACE_Thread_Descriptor): + reordered initializers to match declaration order. + + * ace/Dynamic.cpp,Thread_Manager.cpp: moved + ACE_TSS_Singleton<ACE_Dynamic, ACE_Null_Mutex> instantiation + from Thread_Manager.cpp to Dynamic.cpp. + +Mon Jul 27 16:31:27 1998 Arturo Montes <mitosys@colomsat.net.co> + + * ace/Thread_Manager.{h,i,cpp}: + * ace/Log_Msg.cpp: The Thread_Manager::at_exit method now provides a + list of at_exit functions to be invoked to at thread termination + code. If you want to maintain previous compatibility use + ACE_USE_ONE_SHOT_AT_THREAD_EXIT. The new code maintaing + compatibility with the old code, ACE_Task::svc_run has not been + altered. + + We resolve a problem with ACE_TSS_cleanup, some platform + using Thread_Manager could be experimenting memory corruption because + of ACE_TSS_cleanup was being invoked before Thread_Manager exit + code. Now, if ACE_TSS_cleanup is called before of Thread_Manager + exit code, ACE_TSS_cleanup delegate ACE_Log_Msg delete instance + to Thread_Descriptor. + + Really, at_exit code is implemented in ACE_Thread_Descriptor, I + strongly recommend use at_exit code from Thread_Descriptor, + however in ACE_Thread_Manager we provide at_exit hook. + + Use of at_exit(void* object,ACE_CLEANUP_FUNC cleanup_hook,void* + param) is deprecated. We maitain it for compatibility and it + will be forever, however if you want implement new at_exit hook, + look into Thread_Manager.h and specialize ACE_At_Thread_Exit + class for your needs. + + If you want to allocate an ACE_At_Thread_Exit hook in stack, you + can do it. The at_exit code use at_exit overloading to take care + of this. Equally dynamic creation of at_exit hook is supported + too. + +Mon Jul 27 14:25:15 1998 Chris Gill <cdgill@cs.wustl.edu> + + * tests/Dynamic_Priority_Test.cpp: Changed C-Style casts to + ACE_static_casts, documented argument structure members + +Mon Jul 27 12:23:55 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Select_Reactor.cpp (open): Changed a erroneous comparison + to + + if (size > (size_t) ACE::max_handles ()) + return ACE::set_handle_limit (size); + + Thanks to Avi Nash <anash@RedBrick.COM> for reporting this. + +Sat Jul 25 20:26:21 1998 Steve Huston <shuston@riverace.com> + + * ace/SPIPE_Acceptor.(h cpp): Modified Win32 part to start the + ConnectNamedPipe at open() time, in overlapped mode. Now also + processes the timeout in accept(), if specified. + +Sat Jul 25 16:18:30 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Malloc_T.i (addr): + Sun/CC does not like a reinterpret cast here, but only when T is + a char[20]. Use a couple of static casts and added a comment. + +Sat Jul 25 11:34:25 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Typed_SV_Message_Queue.i (send): Fixed this call to use a + const cast AND a reinterpret cast. Thanks to David Levine for + reporting this. + +Fri Jul 24 23:14:09 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/Threads/thread_specific.cpp (cleanup): Added an + ACE_reinterpret_cast(). Thanks to John Mulhern + <9107@mn3.lawson.lawson.com> for this. + + * ace/Typed_SV_Message_Queue.i: Added some necessary + ACE_reinterpret_cast()s. Thanks to John Mulhern + <9107@mn3.lawson.lawson.com> for this. + + * ace/Malloc_T.i (addr): Changed (T *) cast to + ACE_reinterpret_cast(). Thanks to John Mulhern + <9107@mn3.lawson.lawson.com> for this. + + * ace/SOCK_Dgram_Bcast.cpp: Added an ACE_reinterpret_cast() macro + to make the HP/UX 11 C++ compiler happy. Thanks to John Mulhern + <9107@mn3.lawson.lawson.com> for this. + + * ace/config-hpux11.h: Added ACE_HAS_BROKEN_XTI_MACROS and + ACE_HAS_SIGISMEMBER_BUG. + + * ace/OS.i (sigismember): Sigismember works correctly in most + respects but the Sigset_Ops_Test tests the sigismember function + with an out-of-range signal number expecting it to fail with a + minus one result. On HPUX 11.0 it doesn't fail; it correctly + reports that the signal is not in the sigset. This happens + because HP, bless their hearts, thought that it should only + return out of range when the signal value was greater than the + capacity of the sigset; if ACE_NSIG is forced to 257 then the + test works as expected. But the real maximum signal is 45. + Added a fix for this courtesy of John Mulhern + <9107@mn3.lawson.lawson.com>. + + * ace/OS.h: Added a workaround for broken XTI header files on + HP/UX. Thanks to John Mulhern <9107@mn3.lawson.lawson.com> for + reporting this. + + * tests/Dynamic_Priority_Test.cpp: Reformatted this just a bit. + +Fri Jul 24 21:42:39 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.{h,cpp},Message_Block.{h,cpp}: renamed ACE_Time_Value::max + to ACE_Time_Value::max_time, because VxWorks #defines max. + + * tests/Message_Queue_Test.cpp: rearranged declarations so + that the test will build on non-threaded platforms. + + * tests/Dynamic_Priority_Test.cpp: changed ACE_MT_SYNCH to + ACE_SYNCH, so that we have a chance of building on non-threaded + platforms. + +Fri Jul 24 15:15:28 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * Updated the manual pages to reflect recent changes. + + * ace/Svc_Conf.h: Change from yyerror (char *) to yyerror (const + char *). + +Fri Jul 24 14:36:30 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/OS.{cpp, h} (ACE_Time_Value): Added ACE_Time_Value::max, + for the value at the other end of the time spectrum that can + be represented as a normalized ACE_Time_Value (LONG_MAX seconds, + ACE_ONE_SEC_IN_USECS - 1 microseconds). + + * ace/Message_Block.{cpp, h} (ACE_Message_Block): Changed default + parameters so message deadlines default to ACE_Time_Value::max + instead of ACE_Time_Value::zero - this ensures the assigned + static priority order is preserved in a dynamic message queue + if deadlines are not set. + + * ace/Message_Queue_T.{cpp, h} (ACE_Dynamic_Message_Queue): Changed + enqueue_tail and enqueue_head to call overloaded enqueue_prio + instead of static message queue base class methods (fixes bug + EC_Multiple_Test uncovered where a tail-enqueued zero length + message is still seen in the queue by the base class, but the + derived dynamic message queue class thinks the queue is empty) + + * DOC-way.html: added one on chess and sleep + +Fri Jul 24 12:35:12 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Token.{h,cpp}: Fixed warnings from gcc and SunCC. + +Fri Jul 24 09:05:24 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp (thr_create): with ACE_HAS_DCE_DRAFT4_THREADS and + ACE_LACKS_SETDETACH (LynxOS and HP/UX 10.x), call + ::pthread_detach () on the newly spawned thread. Only do + it if the THR_DETACHED flag is enabled. + + * ace/Thread_Manager.cpp (join_thr,wait,wait_grp,wait_task): + with ACE_HAS_DCE_DRAFT4_THREADS and ACE_LACKS_SETDETACH + (LynxOS and HP/UX 10.x), call ::pthread_detach () on joined + threads. Only do it if the THR_DETACHED flag is not enabled. + + Thanks to Dave Mayerhoefer <davem@lynx.com> for diagnosing the + lack of ::pthread_detach () calls in ACE. + +Fri Jul 24 00:39:47 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ace_dll.dsp (Message_Queue_T.cpp): This file contains + template definitions and should not be included while building + ACE library. + + * ace/config-win32.h (ACE_HAS_NONSTATIC_OBJECT_MANAGER): Use + non-static object manager by default on Win32 (except CE.) This + at least fixed the problem of WSACleanup getting called too late. + + To disable this, define ACE_HAS_NONSTATIC_OBJECT_MANAGER to 0. + +Thu Jul 23 22:17:41 1998 Arturo Montes <mitosys@colomsat.net.co> + + * ace/OS.cpp,Task.cpp,Thread_Manager.cpp: unify the Thread + Adapter use between general ACE threads and threads spawned + with a Thread_Manager. + + With this patch we add a new flag: ACE_USE_THREAD_MANAGER_ADAPTER. + If you set this flag in your config file, ACE will use the + ace_thread_manager_adapter in Thread_Manager, matching the current + behaviour. If you omit this flag, ACE will use ace_thread_adapter. + This change save a lot of source code and will let in the future + incorporate ACE_Thread at_exit. + +Thu Jul 23 15:30:41 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Token.{h,i,cpp}: On platforms that support timed acquire + semaphores, changed to use semaphores for signaling mechanism + for better performance. + (shared_acquire,renew): Give priority to acquire_write over + acquire_read. + +Thu Jul 23 14:05:20 1998 David L. Levine <levine@cs.wustl.edu> + + * performance-tests/Misc/context_switch_test.cpp: + helped yield test on VxWorks by timing each yield. + Added half-second delay between outer interations to give + LynxOS (w/ ACE_LACKS_SETDETACH) a chance to cleanup exited threads. + + * ace/config-sunos5.5.h: added support for _POSIX_PTHREAD_SEMANTICS. + If it is #defined, then #define ACE_HAS_PTHREADS_1003_DOT_1C + instead of ACE_HAS_STHREADS. Thanks to Doug Anderson + <doug@clark.net> for investigating this and providing the + update. + + * ace/High_Res_Timer.cpp (elapsed_time (ACE_hrtime_t &nanoseconds)): + simplified the calculation. Thanks to Tom Dobridge + <dobridge@persimmon.com> for the fix. + +Wed Jul 22 19:20:43 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Proactor.h (ACE_Proactor): Since <completion_strategy> is a + valid constructor parameter for all platforms, + POSIX_COMPLETION_STRATEGY should be defined for all platforms. + + * ace/Proactor.cpp (ACE_Proactor): Only use the + completion_strategy when ACE_HAS_AIO_CALLS is defined. + + * ace/Asynch_IO.cpp (ACE_Asynch_Result): Only delete + this->aiocb_ptr_ when ACE_HAS_AIO_CALLS is defined. + +Wed Jul 22 17:58:27 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/OS.h: Updated the comments. + +Wed Jul 22 17:55:46 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * performance-tests/Synch-Benchmarks/token_test.cpp: A new test. + +Wed Jul 22 17:50:58 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/OS.h: Defiend ACE_SIG_AIO to be SIGRTMIN. This is the only + signal used for all the <Asynch_Operation>s. + +Wed Jul 22 17:46:45 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/Asynch_IO.h,Asynch_IO.cpp Proactor.h Proactor.cpp : + + First round of changes for sigtimedwait () based approach + of completion querying. + + Added one more parameter to the Proactor contructor to + decide the <aio> completion strategy for the POSIX implementation, + either <aiocb> control blocks or the RT signals. The default is RT + signals. + + Fixed Transmit file. Proactor's handle_events () is done + with in the ACE_Asynch_Transmit_Handler so that control does not + return to the user's application before the whole file is + transmitted. Otherwise the user's application might start writing + to the same socket and this might change the order of the file + that is being transmitted. + +Wed Jul 22 15:51:48 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * performance-tests/Synch-Benchmarks/Benchmark_Base.h + (Benchmark_Method_Base): Passing the test item into pre_run_test + so the thread can be setup correctly. Duh! + + * performance-tests/Synch-Benchmarks/Performance_Test.{h,cpp} + (pre_run_test): Added code so that it iterates thru test items + in svc.conf properly. Duh**2! + +Wed Jul 22 15:48:25 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.5.24 released. + +Wed Jul 22 11:45:44 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * tests/Aio_Platform_Test.cpp: Added <aio_> calls test for + platforms with ACE_HAS_AIO_CALLS defined. + +Wed Jul 22 11:32:33 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/Dynamic_Priority_Test.cpp: VxWorks only, fixed a few + minor things so that it builds now. + + * ace/config-linux-common.h: added ACE_HAS_GPERF. + +Tue Jul 21 23:09:31 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * performance-tests/Synch-Benchmarks/{Synch_Tests,synch_driver}.dsp: + Updated proejct source files and renamed debug version dll. + + * performance-tests/Synch-Benchmarks/Performance_Test.cpp: Added + ACE_Svc_Export directive. + +Tue Jul 21 20:17:31 1998 Steve Huston <shuston@riverace.com> + + * ace/ACE_Library.{mdp mak}: Removed ..\STL from include directories. + +Tue Jul 21 12:34:11 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/config-lynxos.h: Defined ACE_HAS_AIO_CALLS. + +Mon Jul 20 19:35:21 1998 Steve Huston <shuston@riverace.com> + + * ace/config-aix-4.1.x.h: Added ACE_LACKS_RLIMIT. Thanks to Zheng + Han <zhan@glenvan.glenayre.com> for finding this problem. + + * ace/ACE_Library.{mdp mak}: Set up ".." as an include file directory + so that $ACE_ROOT doesn't have to be added to MSVC's global options. + Allows working on more than one ACE version. + + * netsvcs/lib/netsvcs4.{mdp mak}: Made paths to ACE components relative + and made Debug build netsvcsd.dll - this will work with Nanbor's new + DLL search method (from 19-July). + + * netsvcs/servers/servers4.{mdp mak}: + * netsvcs/clients/Logger/Logger.{mdp mak}: + Made paths to ACE components relative. + +Mon Jul 20 11:12:44 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Object_Manager.{h,cpp}: added ACE_TSS_BASE_LOCK, to + support ACE_HAS_TSS_EMULATION with ACE_USE_NATIVE_KEYS. + + * include/makeinclude/rules.lib.GNU: (INSTALL): use += to + define INSTALL instead of =, so that applications' INSTALL + won't be overwritten. + + * ace/config-osf1-4.0.h,config-linux-common.h: added + ACE_HAS_GPERF. + +Mon Jul 20 11:06:44 1998 Arturo Montes <mitosys@colomsat.net.co> + + * ace/OS.*: added support for TSS emulation with Pthreads. + It uses one native TSS key for its internal implementation. + All other TSS keys, both within the ACE library and in + applications, use keys managed by ACE. + To enable, add these #defines to your config.h: + #define ACE_HAS_TSS_EMULATION + #define ACE_USE_NATIVE_KEYS + +Sun Jul 19 22:21:17 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.h: added ACE_THROW_SPEC definition. + +Sun Jul 19 00:48:42 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ACE.cpp (ldfind): Re-enabled searching for *d.dll before + *.dll for debug version of ACE. There was a premature return + error in the logic. This is now the default behavior and has to + be disabled explicitly by defining ACE_DISABLE_DEBUG_DLL_CHECK. + +Sat Jul 18 22:51:59 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.23 released. + +Sat Jul 18 22:48:52 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * There was a typo in the Makefile where CE-status should have + been CE-status.txt. Thanks to Nanbor for fixing this. + +Sat Jul 18 22:14:07 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.22 released. + +Sat Jul 18 21:11:52 1998 Steve Huston <shuston@riverace.com> + + * include/makeinclude/platform_hpux_aCC.GNU: Added +W829 to suppress + "string literal to char * is deprecated". I was going to fix these + in ACE, but TAO just wore me down... ;-) + +Sat Jul 18 Michael Kircher <mk1@cs.wustl.edu> + + * tests/Upgradable_RW_Test.cpp: Changed the time measurement + completely. Before we meassured end-to-end. Now we meassure + only the time spend in actual doing things. At the end + all the time spend is summarized. + + * tests/Upgradable_RW_Test.h: Added this file, which contains + definitions for the test. + +Sat Jul 18 19:47:45 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/ACE.cpp: Looks like we are having some trouble with the + loading of *d.dll before *.dll on NT, so it is now disabled + by default (until the problem is solved). To enable use: + ACE_USE_DEBUG_DLL_CHECK. + +Sat Jul 18 13:51:49 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * apps/Makefile: Always compile the gperf directory by default + now. + + * ace/config-sunos5.5.h: Added a new flag called ACE_HAS_GPERF, + which should be enabled if the OS/compiler platform can compile + GPERF. This will determine if we can use perfect hashing in + TAO! + +Sat Jul 18 10:52:49 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> + + * ace/Svc_Conf_l.cpp: + * ace/Svc_Conf_y.cpp: + Move the Id and added ACE_RCSID. + The #line commands changed their line numbers. + + * ace/Svc_Conf.l: + * ace/Svc_Conf.y: + Added an ACE_RCSID, and erased a few white spaces at the end. + + * etc/Svc_Conf_l.cpp.diff: + * etc/Svc_Conf_y.cpp.diff: + Got rid of a couple of RCS Ids that were being "replaced" by the + patches. These were probably a maintenance problem and didn't + really add much. I also cleaned up the patches: there were a + couple of useless replacements (lines with white spaces at the + ends, etc.), and some of the line offsets were wrong (but patch + could still catch them with its fuzz factors). Now the patches + apply cleanly. + +Sat Jul 18 9:00:00 1998 Douglas C. Schmidt <schmidt@mambo.cs.wustl.edu> + + * DCS: Born 36 years ago, at this moment. Yow, I've now become + a "perfect square" ;-) + +Fri Jul 17 18:30:10 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Strategies_T.cpp (connect_svc_handler): The activation of + the newly created handler is moved outside the scope of the lock + of the cached connector. This is necessary to avoid subtle + deadlock conditions with this lock and the Reactor lock. Thanks + to Micheal for finding this race condition. + +Fri Jul 17 13:53:54 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/Threads/barrier2.cpp (ACE_MT_SYNCH>): Cleaned up the + coding style in this example. + + * ace/TTY_IO.cpp (control): Added entries for 300 baud. Thanks to + the ever vigilant Arturo Montes <mitosys@colomsat.com.co> for + reporting this. + +Fri Jul 17 14:51:55 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * Makefile (CONTROLLED_FILES): Added CE-status to distribution. + Thanks to David for reminding this. + +Fri Jul 17 12:48:26 1998 Steve Huston <shuston@riverace.com> + + * tests/Semaphore_Test.cpp: Removed unused variable, and disabled the + test for platforms with POSIX semaphores since POSIX semaphores + don't do timeouts (which this test stresses). + +Fri Jul 17 07:32:26 1998 David L. Levine <levine@cs.wustl.edu> + + * Makefile (CONTROLLED_FILES): added ACE-inheritance.{pdf,ps}.gz + to distribution. Thanks to Gabriel Lima <gali@enea.se> for + reporting their absence. Also, added COPYING to distribution. + + * ace/IO_SAP.cpp (enable): removed unreachable break statement. + + * ace/OS.i (sema_wait w/time): on VxWorks and pSoS, subtract + the current time from the time argument to get the relative + time that the systems calls expect. Thanks to Steve Huston + for recommending this change. Also, removed ACE_ADAPT_RETVAL + wrap so that errno isn't disturbed. On VxWorks, convert + S_objLib_OBJ_TIMEOUT errno to ETIME. + + * tests/run_tests.{sh,vxworks}: added Semaphore_Test. + + * ACE-INSTALL.html: updated multicast on Linux discussion. + +Thu Jul 16 18:28:31 1998 Steve Huston <shuston@riverace.com> + + * ace/OS.i (ACE_OS::sema_wait(ACE_sema_t*, ACE_Time_Value&)): + Changed WinCE version to use time as absolute and update it if + the semaphore is acquired. Changed Win32 version to update the + time if semaphore is acquired. + + * tests/Semaphore_Test.cpp: Added sanity checks for time that the + semaphore waits take and for the updated time values on acquiring + a semaphore. + +Thu Jul 16 15:41:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/IPC_SAP/UPIPE_SAP/ex2.cpp, + examples/Service_Configurator/IPC-tests/server/Handle_L_CODgram.i, + examples/Service_Configurator/IPC-tests/server/Handle_L_Dgram.i, + examples/Service_Configurator/IPC-tests/server/Handle_Broadcast.i, + examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.i, + examples/Service_Configurator/IPC-tests/server/Handle_L_Stream.i, + examples/Service_Configurator/IPC-tests/server/Handle_R_Dgram.i, + examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.i: + Changed all uses of SIGIO to ACE_SIGIO. + + + * ace/IPC_SAP: Cleaned up the enable() and disable() methods and + documentation so they correctly use the new ACE_* macros + described in the following bullet. + + * ace/OS.h: Added new ACE_SIGIO, ACE_SIGURG, and ACE_CLOEXEC flags + that should be used instead of the SIGIO or SIGURG, etc., in + order to ensure uniqueness. However, legacy code will continue + to work. + + * ace/IO_SAP.cpp: Added new ACE_SIGIO, ACE_SIGURG, and ACE_CLOEXEC + flags that should be used instead of the SIGIO or SIGURG, etc., + in order to ensure uniqueness. However, legacy code will + continue to work. + +Thu Jul 16 15:02:55 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Synch_T.h: Use ACE_Condition_Thread_Mutex instead of + ACE_Condition<ACE_Thread_Mutex> as the default condition + variable (ACE_SYNCH_CONDITION), this removes some headaches wrt + template instantiation. + + * ace/IPC_SAP.cpp: Added support for the close-on-exec flag. We + use the new ACE_CLOEXEC macro for this. + +Thu Jul 16 12:50:42 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * netsvcs/lib/netsvcs.dsp: + * netsvcs/servers/servers.dsp: Updated DLL names. + + * ace/ACE.cpp (ldfind): Conventionallly, Win32 platforms + distinguish debug version DLL from release version DLLs by + suffixing debug version DLL names with 'd'. (E.g., aced.dll + v.s. ace.dll.) This was causing some problem in managing the + svc.conf files because we need to link the matching DLL with the + executables regarding of how they get compiled. + + I modified the ldfind so that when a debug version ACE is + searching for a DLL file, it will first try to find the debug + version of that DLL by suffixing the name with 'd'. If it can't + be found, it then searches for the name specified. The release + version doesn't try to do this. Now, we can specify only the + "normal" dll names in svc.conf files and ACE can pick up the + right dlls for you without changing svc.conf files. However, + you need to follow the Win32 DLL naming convention as described + above. + + I don't expect this feature to cause any backward compatibility + problem. However, if in the rare event, it does cause you + problem, you can disable it by defining + ACE_DISABLE_DEBUG_DLL_CHECK in your config.h file. Notice that + this change only affects Win32 platforms. + +Thu Jul 16 08:55:48 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Dynamic_Service.cpp (instance): removed const-ness + from local void * obj, because the function return value + isn't const. Sun C++ caught this. + + * STL,Makefile: removed STL from ACE, for good this time. There + are no more STL dependencies in TAO's AVStreams. However, if + you still want to use the version of STL that was in ACE, you + can obtain it at www.cs.wustl.edu/~schmidt/ACE_wrappers/STL. + + * ACE-INSTALL.html: added note on enabling multicast on Linux for + TAO's NameService. And, added note on adding a routing table + entry to enable multicast on Linux. Thanks to Nanbor for + discovering that. + +Wed Jul 15 19:00:33 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Dynamic_Service.cpp (instance): Made the error reporting + less verbose. Thanks to Darrell for suggesting this. In + addition, changed the use of (SERVICE *) to + ACE_reinterpret_cast(). + +Wed Jul 15 16:16:40 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/Message_Queue_T.cpp: Fixed message/byte counting bugs. + +Wed Jul 15 15:42:44 1998 James C Hu <jxh@cs.wustl.edu> + + * ace/OS.h: Added a copy constructor for ACE_Thread_ID. + +Wed Jul 15 14:33:15 1998 Steve Huston <shuston@riverace.com> + + * ace/Select_Reactor.cpp: Added some MVS-specific behavior in the + error checking/recovery code so that bad handles are properly + located and removed on MVS Open Edition. Thanks to Chuck Gehr + for his hard work in tracking these down. + +Tue Jul 14 14:00:00 1998 Michael Kircher <mk1@cs.wustl.edu> + + * ace/Select_Reactor.cpp: Changed the handling + of the state_changed flag. Now, it is set to "changed" (=1) + after each run of the event loop. This fixed a nested + upcalls bug, which was caused by overwriting this + flag each time entering the event loop. So that, + when poping one level of the handle_events call + stack information was lost about changes. Now, we + assume that information has changed and + propagate this knowlegde down in the call + stack. No performance overhead is caused by that. + +Tue Jul 14 12:02:15 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * examples/IPC_SAP/SOCK_SAP/C-inserver.cpp: + * examples/IPC_SAP/SOCK_SAP/C-inclient.cpp: + * ace/SOCK_Dgram_Mcast.cpp: + * ace/SOCK_Acceptor.cpp: + * ace/ACE.cpp: + Use ACE_reinterpret_cast in several conversions address type + conversions (like from sockaddr* to sockaddr_in*). + Some compilers (HP/aCC) give a warning if the old C-style cast + operators are used; using the proper cast operator removes the + warning. Thanks to John Mulhern <9107@mn3.lawson.lawson.com> for + pointing out this problem. + +Tue Jul 14 11:26:40 1998 David L. Levine <levine@cs.wustl.edu> + + * Makefile: added STL back in, because TAO's AVStreams still uses it. + Thanks to Hans Rohnert <hans.rohnert@mchp.siemens.de> for + reporting this. + + * ace/Message_Queue_T.cpp (refresh_{late,pending}_queue): removed some + breaks following ACE_ERROR_RETURNs, to avoid compiler warnings about + unreachable statements. + + * tests/Dynamic_Priority_Test.cpp: commented out unused global + FIFO_receipt_order. + + * ace/Basic_Types.h: added ACE_UINT64_LITERAL macro. Thanks to + Nanbor for suggesting it. + + * ace/Stats.cpp: use ACE_UINT64_LITERAL to replace platform-specific + code. + +Mon Jul 13 22:29:20 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/Dynamic_Priority_Test.cpp: swapped "const" and "static" + qualifiers so that "static" appears first. + (run_performance_test): initialized random_int to 0 to avoid + g++ warning. + + * ace/Message_Queue_T.h: on VxWorks, added forward declaration + of class ACE_Message_Queue_Vx. + + * ace/Message_Queue_T.cpp (create_Vx_message_queue): added + template <ACE_SYNCH_DECL>. + +Mon Jul 13 16:37:07 1998 Chris D. Gill <cdgill@tango.cs.wustl.edu> + + * Message_Queue_T.cpp: + refined dynamic queues based on performance test results + +Mon Jul 13 16:35:50 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/Message_Block.{cpp, h, i} + ace/Message_Queue_T.{cpp, h}: + + Removed automatic deletion of beyond messages, replaced this + with a remove_messages method to be called by an external + "reaper" if at all. Reorganized dynamic message queues + to remove sources of overhead, especially in checking + message status while refreshing the queue: added separate + head and tail pointers for pending, late, and beyond late + protions of queue: only move these pointers, not messages + (except at enqueue). + + * tests/Dynamic_Priority_Test.cpp: + + Added performance tests for static and dynamic queues + which do best case, worst case, and randomized ordering + of messages, presenting each ordering to all queues + and clocking enqueue and dequeue performance. + +Mon Jul 13 11:11:56 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Svc_Handler.h (ACE_SYNCH_USE>): Changed type of member + <dynamic_> to int. Thanks to Zoran Ivanovic + <zorani@pathcom.com> for pointing this out. + +Sun Jul 12 13:25:04 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE-INSTALL.html: Separated the Linux RedHat 5.1 and 5.0 + discussions into different paragraphs. + +Sat Jul 11 14:25:58 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Timer_Queue_Adapter.cpp: moved the ACE_RCSID inside the + ifndef ACE_TIMER_QUEUE_ADAPTERS_C protection, because this + file gets multiply included with g++. + + * ace/config-lynxos.h: added #define ACE_USE_RCS_ID 0. + +Sat Jul 11 03:44:00 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> + + * ace/inc_user_config.h: + Defined an ACE_RCSID macro to add RCS Id keywords to .cpp + files. Also defined an ACE_USE_RCSID macro that allows turning + this feature on and off. + + * ace/config-chorus.h: + * ace/config-psosim-g++.h: + * ace/config-vxworks5.x.h: + These files have the RCS Id keywords off by default. + I hope these are all (and the only) real-time OSs that could be + impacted by the extra 40K or so of space. + + * ace/ACE.cpp: + * ace/ACED.cpp: + * ace/ACER.cpp: + * ace/ARGV.cpp: + * ace/Acceptor.cpp: + * ace/Activation_Queue.cpp: + * ace/Addr.cpp: + * ace/Arg_Shifter.cpp: + * ace/Array.cpp: + * ace/Asynch_Acceptor.cpp: + * ace/Asynch_IO.cpp: + * ace/Auto_Ptr.cpp: + * ace/Basic_Types.cpp: + * ace/CORBA_Handler.cpp: + * ace/CORBA_Ref.cpp: + * ace/Connector.cpp: + * ace/Containers.cpp: + * ace/DEV.cpp: + * ace/DEV_Addr.cpp: + * ace/DEV_Connector.cpp: + * ace/DEV_IO.cpp: + * ace/Date_Time.cpp: + * ace/Dump.cpp: + * ace/Dump_T.cpp: + * ace/Dynamic.cpp: + * ace/Dynamic_Service.cpp: + * ace/Env_Value_T.cpp: + * ace/Event_Handler.cpp: + * ace/Event_Handler_T.cpp: + * ace/FIFO.cpp: + * ace/FIFO_Recv.cpp: + * ace/FIFO_Recv_Msg.cpp: + * ace/FIFO_Send.cpp: + * ace/FIFO_Send_Msg.cpp: + * ace/FILE.cpp: + * ace/FILE_Addr.cpp: + * ace/FILE_Connector.cpp: + * ace/FILE_IO.cpp: + * ace/Filecache.cpp: + * ace/Free_List.cpp: + * ace/Future.cpp: + * ace/Get_Opt.cpp: + * ace/Handle_Set.cpp: + * ace/Hash_Map_Manager.cpp: + * ace/High_Res_Timer.cpp: + * ace/INET_Addr.cpp: + * ace/IOStream.cpp: + * ace/IOStream_T.cpp: + * ace/IO_Cntl_Msg.cpp: + * ace/IO_SAP.cpp: + * ace/IPC_SAP.cpp: + * ace/LOCK_SOCK_Acceptor.cpp: + * ace/LSOCK.cpp: + * ace/LSOCK_Acceptor.cpp: + * ace/LSOCK_CODgram.cpp: + * ace/LSOCK_Connector.cpp: + * ace/LSOCK_Dgram.cpp: + * ace/LSOCK_Stream.cpp: + * ace/Local_Name_Space.cpp: + * ace/Local_Name_Space_T.cpp: + * ace/Local_Tokens.cpp: + * ace/Log_Msg.cpp: + * ace/Log_Record.cpp: + * ace/Malloc.cpp: + * ace/Malloc_T.cpp: + * ace/Managed_Object.cpp: + * ace/Map_Manager.cpp: + * ace/Mem_Map.cpp: + * ace/Memory_Pool.cpp: + * ace/Message_Block.cpp: + * ace/Message_Queue.cpp: + * ace/Message_Queue_T.cpp: + * ace/Method_Object.cpp: + * ace/Module.cpp: + * ace/Msg_WFMO_Reactor.cpp: + * ace/Multiplexor.cpp: + * ace/Name_Proxy.cpp: + * ace/Name_Request_Reply.cpp: + * ace/Name_Space.cpp: + * ace/Naming_Context.cpp: + * ace/OS.cpp: + * ace/Object_Manager.cpp: + * ace/Obstack.cpp: + * ace/Parse_Node.cpp: + * ace/Pipe.cpp: + * ace/Priority_Reactor.cpp: + * ace/Proactor.cpp: + * ace/Process.cpp: + * ace/Process_Manager.cpp: + * ace/Profile_Timer.cpp: + * ace/RB_Tree.cpp: + * ace/Reactor.cpp: + * ace/Read_Buffer.cpp: + * ace/Registry.cpp: + * ace/Registry_Name_Space.cpp: + * ace/Remote_Name_Space.cpp: + * ace/Remote_Tokens.cpp: + * ace/SOCK.cpp: + * ace/SOCK_Acceptor.cpp: + * ace/SOCK_CODgram.cpp: + * ace/SOCK_Connector.cpp: + * ace/SOCK_Dgram.cpp: + * ace/SOCK_Dgram_Bcast.cpp: + * ace/SOCK_Dgram_Mcast.cpp: + * ace/SOCK_IO.cpp: + * ace/SOCK_Stream.cpp: + * ace/SPIPE.cpp: + * ace/SPIPE_Acceptor.cpp: + * ace/SPIPE_Addr.cpp: + * ace/SPIPE_Connector.cpp: + * ace/SPIPE_Stream.cpp: + * ace/SString.cpp: + * ace/SV_Message.cpp: + * ace/SV_Message_Queue.cpp: + * ace/SV_Semaphore_Complex.cpp: + * ace/SV_Semaphore_Simple.cpp: + * ace/SV_Shared_Memory.cpp: + * ace/Sched_Params.cpp: + * ace/Select_Reactor.cpp: + * ace/Service_Config.cpp: + * ace/Service_Manager.cpp: + * ace/Service_Object.cpp: + * ace/Service_Repository.cpp: + * ace/Service_Types.cpp: + * ace/Shared_Memory.cpp: + * ace/Shared_Memory_MM.cpp: + * ace/Shared_Memory_SV.cpp: + * ace/Shared_Object.cpp: + * ace/Signal.cpp: + * ace/Singleton.cpp: + * ace/Stats.cpp: + * ace/Strategies.cpp: + * ace/Strategies_T.cpp: + * ace/Stream.cpp: + * ace/Stream_Modules.cpp: + * ace/Svc_Handler.cpp: + * ace/Synch.cpp: + * ace/Synch_Options.cpp: + * ace/Synch_T.cpp: + * ace/System_Time.cpp: + * ace/TLI.cpp: + * ace/TLI_Acceptor.cpp: + * ace/TLI_Connector.cpp: + * ace/TLI_Stream.cpp: + * ace/TTY_IO.cpp: + * ace/Task.cpp: + * ace/Task_T.cpp: + * ace/Thread.cpp: + * ace/Thread_Manager.cpp: + * ace/Time_Request_Reply.cpp: + * ace/Timeprobe.cpp: + * ace/Timeprobe_T.cpp: + * ace/Timer_Hash.cpp: + * ace/Timer_Hash_T.cpp: + * ace/Timer_Heap.cpp: + * ace/Timer_Heap_T.cpp: + * ace/Timer_List.cpp: + * ace/Timer_List_T.cpp: + * ace/Timer_Queue.cpp: + * ace/Timer_Queue_Adapters.cpp: + * ace/Timer_Queue_T.cpp: + * ace/Timer_Wheel.cpp: + * ace/Timer_Wheel_T.cpp: + * ace/Token.cpp: + * ace/Token_Collection.cpp: + * ace/Token_Invariants.cpp: + * ace/Token_Manager.cpp: + * ace/Token_Request_Reply.cpp: + * ace/Trace.cpp: + * ace/Typed_SV_Message.cpp: + * ace/Typed_SV_Message_Queue.cpp: + * ace/UNIX_Addr.cpp: + * ace/UPIPE_Acceptor.cpp: + * ace/UPIPE_Connector.cpp: + * ace/UPIPE_Stream.cpp: + * ace/WFMO_Reactor.cpp: + * ace/XtReactor.cpp: + * ace/gethrtime.cpp: + * tests/Aio_Platform_Test.cpp: + * tests/Atomic_Op_Test.cpp: + * tests/Barrier_Test.cpp: + * tests/Basic_Types_Test.cpp: + * tests/Buffer_Stream_Test.cpp: + * tests/Conn_Test.cpp: + * tests/Dynamic_Priority_Test.cpp: + * tests/Enum_Interfaces_Test.cpp: + * tests/Env_Value_Test.cpp: + * tests/Future_Test.cpp: + * tests/Handle_Set_Test.cpp: + * tests/Hash_Map_Manager_Test.cpp: + * tests/IOStream_Test.cpp: + * tests/MM_Shared_Memory_Test.cpp: + * tests/MT_Reactor_Timer_Test.cpp: + * tests/MT_SOCK_Test.cpp: + * tests/Map_Manager_Test.cpp: + * tests/Mem_Map_Test.cpp: + * tests/Message_Block_Test.cpp: + * tests/Message_Queue_Test.cpp: + * tests/MsgQueue_Notifications_Test.cpp: + * tests/Naming_Test.cpp: + * tests/Notify_Performance_Test.cpp: + * tests/OrdMultiSet_Test.cpp: + * tests/Pipe_Test.cpp: + * tests/Priority_Buffer_Test.cpp: + * tests/Priority_Reactor_Test.cpp: + * tests/Priority_Task_Test.cpp: + * tests/Process_Mutex_Test.cpp: + * tests/Process_Strategy_Test.cpp: + * tests/Reactor_Exceptions_Test.cpp: + * tests/Reactor_Notify_Test.cpp: + * tests/Reactor_Performance_Test.cpp: + * tests/Reactor_Timer_Test.cpp: + * tests/Reactors_Test.cpp: + * tests/Reader_Writer_Test.cpp: + * tests/Recursive_Mutex_Test.cpp: + * tests/SOCK_Connector_Test.cpp: + * tests/SOCK_Test.cpp: + * tests/SPIPE_Test.cpp: + * tests/SString_Test.cpp: + * tests/SV_Shared_Memory_Test.cpp: + * tests/Semaphore_Test.cpp: + * tests/Service_Config_Test.cpp: + * tests/Sigset_Ops_Test.cpp: + * tests/Simple_Message_Block_Test.cpp: + * tests/TSS_Test.cpp: + * tests/Task_Test.cpp: + * tests/Thread_Manager_Test.cpp: + * tests/Thread_Mutex_Test.cpp: + * tests/Thread_Pool_Test.cpp: + * tests/Time_Service_Test.cpp: + * tests/Time_Value_Test.cpp: + * tests/Timeprobe_Test.cpp: + * tests/Timer_Queue_Test.cpp: + * tests/Tokens_Test.cpp: + * tests/UPIPE_SAP_Test.cpp: + * tests/Upgradable_RW_Test.cpp: + * tests/XtReactor_Test.cpp: + * tests/tests_bcc.ide: + Added RCS Id keywords to all these files. + + * ace/ace_bcc.ide: + Don't really know what changed here... + +Fri Jul 10 23:11:36 1998 David L. Levine <levine@cs.wustl.edu> + + * bin/make_release: redirect rdiff error messages to /dev/null. + +Fri Jul 10 22:15:04 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.5.21 released. + +Fri Jul 10 10:29:58 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/SString.h: added ACE_INLINE specifiers to operator+ + declarations, to please Sun C++. Will AIX be able to cope? + +Thu Jul 09 23:27:26 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> + + * ace/OS.h: + Corrected definitions for ACE_Export under Borland compilers. + + * ace/SString.h: + Got rid of the friend operators. + + * ace/Containers.cpp: + * ace/Message_Queue_T.cpp: + * ace/Stream.cpp: + * ace/Timer_Heap_T.cpp: + * tests/Buffer_Stream_Test.cpp: + * tests/Dynamic_Priority_Test.cpp: + * tests/Future_Test.cpp: + * tests/Naming_Test.cpp: + * tests/Priority_Buffer_Test.cpp: + * tests/Thread_Pool_Test.cpp: + Got rid of a few assignments to zero that cause warnings with + the Borland compiler. + + * ace/ace_bcc.ide: + * tests/tests_bcc.ide: + Now Borland C++ 5.x supports building ACE as a DLL, and the tests + are linked against the Debug DLL. + + * tests/tests.bpg: + * tests/Dynamic_Priority_Test.bpr: + * tests/Timeprobe_Test.bpr: + * tests/Upgradable_RW_Test.bpr: + * tests/XtReactor_Test.bpr: + Added four new tests to the project group. + + * tests/Aio_Platform_Test.bpr: + * tests/Atomic_Op_Test.bpr: + * tests/Barrier_Test.bpr: + * tests/Basic_Types_Test.bpr: + * tests/Buffer_Stream_Test.bpr: + * tests/Conn_Test.bpr: + * tests/Dynamic_Priority_Test.bpr: + * tests/Enum_Interfaces_Test.bpr: + * tests/Env_Value_Test.bpr: + * tests/Future_Test.bpr: + * tests/Handle_Set_Test.bpr: + * tests/Hash_Map_Manager_Test.bpr: + * tests/IOStream_Test.bpr: + * tests/MM_Shared_Memory_Test.bpr: + * tests/MT_Reactor_Timer_Test.bpr: + * tests/MT_SOCK_Test.bpr: + * tests/Map_Manager_Test.bpr: + * tests/Mem_Map_Test.bpr: + * tests/Message_Block_Test.bpr: + * tests/Message_Queue_Test.bpr: + * tests/MsgQueue_Notifications_Test.bpr: + * tests/Naming_Test.bpr: + * tests/Notify_Performance_Test.bpr: + * tests/OrdMultiSet_Test.bpr: + * tests/Pipe_Test.bpr: + * tests/Priority_Buffer_Test.bpr: + * tests/Priority_Reactor_Test.bpr: + * tests/Priority_Task_Test.bpr: + * tests/Process_Mutex_Test.bpr: + * tests/Process_Strategy_Test.bpr: + * tests/Reactor_Exceptions_Test.bpr: + * tests/Reactor_Notify_Test.bpr: + * tests/Reactor_Performance_Test.bpr: + * tests/Reactor_Timer_Test.bpr: + * tests/Reactors_Test.bpr: + * tests/Reader_Writer_Test.bpr: + * tests/Recursive_Mutex_Test.bpr: + * tests/SOCK_Connector_Test.bpr: + * tests/SOCK_Test.bpr: + * tests/SPIPE_Test.bpr: + * tests/SString_Test.bpr: + * tests/SV_Shared_Memory_Test.bpr: + * tests/Semaphore_Test.bpr: + * tests/Service_Config_Test.bpr: + * tests/Sigset_Ops_Test.bpr: + * tests/Simple_Message_Block_Test.bpr: + * tests/TSS_Test.bpr: + * tests/Task_Test.bpr: + * tests/Thread_Manager_Test.bpr: + * tests/Thread_Mutex_Test.bpr: + * tests/Thread_Pool_Test.bpr: + * tests/Time_Service_Test.bpr: + * tests/Time_Value_Test.bpr: + * tests/Timeprobe_Test.bpr: + * tests/Timer_Queue_Test.bpr: + * tests/Tokens_Test.bpr: + * tests/UPIPE_SAP_Test.bpr: + * tests/Upgradable_RW_Test.bpr: + * tests/XtReactor_Test.bpr: + Uniform options for Borland C++ and C++ Builder. + +Thu Jul 09 16:23:34 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Registry.h (ACE_Registry): Changed the Registry class so + that it does not use STL containers and the string classes + anymore. It now uses ACE containers and string classes. There + should be no dependency on STL in ACE anymore. + + * STL: Removed this directory since ACE is no longer dependent on + STL. If you still need these STL files, please refer to: + http://www.rahul.net/terris/. + + * examples/Registry/test_registry_{update,iterator}.cpp (main): + Updated files to work with modified Registry. + + * ace/SString.cpp (ACE_WString::operator<<): Added new operator. + + * Makefile: Updated Makefile so that STL is no longer released + with ACE. + +Thu Jul 09 09:37:43 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Basic_Types: for LONG_LONG size determination, don't use + ULONGLONG_MAX ifdef __GNUG__. This change should fix a build + problem on g++/Irix 6.4. Thanks to Johan Lundin <johan@lundin.com> + for reporting the problem. + +Wed Jul 08 17:47:48 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Strategies_T (ACE_Scheduling_Strategy, + ACE_Schedule_All_Reactive_Strategy, and + ACE_Schedule_All_Threaded_Strategy): The code in these classes + was screwed up. The base class (ACE_Scheduling_Strategy) was + keeping a pointer to the SVC_HANDLER in order to enable the + derived classes to get to the Reactor and Thread Manager. Also, + if the user did not pass in an instance of SVC_HANDLER, one was + created dynamically ;-( Another problem was that the Reactor + field was set on the SVC_HANDLER, but the SVC_HANDLER was never + registered with the Reactor. So when the SVC_HANDLER was + deleted, it tried to remove itself from a potentially + non-existent Reactor. + + Solution: Removed scheduler_ as protected member of the base + class. Added thr_mgr_ to ACE_Schedule_All_Threaded_Strategy and + reactor_ to ACE_Schedule_All_Reactive_Strategy. Now these + classes do not need the scheduler_ member anymore. + +Wed Jul 8 13:47:02 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-sunx86-sunc++-4.x.h: inserted note to not use this + config, but to use config-sunos5.5.h instead. After we + have installed and tested Sun C++ on Solaris86, we should + remove this config. + + * ACE-INSTALL.html: added note about increasing NUM_FILES to + 1000 in VxWorks kernel configuration. Thanks to + Jeff Franks <Jeffrey_Franks@i-o.com> for reminding me about + this change from the default VxWorks kernel configuration. + +Tue Jul 07 14:36:56 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ace_ce_dll.dsp: Added Stats.cpp into project. + + * ace/README: Added a new directive + ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS and its documentation. + + * ace/config-win32-common.h: Defined + ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS for Win32 except CE. + + * ace/Log_Msg.{h,cpp}: + * ace/OS.{h,i,cpp}: Changed to use ifdef + ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS for structural exception + code. + + * ace/Token.cpp: + * ace/Stats.cpp: + * ace/High_Res_Timer.cpp: Made them CE friendly. + +Tue Jul 07 09:26:22 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Thread_Manager.h: updated comments that describe + ACE_thread_t * argument to spawn () family. + + * ace/OS.{h,cpp},Thread_Manager.cpp: on VxWorks only, instead + of using a string to mark an ACE_thread_t as being allocated + by the ACE_Thread_Manager, use a single character (ASCII DC2). + + * tests/run_tests.vxworks: added Dynamic_Priority_Test. + + * apps/gperf/src/Makefile: added trailing $ to Id string. + +Tue Jul 7 10:48:42 EET DST 1998 Wei Chiang <chiang@horizon.ntc.nokia.com> + + * tests/CLASSIX/CLASSIX_Con_Acc_Test.cpp: + Use a counter, max. number of unread messages, instead of wait + to work around the blocking problem in ipcSend() + +Mon Jul 6 22:32:19 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> + + * ace/ace_bcc.ide: + Updates for Borland C++ 5.x. + + * ace/config-win32.h: + Made sure ACE_HAS_WINNT4 and _WIN32_WINNT are always defined if + they were not explicitly defined. + + * ace/config-win32-borland.h: + * ace/config-win32-common.h: + Moved all the Borland definitions to a config-win32-borland.h + file. + + * ace/OS.h (ACE_SEH_TRY): + Added correct support for Borland C++ 5.x. + + * ace/OS.cpp: + Replaced the ugly hack to access wProcessorArchitecture under + Borland compilers for an even uglier hack, but that will work on + every Borland compiler, as long as the members of SYSTEM_INFO are + consistent. See the code and get sick! + + * ace/LOCK_SOCK_Acceptor.h: + * ace/Array.cpp: + * ace/Arg_Shifter.cpp: + Were missing an "ace/" in some includes. + + * tests/tests_bcc.ide: + Added all (well, most) of the tests to the project file. + + * tests/Makefile: + * tests/Message_Queue_Notifications_Test.cpp: + * tests/Message_Queue_Notifications_Test.bpr: + * tests/Message_Queue_Notifications_Test.dsp: + * tests/MsgQueue_Notifications_Test.cpp: + * tests/MsgQueue_Notifications_Test.bpr: + * tests/MsgQueue_Notifications_Test.dsp: + * tests/run_tests.bat: + * tests/run_tests.psosim: + * tests/run_tests.sh: + * tests/run_tests.vxworks: + * tests/tests.bpg: + * tests/tests.dsw: + * tests/tests.mak: + * tests/WinCE/Message_Queue_Notifications_Test.dsp: + * tests/WinCE/MsgQueue_Notifications_Test.dsp: + * tests/version_tests/Message_Queue_Notification_Test.dsp: + * tests/version_tests/MsgQueue_Notifications_Test.dsp : + Changed name of Message_Queue_Notifications_Test to + MsgQueue_Notifications_Test, to avoid problems with Borland + compilers. + + * tests/Enum_Interfaces_Test.cpp: + Added some output to test ACE_OS::uname(). + + * tests/Basic_Types_Test.cpp: + Changed a couple of debug lines to contain only one \n. + +Mon Jul 6 14:24:11 EET DST 1998 Wei Chiang <chiang@horizon.ntc.nokia.com> + + * tests/CLASSIX/CLASSIX_Con_Acc_Test.cpp: + Add a pause after each send_n()(i.e. ipcSend()) as a temporary + work around over the block problem in ipcSend() when the resources are + exhaused. + + +Mon Jul 6 03:56:49 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Thread_Manager.h (ACE_Thread_Manager::thr_self): Instead of + refering to ACE_Thread::thr_self, it should mention + ACE_Thread::self. + +Fri Jul 03 17:02:49 1998 David L. Levine <levine@cs.wustl.edu> + + * bin/make_release (create_kit): remove any existing .zip + files before trying to create new ones, because they get + in the way. Thanks to J. Russell Noseworthy + <rnosewor@objectsciences.com> for reporting the problem + with new ACE+TAO.tar.gz's not being created. + +Fri Jul 3 14:24:59 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * apps/gperf/src/gperf.dsw: + * apps/gperf/src/gperf.dsp: + * apps/gperf/src/gperf_lib.dsp: + Added MSVC5 Project files + + * apps/gperf/src/Key_List.cpp: + * apps/gperf/src/Options.h: + * apps/gperf/src/Options.cpp: + There was a enumeration CONST, and MSVC5 didn't like it. I + renamed it to CONSTANT. + + * apps/gperf/src/new.cpp + Changed a variable from int to size_t to get rid of a MSVC + warning. + + NOTE: I tried out some tests and even though gperf compiles + on NT, it doesn't seem to work correctly yet. That + will come later. + +Fri Jul 03 13:47:19 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.5.20 released. + +Fri Jul 03 08:52:13 1998 Steve Huston <shuston@riverace.com> + + * netsvcs/lib/Name_Handler.{cpp h}: Moved class Naming_Context from + .cpp to .h so that AIX xlC can find it when instantiating templates. + +Thu Jul 2 11:49:16 1998 Alexander Babu Arulanthu <alex@cs.wustl.edu> + + * ace/OS.h: + * ace/OS.i: Added ACE_OS::fseek (). NT supports this too. Just + defined SEEK_SET, SEEK_CUR etc, in case they are not defined. This + is similar to what has been done for lseek. + +Thu Jul 02 10:58:00 1998 Michael Kircher <mk1@cs.wustl.edu> + + * tests/Upgradable_RW_Test.cpp: Totally new version, + now we use linked lists on which we search to + spend some time. + + * tests/Upgradable_RW_Test.dsp: Project file for this test. + + * tests/tests.dsw: Integrated this project. + + * tests/version_tests.dsw: Integrated this project. + + * tests/Upgradable_RW_Test.dsp: Project file for this test. + +Thu Jul 02 09:14:20 1998 David L. Levine <levine@cs.wustl.edu> + + * examples/Reactor/Misc/test_timer_queue.cpp (test_functionality): + use timer_id outside of an assert, so that we don't get compile + warnings with ACE_NDEBUG about it being unused. + + * ace/OS.cpp (thr_create): on VxWorks only, check if thr_id + points to a zero char *. If so, assign the VxWorks task + name pointer to it (*thr_id). Thanks to Bill Backstrom + <backstr@anubis.network.com> for this suggestion. + + * ace/Thread_Manager.cpp (spawn_i): on VxWorks only, augmented + comment to explain the various cases for t_id and *t_id values. + + * ace/Thread_Manager.h (spawn*): on VxWorks only, added comment + explaining use of ACE_thread_t * argument. + + * tests/Barrier_Test.cpp: on VxWorks only, added test of + an ACE_thread_t that points to a 0 char *. + + * tests/Barrier_Test.cpp,Thread_Manager_Test.cpp: moved + VxWorks task name and stack size tests from Barrier_Test + to Thread_Manager_Test. + + * tests/run_tests.vxworks: on VxWorks only, enabled + Message_Queue_Test. It's OK to run it on VxWorks, now + that the iterator_test () is disabled in the test. + + * tests/SOCK_Connector_Test.cpp (succeed_nonblocking): + if the connection completion fails, reset the status + _before_ doing the printout. The printout causes the + errno to be overwritten on LynxOS 2.5.0, for example. + + * Makefile (releaseall): use $(MAKE) instead of make for + recursive make. + +Wed Jul 01 21:31:40 1998 Arturo Montes <mitosys@colomsat.net.co> + + * ace/IOStream_T.i (recv_n, eof): fixed calculation of + timeout_ and return value. + +Wed Jul 01 08:51:33 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/Service_Types.cpp + tests/Dynamic_Priority_Test.cpp: Moved explicit template + instantiations for ACE_Dynamic_Message_Queue and + ACE_Message_Queue_Factory from the test into the ACE library + (next to where the ACE_Message_Queue instantiations resided). + +Wed Jul 01 07:08:40 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Message_Queue.i,cpp (VxWorks only): removed args from a + couple of unsupported functions, and added ACE_UNUSED_ARGS + to others, to avoid compiler warnings. + + * tests/Message_Queue_Test.cpp (performance_test): allocate + the send blocks in the main thread instead of in the sender. + That way, the main thread can delete them after the + receiver has finished. Before this change, the sender would + sometimes delete them before the reciever finished. Thanks to + Carlos and his friend Mr. SIGSEGV for helping to track this down. + +Tue Jun 30 23:48:39 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Message_Queue.h: Added /**/ between #include and <> to + prevent warnings from MSVC. + +Tue Jun 30 22:05:01 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/Dynamic_Priority_Test.cpp: added template + instantiations. + +Tue Jun 30 18:55:45 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/Message_Queue_T.{cpp, h} + + Added methods to ACE_Message_Queue_Factory to + create an ACE_Dynamic_Message_Queue with the + deadline and laxity with cleanup strategies. + + * tests/Dynamic_Priority_Test.cpp + + Added tests for the new cleanup strategy factory methods + +Tue Jun 30 18:03:15 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/Message_Queue_T.{cpp, h} + ace/Message_Block.{cpp, h, i} + + Reorganized ACE_Dynamic_Message_Queue and related classes, + fixed bugs that turned up in testing: it's ready to put + on the road and see how it runs ;-) + + * tests/Dynamic_Priority_Test.{cpp, dsp} + tests/tests.dsw + tests/Makefile + tests/run_tests.{bat, sh} + + Added a test for the static and dynamic (both deadline and laxity + based) message queues, which assigns various message attributes, + pushes messages into the queue, and makes sure the resulting + dequeue order is correct for the given kind of queue. + +Tue Jun 30 14:04:42 1998 Steve Huston <shuston@riverace.com> + + * ace/Message_Queue_T.cpp: Fixed references to an undeclared + priority_eval_func_ptr_ - I think I figured out what it was + supposed to be doing, but I'm not quite sure. It compiles ;-) + + * ace/Synch.h (ACE_Adaptive_Lock): Removed "= 0" (pure virtual) from + destructor decl. The function is defined in Synch.cpp. + +Tue Jun 30 13:13:21 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/WFMO_Reactor.cpp (open): Made sure that size does not exceed + MAXIMUM_WAIT_OBJECTS. Thanks to Dr. Schmidt for pointing this + out. + +Tue Jun 30 11:45:12 1998 Steve Huston <shuston@riverace.com> + + * ace/Message_Queue_T.cpp: Added explicit class names where needed + for ANSI C++. Fixed some compile errors. Still needs more work to + compile correctly on HP-UX aCC. + +Tue Jun 30 09:27:25 1998 David L. Levine <levine@cs.wustl.edu> + + * etc/ACE-guidelines.html: added a guideline about using ACE_Export. + + * ace/Message_Queue.cpp (ACE_Message_Queue_Vx::dtor; VxWorks only): + added close () call to destructor, because the one in the parent + class will never get called because head_ is always 0 in the derived + class. + + * ace/Message_Queue.i (VxWorks only): finished implementing the + ACE_Message_Queue_Vx inline member functions. + + * tests/Message_Queue_Test.cpp: added performance tests and + tests of ACE_Message_Queue_Vx. + +Tue Jun 30 03:39:15 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Synch.h (ACE_RW_Process_Mutex): This class no longer needs + to inherit from ACE_Process_Mutex. + + * ace/Synch.cpp (ACE_RW_Process_Mutex): On non-Win32 platforms, + the underlying ACE_File_Lock needs to be created with owner's + read/write permission. Otherwise, other process won't be able + to access the lock. + + * Makefile (CONTROLLED_FILES): Added ChangeLog-98a and + ChangeLog-97b into release. Thanks to Ivan Murphy + <Ivan.Murphy@med.siemens.de> for pointing this out. + +Tue Jun 30 00:51:32 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.19 released. + +Tue Jun 30 00:07:39 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * examples/Service_Configurator/Misc/main.dsp: Added macro + definition ACE_SVC_HAS_DLL=0 in this project. DLL linkage is + not used in this example (yet.) Thanks to Joe Covalesky + <joe@nowsol.com> for noticing this. + +Mon Jun 29 21:16:39 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp (invoke): wrapped final return with ACE_NOTREACHED. + "It's the right thing to do." + +Mon Jun 29 19:42:12 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Timeprobe_T.cpp (ACE_Timeprobe): Changed __TEXT to ASYS_TEXT. + +Mon Jun 29 14:48:58 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.h: Added UNICODE macros for non-Win32 platforms. Thanks + to Jeff Greif <jmg@trivida.com> for pointing this out. + + * ace/OS.cpp (invoke): Added a return at the end to keep AIX + happy. Thanks to CLahey@cccis.com for reporting this. + +Mon Jun 29 11:37:28 1998 Steve Huston <shuston@riverace.com> + + * ace/ACE.cpp: Added a 'const' to initialized ASYS_TCHAR * - string + literal conversion to char * is deprecated in C++. + +Sun Jun 28 22:16:51 1998 David L. Levine <levine@cs.wustl.edu> + + * examples/Service_Configurator/Misc/main.cpp (main): removed + argc declaration because it was unused. + + * examples/Threads/task_five.cpp (work): added + ACE_UNUSED_ARG (stack_size). + + * ace/Message_Queue_T.h: fully qualify the DEFAULT_[HL]WM + references so that it will compile with aCC 1.07 on HPUX 10.20. + Thanks to Avi Nash <anash@RedBrick.COM> for reporting this + problem. + + * acer/Message_Queue.{h,cpp} (ACE_Message_Queue_Vx:enqueue_head/tail): + implement these for VxWorks. enqueue_head_i just calls + enqueue_tail_i. + +Sat Jun 27 18:13:05 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Timeprobe_T.cpp (ACE_Timeprobe - copy constructor): Stupid + MSVC is forcing me to define this and make it public; it should + really be protected; please don't use it. + + * ace/Timeprobe.h: Added ACE_SINGLETON_DECLARATION; otherwise all + compilation units would get a different instantiation of the + time probe class. Also, changed ACE_TIMEPROBE_SINGLETON to a + #define instead of a typedef; otherwise the compiler bitched + when it was use in ACE_SINGLETON_DECLARATION. + + * SINGLETON_INSTANTIATION: Removed this flag from all files in + ACE. It is causing duplicate declaration errors. + +Sat Jun 27 11:29:50 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.18 released. + +Sat Jun 27 11:27:28 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Basic_Types.h: use ACE_CAST_CONST instead of const in + ACE_CU64_TO_CU32. + +Sat Jun 27 11:03:52 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * README: Updated the list of people who have contributed to TAO. + +Sat Jun 27 07:07:43 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.17 released. + +Sat Jun 27 00:27:29 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Timeprobe: + + - Added back ACE_COMPILE_TIMEPROBES. David pointed out that + without this flag, size of ACE increases even when time probes + are not being used. Therefore, users must compile ACE with + this flag defined if they want to use time probes. This can + be achieved by doing one of the following: + + . Use make probe = 1, if you are using the make utility. + + . Define ACE_COMPILE_TIMEPROBES in config.h + + . Define ACE_COMPILE_TIMEPROBES in the VC project file. + + . Other regular methods will also work. + + It is not necessary to define ACE_COMPILE_TIMEPROBES when + using time probes, you simply need ACE_ENABLE_TIMEPROBES. You + can use the ACE_TIMEPROBE_* macros to program the time probes, + and use the ACE_ENABLE_TIMEPROBE to enable the time probes. + If you define ACE_ENABLE_TIMEPROBE in your code, but forget to + compile ACE with ACE_COMPILE_TIMEPROBES, you will end up with + linker errors. + + Remember that ACE_COMPILE_TIMEPROBES means that the ACE + library will contain code for time probes. This is only + useful when compiling ACE. ACE_ENABLE_TIMEPROBES means that + the ACE_TIMEPROBE_* macros should spring to life. + + - Added inclusion of OS.h. This way the ACE_COMPILE_TIMEPROBES + can be specified in the config file. + + * include/makeinclude/wrapper_macros.GNU: probe = 1 no longer + means ACE_ENABLE_TIMEPROBE. It only means + ACE_COMPILE_TIMEPROBES. This was changed because defining + ACE_ENABLE_TIMEPROBE here is too broad. ACE_ENABLE_TIMEPROBE is + cleverly designed so that it allows only some time probes to be + enabled (where ACE_ENABLE_TIMEPROBE is defined), while others to + be disabled (where ACE_ENABLE_TIMEPROBE is not defined). + + Example: IDL_Cubit time probes can be enabled without enabling + TAO time probes. Or TAO time probes can be enabled without + enabling IDL_Cubit time probes. TAO time probes are controlled + through TAO/tao/Timeprobes.h. + + * tests/Timeprobe_Test.cpp: + + - Defining ACE_ENABLE_TIMEPROBES is not forced. Users can + uncomment this at the top of the file. This relieves us from + trying to include the symbols of ACE_Timeprobes from ACE if + ACE was compiled without using ACE_COMPILE_TIMEPROBES (the + #include ace/Timeprobe.cpp trick did not work on all 8 + different ways of compiling ACE on NT). + + - Made the registration of the description arrays similar to the + real use cases (in TAO). + + - Introduced enums and took the magic numbers out. + +Fri Jun 26 20:37:06 1998 Matthew J Braun <mjb2@cec.wustl.edu> + * tests/Logger/clnt.h + * tests/Logger/clnt.cpp + * tests/Logger/svr.cpp + * orbsvcs/orbsvcs/Log/Logger_i.h + * orbsvcs/orbsvcs/Log/Logger_i.cpp + * orbsvcs/orbsvcs/Logger.idl + + The current status of this is incomplete. The svr* test is guaranteed + to be nonfunctional (I cannot yet speak for the rest). + + +Fri Jun 26 14:52:33 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/test_config.h: Don't close the ofstream before opening the + log stream in ACE_APPEND_LOG on Win32. It it not necessary + because Win32 doesn't have fork anyway and it somehow confuses + Win32 (becuase no file was openen at that point.) + + * performance-tests/Makefile: Temporarily removed Synch-Benchmark + from the targets. It should be added back once the work is + done. + +Fri Jun 26 11:50:03 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.h: map ACE_dynamic_cast to static_cast with Sun C++, + without RTTI, to avoid warning about using dynamic_cast + without RTTI. Thanks to J. Russell Noseworthy + <rnosewor@objectsciences.com> for reporting this. + + * include/makeinclude/wrapper_macros.GNU,ACE-INSTALL.html: + added rtti make option. + + * ace/Message_Queue.*: on VxWorks, added ACE_Message_Queue_Vx, + which wraps native VxWorks messages queues. See the header + file for limitations. + + * ace/Message_Queue_T.*,Makefile: split Message_Queue into + template and non-template files. + + * ace/Basic_Types.h: added ACE_CU64_TO_CU32 conversion macro, + for converting const ACE_UINT64 to const ACE_UINT32. The old + ACE_U64_TO_U32 wouldn't work with Sun C++'s ANSI casts. + + * performance-tests/Misc/basic_perf.cpp (per_iteration): use + ACE_CU64_TO_CU32 for narrowing the const ACE_UIN64 argument. + + * ace/config-sunos5.5.h: added ACE_HAS_ANSI_CASTS with Sun C++ 4.2. + + * include/makeinclude/platform_sunos5_sunc++.GNU: added + -features=castop to CCFLAGS, to enable use of ANSI casts. + + Thanks to J. Russell Noseworthy <rnosewor@objectsciences.com> + for recommending the above two changes. + + * include/makeinclude/platform_sunos5_sunc++.GNU: Added + support for rtti=1 option to make, to optionally enable RTTI. + +Fri Jun 26 11:39:49 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ACE-INSTALL.html: Added more infomation in {Free,Net}BSD. + +Fri Jun 26 10:51:07 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/OS.h: + Fixed problem in ACE_DES_* macros, some preprocessors were + tokenizing ::~CLASS as ":: ~CLASS" and we wanted ":: ~ CLASS" + (were class in a macro argument). + +Fri Jun 26 09:48:55 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * VERSION: Updated this file to direct bug reports to + the ACE mailing list. + +Fri Jun 26 10:43:02 EET DST 1998 Wei Chiang <wei.chiang@ntc.nokia.com> + + * ace/CLASSIX/CLASSIX_OS.cpp: + ACE_CLASSIX_OS::ACE_CLASSIX_OS() + After created an CLASSIX reactor as an actor-wide singleton + reactor, delete the original reator singleton, if any. + +Fri Jun 26 02:18:05 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * performance-tests/Synch-Benchmarks/Benchmark[_Base].{h,cpp}: + * performance-tests/Synch_Benchmarks/Makefile: Added a new class + Benchmark_Base so we can not only load the test items + but also the test methods dynamically. + +Wed Jun 24 21:37:22 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Message_Queue.cpp (refresh_queue): fixed syntax + error: extraneous ;. + +Wed Jun 24 19:52:30 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/IPC_SAP.cpp (enable,disable): Fixed #define nesting. + +Wed Jun 24 15:36:18 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp + (Peer_Router_Context): For some reason, MSVC can't grop the + temporary objects. Therefore, I changed the ACE_INET_Addr object + in the constructor to a local variable. + +Wed Jun 24 17:10:06 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Timeprobe: Removed ACE_COMPILE_TIMEPROBE. ACE library will + always contain ACE_Timeprobe code. + +Wed Jun 24 16:20:02 1998 James CE Johnson <jcej@lads.com> + + * ace/IOStream.cpp (underflow,overflow): added protection against + errors, when get/put buffers can be set to 0. + +Wed Jun 24 14:42:50 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/Message_Queue.{cpp,h}: added =TITLE/=DESCRIPTION + and method comments to ACE_Message_Queue_Factory + + * ace/Message_Block.h: fixed comment in ACE_Laxity_Message_Strategy + +Wed Jun 24 13:35:15 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/Message_Queue.{cpp,h,i} + ace/Message_Block.{cpp,h,i}: Fixed ACE_UNIMPLEMENTED_FUNC + declarations in ACE_Dynamic_Message_Queue, moved the + ACE_Dynamic_Message_Strategy, ACE_Laxity_Message_Strategy, + and ACE_Deadline_Message_Strategy classes from the + Message_Queue.* files into the respective Message_Block.* + files (fixes link errors on platforms such as NT which + require template source). + +Wed Jun 24 11:38:00 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/Message_Block.{cpp,h,i}: Added worst case execution time and + deadline absolute time ACE_Time_Value members to ACE_Message_Block. + These default to ACE_Time_Value::zero in the constructors and + initialization methods. + + * ace/Message_Queue.{cpp,h,i}: Added ACE_Dynamic_Message_Queue, + ACE_Dynamic_Message_Strategy, ACE_Deadline_Message_Strategy, + ACE_Laxity_Message_Strategy, and ACE_Message_Queue_Factory + classes to facilitate adaptive use of statically or dynamically + prioritized message queues. + +Wed Jun 24 10:23:27 1998 David L. Levine <levine@cs.wustl.edu> + + * bin/make_release: 1) inserted /pkg/gnu/bin at head of + PATH, if it exists. That way, cvs diff will use GNU diff. + Thanks to Doug for tripping over that. + 2) changed grep -E to egrep. + + * ace/OS.i,gethrtime.cpp (gethrtime): with Pentium and g++ or ghs, + only; fixed load of 64-bit tick count into two 4-byte ints. + + * performance-tests/Misc/basic_perf.cpp (iteration_time): check + for elapsed_time_ less than empty_iteration_time_, and return 0 + if so. + +Wed Jun 24 10:02:14 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/ASX/Event_Server/Transceiver/transceiver.cpp + (parse_args): Fixed a warning about control reaching the end of + a method. Thanks to David Levine for reporting this. + + * .cvsignore: Added "build" to make CVS happy. Thanks to + David for this info. + + * ace/CLASSIX: Reran "make depend." + + +Wed Jun 24 13:34:32 EET DST 1998 Wei Chiang <chiang@horizon.ntc.nokia.com> + + * tests/CLASSIX/* + Attached "CLASSIX_" to all the file names in this directory + Added Imakefile + + * ace/CLASSIX/CLASSIX_Select_Reactor.* + test/CLASSIX/CLD_Connector_Test.cpp + get_current_info() is now renamed to current_info() in compliant + with ACE_Reactor_Impl class. + +Wed Jun 24 08:17:25 EET DST 1998 Wei Chiang <chiang@horizon.ntc.nokia.com> + + * Renamed ace/CLASSIX/CLASSIX_Reactor.* to + ace/CLASSIX/CLASSIX_Select_Reactor.* and adujsted other files + accordingly. + + * ace/CLASSIX/CLASSIX_Reactor.* + make naming reference consistenet: all the references to + ACE_CLASSIX_Reactor are now to ACE_CLASSIX_Select_Reactor + +Wed Jun 24 02:39:35 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.16 released. + +Wed Jun 24 00:00:44 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/ASX/Event_Server/Transceiver/transceiver.cpp: Cleaned + up the Event_Transceiver code a bit. + + * examples/ASX/Event_Server/Event_Server/event_server.cpp (main): + Cleaned up the code a bit. + + +Wed Jun 24 06:54:00 EET DST 1998 Wei Chiang <chiang@horizon.ntc.nokia.com> + + * Attached "CLASSIX_" to all the file names in ace/CLASSIX. + + * Modified include statments in ace/CLASSIX/* to reflect the + name changes. + + * Added Makefile in ace/CLASSIX + + * ace/CLASSIX/CLASSIX_Reactor.h: + ACE_CLASSIX_Reactor_Notify is now derived from ACE_Reactor_Notify + The private data member, select_reactor_, is now an + ACE_CLASSIX_Reactor class instead of an ACE_Select_Reactor class. + + * ace/CLASSIX/CLASSIX_Reactor.cpp: + in open() + uses ACE_dynamic_cast() to cast <theReactor> + parameter from ACE_Reactor_Impl to ACE_CLASSIX_Reactor + +Tue Jun 23 22:18:42 1998 Douglas C. Schmidt <schmidt@cumbia.cs.wustl.edu> + + * examples/Mem_Map/file-reverse/file-reverse.cpp: Fixed a minor + bug where the program would ungraciously core dump if the file + given on the command-line doesn't exist. Thanks to William + S. Lear <rael@dejanews.com> for reporting this. + +Tue Jun 23 20:33:30 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Synch.h (ACE_Adaptive_Lock): Added ACE_Export. + +Tue Jun 23 18:59:31 1998 Steve Huston <shuston@riverace.com> + + * ace/Acceptor.cpp (ACE_Strategy_Acceptor<>::resume()): Don't + suspend() the object; resume() it - looked like a cut/paste error. + +Tue Jun 23 16:41:35 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Synch.{h,cpp} (class ACE_Adaptive_Lock): Added the new Lock + class which allows its subclass to determine the actual locking + mechanism it uses at run time. Notice that all subclasses must + provide their own contructor/destructor implementation. + +Tue Jun 23 06:40:35 1998 David L. Levine <levine@cs.wustl.edu> + + * examples/Map_Manager/test_hash_map_manager.cpp (main): + replaced use of cerr with and ACE_ERROR_RETURN. Thanks + to Philippe Klein <Philippe_Klein@vocaltec.com> for reporting + this. + + * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp: + added #include of ace/streams.h. Thanks to Philippe Klein + <Philippe_Klein@vocaltec.com> for reporting this. + + * tests/TSS_Test.cpp (worker): declare "u" globally so that + we don't quickly run out of TSS keys. + +Mon Jun 22 09:25:32 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/XtReactor.cpp: + The notify_handler_ is a pointer now, it was still deferenced as + an object. + +Mon Jun 22 09:04:21 1998 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/platform_osf1_4.0.GNU: removed suppression + of warning 340, used reference to copied (temporary) value, + because it's no longer needed. + + * ace/Message_Queue.cpp (ACE_Message_Queue_Iterator ctor): + replaced "queue" with "q" to avoid problems with STL or on + platforms that #define queue. Thanks to Dave Meyer + <dmeyer@std.saic.com> for reporting this. + + * ace/Synch_T.h: added adapter class ACE_TSS_Type_Adapter. + It adapts built-in types for use with ACE_TSS. + + * tests/TSS_Test.cpp: demonstrate/test use of ACE_TSS_Type_Adapter. + + * ace/Timeprobe.h: added semicolon to end of + ACE_TIMEPROBE_EVENT_DESCRIPTIONS definition, when it's non-null. + + * tests/Timeprobe_Test.cpp (main): removed trailing semicolon + from ACE_TIMEPROBE_EVENT_DESCRIPTIONS, and added ACE_UNUSED_ARGs + to avoid compilation warnings about unused variables. + +Mon Jun 22 04:49:29 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * man/windex: Removed ACE_Service_Record from all the + documentation since it is no longer relevant. Thanks + to Ivan Murphy for reporting this. + +Mon Jun 22 02:59:42 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Process.cpp (setenv_i): Nedd to adjust the memory size to + the actual string size. + +Mon Jun 22 02:32:56 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> + + * ace/Thread_Manager.h: + * ace/Thread_Manager.cpp: + * ace/Thread_Manager.i: + * ace/OS.cpp (uname): + Moved a few things (comparison operators) from + ACE_Thread_Descriptor to ACE_Thread_Descriptor_Base, to satisfy + Borland compilers. + Enabled a conditional compilation for all Borland compilers. + Thanks to Valik Solorzano Barboza <valik@xs4all.nl> for pointing + these things out. + +Mon Jun 22 01:14:36 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> + + * ace/ACE.bpg: + * ace/ACED.bpr: + * ace/ACER.bpr: + Contained ^M characters. + I also made sure there were no absolute paths pointing to "gonzo" + directories... + + * ace/ACED.cpp: + * ace/ACER.cpp: + Added Stats.cpp as a module in the right place. + + * ace/OS.h: + Added a ACE_NOOP macro to avoid compilation warnings when "if" is + used as a noop in certain macros. + + * ace/Hash_Map_Manager.cpp: + * ace/Map_Manager.cpp: + Replaced the use of "if" as a noop with ACE_NOOP. + + * ace/Signal.cpp: + For some obscure reason, Borland needs a blank line between the + #if and the extern "C" void ace_sig_handler_dispatch() + definition. Don't ask... + + * ace/Asynch_IO.h: + Changed (again) inheritance for ACE_Asynch_Result from protected + to public. + + * tests/Aio_Platform_Test.bpr: + * tests/Atomic_Op_Test.bpr: + * tests/Barrier_Test.bpr: + * tests/Basic_Types_Test.bpr: + * tests/Buffer_Stream_Test.bpr: + * tests/Conn_Test.bpr: + * tests/Enum_Interfaces_Test.bpr: + * tests/Env_Value_Test.bpr: + * tests/Future_Test.bpr: + * tests/Handle_Set_Test.bpr: + * tests/Hash_Map_Manager_Test.bpr: + * tests/IOStream_Test.bpr: + * tests/MM_Shared_Memory_Test.bpr: + * tests/MT_Reactor_Timer_Test.bpr: + * tests/MT_SOCK_Test.bpr: + * tests/Map_Manager_Test.bpr: + * tests/Mem_Map_Test.bpr: + * tests/Message_Block_Test.bpr: + * tests/Message_Queue_Notifications_Test.bpr: + * tests/Message_Queue_Test.bpr: + * tests/Naming_Test.bpr: + * tests/Notify_Performance_Test.bpr: + * tests/OrdMultiSet_Test.bpr: + * tests/Pipe_Test.bpr: + * tests/Priority_Buffer_Test.bpr: + * tests/Priority_Reactor_Test.bpr: + * tests/Priority_Task_Test.bpr: + * tests/Process_Mutex_Test.bpr: + * tests/Process_Strategy_Test.bpr: + * tests/Reactor_Exceptions_Test.bpr: + * tests/Reactor_Notify_Test.bpr: + * tests/Reactor_Performance_Test.bpr: + * tests/Reactor_Timer_Test.bpr: + * tests/Reactors_Test.bpr: + * tests/Reader_Writer_Test.bpr: + * tests/Recursive_Mutex_Test.bpr: + * tests/SOCK_Connector_Test.bpr: + * tests/SOCK_Test.bpr: + * tests/SPIPE_Test.bpr: + * tests/SString_Test.bpr: + * tests/SV_Shared_Memory_Test.bpr: + * tests/Semaphore_Test.bpr: + * tests/Service_Config_Test.bpr: + * tests/Sigset_Ops_Test.bpr: + * tests/Simple_Message_Block_Test.bpr: + * tests/TSS_Test.bpr: + * tests/Task_Test.bpr: + * tests/Thread_Manager_Test.bpr: + * tests/Thread_Mutex_Test.bpr: + * tests/Thread_Pool_Test.bpr: + * tests/Time_Service_Test.bpr: + * tests/Time_Value_Test.bpr: + * tests/Timer_Queue_Test.bpr: + * tests/Tokens_Test.bpr: + * tests/UPIPE_SAP_Test.bpr: + * tests/tests.bpg: + Contained ^M characters. + I also made sure there were no absolute paths pointing to "gonzo" + directories... + +Mon Jun 22 01:33:12 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.h (ACE_SYNCH_{1,2}): These two macros were added back for + backward compatibility. + +Mon Jun 22 01:12:53 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/OS.i (dlerror): Just use FormatMessageA instead of + FormatMessage. The you don't have to worry about UNICODE being + turned on. + +Mon Jun 22 00:01:02 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.15 released. + +Sun Jun 21 23:54:28 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/config-freebsd-pthread.h: Defined + ACE_LACKS_MUTEXATTR_PSHARED and ACE_LACKS_CONDATTR_PSHARED. + +Sun Jun 21 10:14:32 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/IPC_SAP/SOCK_SAP/CPP-unserver.cpp (server): Fixed + another ambiguity caused by the recent SOCK_IO changes. Thanks + to David for pointing this out. + +Sun Jun 21 00:16:56 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.i (dlerror): Have to treat UNICODE differently because + FormatMessage takes wchar when UNICODE is defined. + + * ace/WFMO_Reactor.{h,i,cpp}: Changed the parent class of + ACE_WFMO_Reactor_Notify from ACE_Event_Handler to + ACE_Reactor_Notify. + (dump): Added this virtual function implementation for + ACE_WFMO_Reactor_Notify. + + * Ace/Proactor.cpp (timeout): Fixed a typo. + +Sat Jun 20 16:51:39 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Reactor*: Made a slew of changes to the Reactor and it's + associated implementations so that we can integrate it + seamlessly with Chorus ClassiX IPC. Thanks to Wei Chiang for + these changes. + + * ace/Acceptor.cpp: Added a flag that keeps track of whether we should + use select() in the Acceptor. This makes it easier to integrate + this stuff with Chorus IPC. Thanks to Wei Chiang for this. + + * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: Removed the trailing + 0 to the send() operation to (1) avoid overload ambiguity and + (2) to use write() rather than send()! Thanks to Chris Healey + for reporting this. + + * ace/ACE: The default condition in the select switch in the + enter_*_timed_wait functions assumed that all values returned + from select if not 0 or 1 will be -1. This is true in those + functions due to only 1 file descriptor flag being set. Thanks + to Chris Healey for generalizing this a bit... + + * ace/SOCK_IO: Added the wrappers for the "non-flags" version of + timed send()/recv(). Thanks to Chris Healey for this. + + * ace/FILE_Addr.cpp: Cleaned up the code a bit to be more + consistent. Thanks to Chris Healey for suggesting this. + + * ace/FILE_Addr.cpp (ACE_FILE_Addr): Removed the memset() in the + constructor since this is overkill... + + * ace/ACE.cpp (send_n): Fixed a dump cut&paste bug in the timed + version of send_n(). Thanks to Chris Healey + <chealey@entera.com> for reporting this. + +Sat Jun 20 14:58:21 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * bin/indent_macros.perl: Instead of hardcoding perl's location in + the script, it now invokes perl according to user's environment + setting. Thanks to David for providing the improvement. + +Sat Jun 20 01:24:28 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * include/makeinclude/platform_freebsd_pthread.GNU: Changed to use + -Wall to report all warnings. + + * ace/OS.cpp (thr_create): Specify <priority> as an unused + argument when ACE_LACKS_SETSCHED. + + * ace/OS.{h,i,cpp}: Rearrange macro indentations. + + * bin/indent_macros.perl: This little perl script rearrange the + indentation of macros so they are a bit easier to debug. + + * ace/config-freebsd-pthread.h: Defined ACE_LACKS_PTHREAD_CANCEL. + +Sat Jun 20 00:14:07 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> + + * examples/Reactor/Proactor/test_proactor_with_aio.cpp: Test + program for the Asynch_Transmit_File, Asynch_Read_File, + Asynch_Read_Stream, Asynch_Write_File and Asynch_Write_Stream. + +Fri Jun 19 23:58:35 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> + * ace/Proactor.h : + * ace/Proactor.cpp : + * ace/Asynch_IO.h : + * ace/Asynch_IO.cpp : + - Implemented Asynch_Transmit_File for POSIX4 systems. + - Added a new class "ACE_Asynch_Transmit_Handler", which is + an auxillary handler class for Asynch_Transmit_File. This + does the actual transmission doing file read and stream + write asynchronously and finally calling the + transmit_handler in the application. + - Aiocb list is now of size RTSIG_MAX, the maximum number + of RT signals that can be queued in a process at a time. + +Fri Jun 19 22:17:35 1998 David L. Levine <levine@cs.wustl.edu> + + * bin/make_release (check_workspace): use cvs checkout instead + of update, to notice any new directories that have been added + to the repository but not to the workspace. + + There are .cvsignore files in /project/adaptive/ACE_wrappers + and /project/adaptive/ACE_wrappers/java. They can be used + to suppress tripping over any new, uncontrolled files, such + as releases, that are added to these directories. + + Filter ^U from checkout output, so that release need not be + based on the latest repository versions. Instead, the release + is based on the contents of the /project/adapative/ACE_wrappers + workspace. It need not be brought up-to-date with the repository, + though it cannot contain any modified files. This change allows + other users to continue to check in files prior to or during the + release. + + * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp (read): added + ACE_UNUSED_ARG (len). + + * Makefile: fixed build of .obj/gethrtime.o with ghs/VxWorks/i86. + + * tests/run_tests.vxworks: added Timeprobe_Test, but commented + out. That test page faults when built with ghs for Pentium. + It appears that the STL-style iterator usage in ACE_Timeprobe + isn't handled properly by the compiler. + +Fri Jun 19 16:51:05 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/config-freebsd-pthread.h (ACE_HAS_NONCONST_MSGSND): Macro + definition added. + + * ace/OS.i (sigwait): Suppress compiler warnings on FreeBSD. + (msgsnd): Separated the case ACE_HAS_NONCONST_MSGSND out. + + Thanks to Russell L. Carter <rcarter@consys.com> for reporting + the above fix. + +Fri Jun 19 11:22:27 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.5.13 released. + +Thu Jun 18 21:14:25 1998 David L. Levine <levine@cs.wustl.edu> + + * examples/Threads/task_five.cpp: renamed global stack_size + to default_stack_size, to avoid shadowing by stack_size in + main (). + + * ace/OS.i (dlopen): added support for ACE_HAS_SGIDLADD. + (dlerror): on WIN32, return a formatted message instead of 0. + Thanks to Kent Watsen <kent@watsen.net> for the diffs. + + * ace/config-irix6.x-sgic++-nothreads.h: added ACE_HAS_SGIDLADD. + Thanks to Kent Watsen <kent@watsen.net> for this addition. + + * Makefile: ACE-INSTALL is not a .PHONY target. + + * ace/Makefile: only regenerate Svc_Conf_[ly].cpp if at Wash. U. + +Thu Jun 18 20:46:46 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * performance_tests/Misc/childbirth_time.cpp: Changed to use the + variable MULTIPLY_FACTOR in statistic calculation. + + * ace/config-freebsd-pthread.h: Added the following definition: + #define ACE_HAS_SIGINFO_T + #define ACE_LACKS_SIGINFO_H + #define ACE_LACKS_UCONTEXT_H + #define ACE_LACKS_SI_ADDR + + * include/makeinclude/platform_freebsd_pthread.GNU: Changed to + invoke linker directly using g++. Added -pthread flag for + linker. This implies programs will link against libc_r + automatically now. Removed -lc_r. Other minor changes. + + Thanks very much for lots of help from FreeBSD team esp. Amancio + Hasty <hasty@rah.star-gate.com> and John Birrell + <jb@cimlogic.com.au>. + +Thu Jun 18 19:32:30 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Token.cpp (dump): commented out print of owner_. Is + there a portable way to print an ACE_thread_t via ACE_DEBUG? + +Thu Jun 18 18:46:00 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Timeprobe.h: + * ace/Timeprobe_T.h: + * ace/Timeprobe_T.cpp: + Added methods to print the absolute values, this can be used to + mix the results of several processes: por example on Sparcs the + high-res timer is a CPU register so the value is consistent + across processes, there are some potential problems with + multiple CPUs, but that's not our case. + +Thu Jun 18 16:25:28 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * examples/Threads/task_five.cpp (main): Extracted out the body of + the test loop so that the delete[] gets called everytime the + body gets executed. + + * ace/Thread_Manager.cpp (ACE_EXECUTE_OP,kill): We need to guard + against non-existing target thread after searching the thread + table. Thanks to Savas Parastatidis + <Savas.Parastatidis@ncl.ac.uk> for noticing the problem. + +Thu Jun 18 09:23:39 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/config-win32-common.h: Fixed the inclusion of winsock + related files. Thanks to Ernesto Guisado + <eguisado@saincotrafico.com> for suggesting this. + +Wed Jun 17 22:47:50 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.i (rw_trywrlock_upgrade): moved declaration of + local "result" before the ACE_PTHREAD_CLEANUP_PUSH. + PTHREAD_CLEANUP_PUSH/POP are macros that contain open/ + close braces on some platforms. So, any declarations + between them are not visible after the POP. + +Wed Jun 17 19:01:53 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + The following changes provide an interface for ACE programmers + of more finer control over how Win32 structured exceptions are + handled. Thanks to Detlef Becker <Detlef.Becker@med.siemens.de> + for contemplating the idea and passing it to us. + + * ace/Log_Msg.{h,cpp} (seh_except_{selector,handler}): Added + new methods to retrieve/set structured exception handling + behavior. <Selector> is used to determine the "proper" action a + thread should take upon a structured exception and <handler> + performs the actual exception handling routine. They are + structured as below in ace_thread_adapter: + + __except (ACE_LOG_MSG->seh_except_selector () (0)) + { + ACE_LOG_MSG->seh_except_handler () (0); + } + + * ace/OS.{h,cpp} (ACE_SEH_EXCEPT_HANDLER): New typedef used to + define user win32 structured exception handler. + + (ACE_SEH_Exception_{Selector,Handler}): Default structured + exception handler. Two handlers ACE_Log_Msg are initialized to + them by default. + + (ACE_Thread_Adapter,inherit_log_msg): Added initializing and + inheriting code to pass the spawning thread's structured + exception handling behaviors. + + * ace/config-win32-common.h + (ACE_SEH_DEFAULT_EXCEPTION_HANDLING_ACTION): This macro defines + the default action taken by ACE when a win32 structured + exception occurs. It is by default defined to + EXCEPTION_CONTINUE_SEARCH, which does not handle the exception + but simply pass the exception out. Users can overwrite the + default behavior by defining the macro in their config.h files. + +Wed Jun 17 17:30:11 1998 Michael Kircher <mk1@cs.wustl.edu> + + * ace/OS.h: Added a condition variable and a flag to + the definition of reader/writer locks. + + * ace/OS.i: Implemented ACE_OS::rw_trywrlock_upgrade properly + using one condition variable and a flag. The condition + variable is used to get in front of all the possible + waiting writers and to wait on still working readers + on the rw_lock. The flag is used to indicate, that + a reader is upgrading its lock. rw_unlock obeys one more + case now. + + * ace/OS.cpp: The constructor for the Reader/writer locks + has changed slightly to initialize and destroy the + new members. + + * tests/Reader_Writer_Test.cpp: Added the use of the + rw_mutex.tryacquire_write_upgrade () method to the test. + +Wed Jun 17 07:34:11 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/IOStream_Test.cpp (server): fixed sign of constant + used to check for valid double. Thanks to Mark Kettner + <m.kettner@elsevier.nl> for reporting this. + + * performance-tests/UDP/udp_test.cpp: added a few + ACE_U64_TO_U32 explicit conversions. + + * tests/Priority_Buffer_Test.cpp (consumer): re-enabled the + statement to suppress the ghs warning about unused variable + cur_priority. + +Tue Jun 16 20:29:32 1998 Steve Huston <shuston@riverace.com> + + * ACE-INSTALL.html: Added some comments concerning MSVC 5.0 and SP3. + Thanks to Bill Fulton for the excellent detective work. + +Tue Jun 16 16:08:23 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Timeprobe_T.h (class ACE_Timeprobe): Fixed copy constructor + signature. Thanks to Chuck R. Gehr + (GehrCR@LOUISVILLE.STORTEK.COM) for pointing this out. + +Tue Jun 16 16:18:08 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/FILE_Addr.cpp (operator=): Check to make sure we + NUL-terminate the memcpy'd filename correctly. Thanks to Istvan + Buki <ibuki@fedex.com> for reporting this. + +Tue Jun 16 15:43:55 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ACE-INSTALL.html: Changed to instruct users to #include + "ace/config-win32.h" instead of "config-win32.h" directly. + Thanks to Gonzo <gonzo@ing.puc.cl> for noticing this. + +Tue Jun 16 10:33:20 1998 David L. Levine <levine@cs.wustl.edu> + + * os-patches/linux-patches.html: added RedHat 5.1 success + report from Chanaka Liyanaarachchi <chanakal@ittc.ukans.edu>. + + * ace/Basic_Types.h,High_Res_Timer.cpp, + performance-tests/Misc/basic_perf.cpp: + added explicit ACE_U64_TO_U32 conversion macro. WIN32's __int64 + and ACE_U_LongLong need an explicit narrowing to 32 bits. This + macro provides a consistent way to do that on all platforms. + + * ace/Asynch_IO.*: added trailing $ to CVS keyword string. + + * ace/Asynch_IO.cpp: fixed so that it will compile with Sun CC + on Solaris 2.6. Thanks to Frederic ANDRES <andres@rd.nacsis.ac.jp> + for reporting this. + + * ACE-INSTALL.html: updated Linux RedHat info. + +Mon Jun 15 23:17:27 1998 David L. Levine <levine@cs.wustl.edu> + + * Makefile: added os-patches/ to distribution. + +Mon Jun 15 23:07:45 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.5.12 released. + +Mon Jun 15 13:58:17 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-chorus.h: replaced comment that said that the + config is for CHORUS using MIT threads with comment that says + that it uses the CHORUS POSIX threads interface. Thanks to + Leo Modica <lmodica@lucent.com> for questioning this, and Wei + Chiang for confirming it. + + * os-patches/linux-patches.html: updated glibc info. Thanks + to Bob Scott <bob_scott@broder.com> for pointing out the + glibc-2.0.7-7 is not available from sunsite. + +Sat Jun 13 13:10:05 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/XtReactor_Test.cpp: moved explicit template instantiations + inside ACE_HAS_XT, because the #includes are all inside + ACE_HAS_XT also. + + * tests/XtReactor_Test.cpp: without ACE_HAS_XT, replaced + ACE_ERROR_RETURN with ACE_ERROR. This makes it consistent + with other tests, and allows the following ACE_END_TEST + statement to be reached. + + * tests/Process_Mutex_Test.cpp (main): specify full path to + spawned children. Removed Solaris/i386-specific code because + it should no longer be needed now that the test is fixed by + specifying the full path. (acquire_release): removed printout + at top. + + * ACE+TAO.tgz,ACE.tgz,ACE-lib.tgz,FSU-threads.tgz: added these + symlinks to their corresponding .tar.gz files. Thanks to + Gonzo and Darrell for suggesting this. + + * ace/RB_Tree.i (clear): removed extraneous ";" following the + function definition. + + * ace/Process.cpp (spawn): added an ACE_DEBUG printout before each + call to ACE_OS::exit (). + + * ace/Synch_T.cpp: removed the #pragma define_template for + ACE_Condition<ACE_Mutex> on __osf__ with cxx. It's no longer + needed, and was causing multiply defined instantiations with + cxx 6.1. + +Fri Jun 12 17:04:14 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> + + * ace/OS.h: Moved the #define's and typedef's (related to Proactor + stuff, things like TRANSMIT_BUFFERS etc) under '#if defined + (WIN32)' before OS.i. They were at the end of the file. + +Fri Jun 12 16:31:13 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * ace/OS.h: (ACE_NTOHL, ACE_HTONL): Added macros for conversion + between network and host byte order. Thanks to James Hu for + contributing these. + +Fri Jun 12 14:29:40 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/OS.i (sema_wait): Changed the code so that it always treats + the time value argument in absolute time, even for Win32. + Thanks to Chuck Gehr for reporting this. + +Fri Jun 12 14:12:25 1998 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> + + * include/makeinclude/wrapper_macros.GNU: + The inclusion of the XtReactor is controlled on the + platform_macros file (or the command line). + Users simply type make xt_reactor=1 to enable this feature, or + set xt_reactor to 1 in the platform_macros.GNU file. + Some extra macros were added for platforms that require special + CPP, LD or libraries when linking against X/Windows. The macros + are described in this file. + The platforms that already had XtReactor compiled by default + still do. + + * ace/config-irix6.x-sgic++-nothreads.h: + * include/makeinclude/platform_irix6.x-sgic++.GNU: + Now the XtReactor configuration is controlled on the platform + file. + + * ACE-INSTALL.html: + Updated documentation for make flags. + + * tests/XtReactor_Test.cpp: + Fixed a few typos. + + * tests/Conn_Test.cpp: + Fixed some template instantiation pragmas. + +Thu Jun 11 22:05:31 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/Process_Mutex_Test.cpp (main): kill children on + Solaris/i386 instead of waiting for them. (acquire_release): + added printout at top. It never appears, at least on + g++/Solaris/i386. + + * ace/Malloc.cpp (instance): wrap declaration of local "assertion" + with ifndef ACE_NDEBUG, to avoid warning about unused variable + with debug=0. + +1998-06-11 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> + + * ace/Proactor.h (ACE_Proactor): Put insert_aiocb_list () under + ACE_HAS_AIO_CALLS so that it doesnt break in NT. + +Thu Jun 11 1998 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> + + * ace/OS.h: Added typedef's, #define's and #include's under the + definition ACE_HAS_AIO_CALLS for the proactor porting. + + * ace/config-sunos5.6.h: Defined ACE_HAS_AIO_CALLS for + solaris2.6. + + * ace/Asynch_IO.h: + * ace/Asynch_IO.cpp: Added aio call support for Asynch_Read_File. See + the code under #if defined (ACE_HAS_AIO_CALLS) + + * ace/Proactor.h: + * ace/Proactor.cpp: Added support for AIO calls in Proactor. See + the code under #if defined (ACE_HAS_AIO_CALLS) + + * examples/Reactor/Proactor/test_proactor_with_aio.cpp: The test + program for Proactor doing aio stuff. + +Thu Jun 11 13:34:26 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/OS.cpp: Made change to uname to use a different structure + if certain Borland compilers are being used. Thanks to + Valik Solorzano <valik@geodan.nl> for this fix. + + * bin/make_release: create .zip files in addition to .tar.gz files. + +Thu Jun 11 11:15:26 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/XtReactor.cpp: + The notify_handler_ open method requires an extra argument. + +Wed Jun 10 14:31:55 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Strategies_T.cpp (ACE_Recyclable ctors): reordered + initializers to match declaration order. + + * tests/Conn_Test.cpp: fixed template instantiations: + ACE_SYNCH_MUTEX instead of ACE_SYNCH_RW_MUTEX. + + * tests/XtReactor_Test.cpp (main): added ACE_UNUSED_ARGS for + argc and argv without ACE_HAS_XT. + +Wed Jun 10 12:34:25 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Strategies_T: Added two new template classes: ACE_Recyclable + and ACE_Hash_Recyclable. ACE_Recyclable adds a recyclable flag + to the class it is instantiated with. ACE_Hash_Recyclable + inherits from ACE_Recyclable and forces the class it is + instantiated with to have a hash() method. + + Also, the Hash_Addr was fixed so that it does not have the + recyclable flag anymore, since the Hash_Addr can be used even + when there is no recycling. + + Also updated the ACE_Cached_Connect_Strategy to reflect these + changes. + + * tests/Conn_Test.cpp: Fixed the template instantiations in lieu + of the changes to Hash_Addr. + +Wed Jun 10 11:05:39 1998 David L. Levine <levine@cs.wustl.edu> + + * bin/make_release: replaced ACE_wrappers-repository/ with + ACE_wrappers/ in diffs. Thanks to James Risinger <jrisinge@cgi.com> + for reporting this. + +Wed Jun 10 01:31:46 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> + + * tests/Tokens_Test.cpp: + Changed how the Borland template instantiations are protected. + + * tests/XtReactor_Test.cpp: + test_config.h must be included before asking for ACE_HAS_XT. + Was missing the Borland non-sense. + + * tests/UPIPE_SAP_Test.cpp: + Protected the Borland template instantiations. + + * tests/Timeprobe_Test.cpp: + * tests/Time_Value_Test.cpp: + Added the Borland non-sense. + + * tests/Reactor_Timer_Test.cpp: + Added a couple of casts to avoid warnings. + + * tests/Priority_Buffer_Test.cpp: + Got rid of a (seemingly) useless piece of code. + + * tests/Naming_Test.cpp: + Modified a test so that it won't give warnings. + + * tests/Conn_Test.cpp: + Was missing the Borland non-sense. + Modified an #if-protected section to get rid of a warning. + Added a few extra Borland template instantiations. + + * ace/WFMO_Reactor.cpp: + * ace/SOCK_Dgram.cpp: + Under Borland, a couple of comparisons were always true (with a + warning) because of unsignedness. + + * ace/Malloc.cpp: + Assigned the consition of an assertion to a temporary variable to + avoid a misleading warning. + + * ace/Get_Opt.cpp: + Added an explicit comparison against 0 to avoid a warning. + + * ace/ACED.cpp: + * ace/ACER.cpp: + These files had been commited with ^M at the end of lines. + + * ace/ACE.cpp: + Changed a couple of run time checks for + ACE_DIRECTORY_SEPARATOR_CHAR into compile time tests; that got rid + of a couple of warnings under BCB3 (Borland C++ Builder 3.0). + + * ace/ACE.cpp: + * tests/Conn_Test.cpp: + Used ACE_NOTREACHED to avoid further warnings. + + * ace/OS.h: + Added Borland to the empty definition of ACE_NOTREACHED. + The definition of ACE_SEH_FINALLY for the case of Borland C++ + Builder 3.0 now uses __finally. This allowed most of the tests + that were hanging to complete ok. Thanks to David Tallman + <tallman@acsys.com> for pointing this out. + +Tue Jun 9 19:35:26 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/XtReactor: Integrated the new XtReactor, which should now + work for Windows NT! Thanks to Kirill Rybaltchenko + <Kirill.Rybaltchenko@cern.ch> for this. + + * tests: Added the new XtReactor_Test.cpp to test the features of + the XtReactor. Thanks to Kirill Rybaltchenko + <Kirill.Rybaltchenko@cern.ch> for this test. + +Tue Jun 09 16:18:54 1998 David L. Levine <levine@cs.wustl.edu> + + * Makefile: removed old release targets. They're no longer + used, or maintained. + + * include/makeinclude/platform_sunos5_x86_g++.GNU: removed. + Use platform_sunos5_g++.GNU instead, on both sparcs and x86. + +Tue Jun 09 15:25:13 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.5.11 released. + +Tue Jun 9 14:59:15 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/OS.cpp: Made it so both Borland and Microsoft use the + x.wProcessorArchitecture structure for system info. + +Tue Jun 09 14:35:28 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/Tokens_Test.cpp,UPIPE_SAP_Test.cpp: only need the + template instantiations with Borland C++. + + * bin/make_release: create version diffs, in background, + when creating releases. + +Tue Jun 09 12:50:49 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ACE_Library.mak: Added Stats.cpp. + +Tue Jun 09 11:51:17 1998 Chris Gill <cdgill@tango.cs.wustl.edu> + + * tests/MM_Shared_Memory_Test: added a null pointer check so + test complains rather than crashing when shared allocator fails. + +Mon Jun 8 21:03:23 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Select_Reactor.cpp (any_ready): Fixed a more unrighteous bug + where we were assigning the values in the wait_set_ rather than + the ready_set_. Thanks to Stefan Ericsson + <Stefan.Ericsson@osd.uab.ericsson.se> for reporting this bug. + +Mon Jun 8 19:15:38 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Malloc.h: + * ace/Malloc_Base.h (ACE_Allocator): Moved the definition of + abstract class ACE_Allocator from Malloc.h to a new file called + Malloc_Base.h to resolve a circular dependency among a bunch of + header files when compiling with UNICODE and inline enabled. + + * ace/SString.i: Changed to include "ace/Malloc_Base.h" to avoid + circular inclusion. + +Mon Jun 08 18:35:23 1998 Steve Huston <shuston@riverace.com> + + * ACE-INSTALL.html: Added some updated HP-UX info (and a pointer to + Riverace's HP-UX hints page) and removed the warning to not use + MSVC 5.0 SP3 - per results from ace-users discussions last week, + SP3 is getting used successfully. + +Mon Jun 08 13:22:47 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Basic_Types.h: set ACE_SIZEOF_LONG_DOUBLE to 12 if + LDBL_MAX_EXP is 16384 and LDBL_DIG is 18. Thanks to + Sree Oggu <dharani@sutmyn.com> for reporting this, on + SolarisX86 with Sun C++. + + * ace/Malloc.cpp (instance): cleaned up comments. + +Mon Jun 8 12:12:39 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * tests/UPIPE_SAP_Test.cpp: + Template instantiation was not using the ACE_SYNCH macros. + +Mon Jun 8 02:17:54 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu> + + * ACE-INSTALL.html: + Added a comment regarding the new port to Borland C++ Builder. + + * ace/ACE.bpg: + * ace/ACED.bpr: + * ace/ACED.cpp: + * ace/ACER.bpr: + * ace/ACER.cpp: + + + * ace/ACE.cpp: + Got rid of unused const int MAX_STRING_SZ = 4096. + + * ace/Asynch_Acceptor.cpp: + * ace/Asynch_IO.cpp: + * ace/Msg_WFMO_Reactor.cpp: + * ace/config-win32-common.h: + Replaced the use of _WIN32_WINNT with ACE_HAS_WINNT4. Borland C++ + Builder doesn't handle _WIN32_WINNT very well when building under + Win95. + + * ace/Asynch_IO.h: + Now ACE_Asynch_Result inherits publicly from OVERLAPPED; + otherwise, Borland C++ Builder refuses to access OVERLAPPED + members. I'm not sure who's right or wrong here. + + * ace/CORBA_Ref.h: + Added an #include "ace/ACE.h". + + * ace/Future.h: + Two cosmetic changes. + + * ace/LOCK_SOCK_Acceptor.cpp: + Added an #include /**/ "ace/LOCK_SOCK_Acceptor.h". + + * ace/Log_Msg.cpp: + Borland C++ Builder doesn't like extern int sys_nerr, so I + protected against it. + + * ace/OS.cpp: + A couple of hacks to handle FILETIMEs and SYSTEM_INFO structs, + which are defined a little different under Borland C++ Builder. + + * ace/OS.h: + Added support for Borland C++ Builder. + + * ace/OS.i: + Borland C++ Builder handles a few functions differently: close, + SetFilePointer, wfdopen. + + * ace/Synch_T.h: + A comment on an #else spanned several lines and mixed // and /**/ + styles; hard to read. + + * ace/TTY_IO.cpp: + A switch was not properly indented and, as a result, had an extra + break that made Borland C++ Builder complain. + + * ace/WFMO_Reactor.cpp: + Got rid of a couple of unused local variables called result. + + * ace/config-win32-common.h: + Added a few defines for Borland C++ Builder. Don't know if + this is the proper way to do it, but there it is. + + * tests/Aio_Platform_Test.bpr: + * tests/Atomic_Op_Test.bpr: + * tests/Barrier_Test.bpr: + * tests/Basic_Types_Test.bpr: + * tests/Buffer_Stream_Test.bpr: + * tests/Conn_Test.bpr: + * tests/Enum_Interfaces_Test.bpr: + * tests/Env_Value_Test.bpr: + * tests/Future_Test.bpr: + * tests/Handle_Set_Test.bpr: + * tests/Hash_Map_Manager_Test.bpr: + * tests/IOStream_Test.bpr: + * tests/MM_Shared_Memory_Test.bpr: + * tests/MT_Reactor_Timer_Test.bpr: + * tests/MT_SOCK_Test.bpr: + * tests/Map_Manager_Test.bpr: + * tests/Mem_Map_Test.bpr: + * tests/Message_Block_Test.bpr: + * tests/Message_Queue_Notifications_Test.bpr: + * tests/Message_Queue_Test.bpr: + * tests/Naming_Test.bpr: + * tests/Notify_Performance_Test.bpr: + * tests/OrdMultiSet_Test.bpr: + * tests/Pipe_Test.bpr: + * tests/Priority_Buffer_Test.bpr: + * tests/Priority_Reactor_Test.bpr: + * tests/Priority_Task_Test.bpr: + * tests/Process_Mutex_Test.bpr: + * tests/Process_Strategy_Test.bpr: + * tests/Reactor_Exceptions_Test.bpr: + * tests/Reactor_Notify_Test.bpr: + * tests/Reactor_Performance_Test.bpr: + * tests/Reactor_Timer_Test.bpr: + * tests/Reactors_Test.bpr: + * tests/Reader_Writer_Test.bpr: + * tests/Recursive_Mutex_Test.bpr: + * tests/SOCK_Connector_Test.bpr: + * tests/SOCK_Test.bpr: + * tests/SPIPE_Test.bpr: + * tests/SString_Test.bpr: + * tests/SV_Shared_Memory_Test.bpr: + * tests/Semaphore_Test.bpr: + * tests/Service_Config_Test.bpr: + * tests/Sigset_Ops_Test.bpr: + * tests/Simple_Message_Block_Test.bpr: + * tests/TSS_Test.bpr: + * tests/Task_Test.bpr: + * tests/Thread_Manager_Test.bpr: + * tests/Thread_Mutex_Test.bpr: + * tests/Thread_Pool_Test.bpr: + * tests/Time_Service_Test.bpr: + * tests/Time_Value_Test.bpr: + * tests/Timer_Queue_Test.bpr: + * tests/Tokens_Test.bpr: + * tests/UPIPE_SAP_Test.bpr: + * tests/tests.bpg: + Added these Borland C++ Builder project files. + + * tests/Aio_Platform_Test.cpp: + * tests/Atomic_Op_Test.cpp: + * tests/Barrier_Test.cpp: + * tests/Basic_Types_Test.cpp: + * tests/Buffer_Stream_Test.cpp: + * tests/Enum_Interfaces_Test.cpp: + * tests/Env_Value_Test.cpp: + * tests/Future_Test.cpp: + * tests/Handle_Set_Test.cpp: + * tests/Hash_Map_Manager_Test.cpp: + * tests/IOStream_Test.cpp: + * tests/MM_Shared_Memory_Test.cpp: + * tests/MT_Reactor_Timer_Test.cpp: + * tests/MT_SOCK_Test.cpp: + * tests/Map_Manager_Test.cpp: + * tests/Mem_Map_Test.cpp: + * tests/Message_Block_Test.cpp: + * tests/Message_Queue_Notifications_Test.cpp: + * tests/Message_Queue_Test.cpp: + * tests/Naming_Test.cpp: + * tests/Notify_Performance_Test.cpp: + * tests/OrdMultiSet_Test.cpp: + * tests/Pipe_Test.cpp: + * tests/Priority_Buffer_Test.cpp: + * tests/Priority_Reactor_Test.cpp: + * tests/Priority_Task_Test.cpp: + * tests/Process_Mutex_Test.cpp: + * tests/Process_Strategy_Test.cpp: + * tests/Reactor_Exceptions_Test.cpp: + * tests/Reactor_Notify_Test.cpp: + * tests/Reactor_Performance_Test.cpp: + * tests/Reactor_Timer_Test.cpp: + * tests/Reactors_Test.cpp: + * tests/Reader_Writer_Test.cpp: + * tests/Recursive_Mutex_Test.cpp: + * tests/SOCK_Connector_Test.cpp: + * tests/SOCK_Test.cpp: + * tests/SPIPE_Test.cpp: + * tests/SString_Test.cpp: + * tests/SV_Shared_Memory_Test.cpp: + * tests/Semaphore_Test.cpp: + * tests/Service_Config_Test.cpp: + * tests/Sigset_Ops_Test.cpp: + * tests/Simple_Message_Block_Test.cpp: + * tests/TSS_Test.cpp: + * tests/Task_Test.cpp: + * tests/Thread_Manager_Test.cpp: + * tests/Thread_Mutex_Test.cpp: + * tests/Thread_Pool_Test.cpp: + * tests/Time_Service_Test.cpp: + * tests/Time_Value_Test.cpp: + * tests/Timer_Queue_Test.cpp: + * tests/Tokens_Test.cpp: + * tests/UPIPE_SAP_Test.cpp: + Added the Borland non-sense to allow the tests to link against the + ACE library under Borland C++ Builder. Major pain in the rear + end... + + * tests/test_config.h: + Added a couple of includes for the case of Borland C++ Builder. + + * tests/Hash_Map_Manager_Test.cpp: + Changed variable name allocator to alloc, to avoid conflicts with + STL allocators under Borland C++ Builder. + + * tests/Reactors_Test.cpp: + Changed variable name tm to thr_mgr, to avoid conflicts with + std::tm under Borland C++ Builder. + + * tests/Tokens_Test.cpp: + * tests/UPIPE_SAP_Test.cpp: + Added a few explicit template instantiations. + +Sun Jun 07 09:51:02 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Timeprobe_T.cpp: added #include of ace/Timeprobe.h. + It wouldn't compile on GreenHills without it. + + * STL/bool.h: only #define bool, etc., if _MSC_VER is #defined. + Thanks to Stanley Leeson <STANLEY.D.LEESON@cdev.com> for + reporting this. + + * tests/Timeprobe_Test.cpp: added #include of ace/Timeprobe.cpp + to pick up template instantiations, if ACE_COMPILE_TIMEPROBES + was not defined. This allows the test to build on platforms + that have explicit template instantiation when libACE was + built without timeprobes enabled. + +Sun Jun 7 01:06:12 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/config-freebsd-pthread.h: Added the + ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS flag to work around problems + with pthreads on FreeBSD. Thanks to Amancio Hasty + <hasty@rah.star-gate.com> for reporting this. + +Sat Jun 6 22:00:54 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Message_Queue.cpp: Added code so that advance() is more + thread-safe. + + * apps/gperf/src/Options.cpp (operator): Changed ACE_OS::exit() + to ACE_OS::_exit() so we'll leave no trace... + + * apps/gperf/src/Key_List.cpp (output_switch): Fixed another bug + where strcmp() should be generated instead of strncmp(). + + * apps/gperf/src: We no longer call the inline option "GNU" but + now call it "INLINE". + + * apps/gperf/src/{Options.h,Key_List.cpp,Gen_Perf.cpp}: Revised + the LARGE_STACK_ARRAY code so that it only gets compiled if + we're using GCC. + + * apps/gperf/src/Key_List.cpp (output_switch): Fixed a bug where + strcmp() was being used instead of strncmp(). Thanks to C++ + for finding this! + + * apps/gperf/src/Key_List.cpp: Removed all uses of "register" + since C++ compilers can do this automagically... + + * apps/gperf/tests/test.cpp (main): Modified the test program to + use C++ rather than C (ugh!). + + * ace: Added two new files: Timeprobe_T.h and Timeprobe_T.cpp in + order to solve problems with multiply defined symbols. Thanks + to Brian Mendel, David Levine, and Irfan for tracing this down. + +Sat Jun 6 19:10:54 1998 Sergio Flores <sergio@cs.wustl.edu> + + * ace/config-vxworks5.x.h: changes the default thread priority + from 6 to 101. + +Sat Jun 06 16:43:01 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Timeprobe.cpp (dtor): inserted missing "[]" in delete of + array. + +Fri Jun 5 11:53:18 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/Log_Msg.{h,cpp}: Added enable_debug_messages() to do + the opposite of disable_debug_messages(). + + * ace/Parse_Node.cpp: Got rid of all the checks of the + Service Configurator's debug flag. Instead, the checking + will occur in the Service Configurator. + + * ace/Service_Config.cpp: Added to Stephen Coy's changes so + that debug messages are turned back on after the Service + Configurator is done. That way, other code can still use + debug messages. + +Thu Jun 4 12:25:48 1998 Rajiv C. Gandhi <gandhi@tango.cs.wustl.edu> + + * apps/gperf/src/Options.h: removing the option to stack + allocate some large arrays as CC does not seem to like it. + + * apps/gperf/src/Key_List.cpp (output_lookup_array): removing + the option to stack allocate some large arrays as CC does + not seem to like it. + + * apps/gperf/src/Gen_Perf.cpp: removing the option to stack + allocate some large arrays as CC does not seem to like it. + +Thu Jun 04 05:03:09 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.10 released. + +Wed Jun 3 02:24:47 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/config-win32-common.h: Instead of defining _MT for users if + it's not defined, spit out an error message and stop the + compilation. Thanks to Barney Dalton + <barneyd@cyllene.uwa.edu.au> for suggesting this. + +Tue Jun 02 20:03:51 1998 Steve Huston <shuston@riverace.com> + + * ace/config-hpux-1[01].x-hpc++.h: Added ACE_HAS_USING_KEYWORD for + aC++ on both platforms. + +Tue Jun 02 12:19:29 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Thread_Manager.cpp (wait_grp,wait_task): These two were + still copying thread_descriptors and deleting the copies + directly. This corrupted the cached thread_descriptor. + Changing them to use Thread_Descriptor_Base solved the problem. + Thanks to Zoran Ivanovic <zorani@pathcom.com> for finding + this. + +Tue Jun 02 08:29:20 1998 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/wrapper_macros.GNU,ACE-INSTALL.html: + moved probe=1 support from individual Makefiles to + wrapper_macros.GNU. + +Tue Jun 02 08:09:41 1998 Steve Huston <shuston@riverace.com> + + * ace/config-aix-4.1.x.h: Removed ACE_HAS_THREAD_SELF. It was + causing compile failure. Thanks to Lee Nash <rnash@gulfaero.com> + for helping to work this out. + +Mon Jun 01 16:19:52 1998 Steve Huston <shuston@riverace.com> + + * examples/Reactor/Dgram/Dgram.mdp, Dgram.mak: Added these files + to build the examples with MSVC 4.2. + +Mon Jun 01 13:01:14 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * examples/Reactor/Dgram/Dgram.cpp (run_test): Because of the + delayed de-registration in WFMO_Reactor, WFMO_Reactor was trying + to call handle_close on the Event Handler after it was + destroyed. Solution: dynamically created the Event Handler and + call "delete this" in handle_close. The other alternative was + to call remove_handler with the DONT_CALL flag and to close the + socket in the Event Handler's destructor. + + * ace/Timeprobe: The vxworks compiler is lame as it cannot handle + operator placement new for arrays. Therefore, ACE_Allocator was + removed in favor of regular new and delete. + +Mon Jun 01 09:54:51 1998 David L. Levine <levine@cs.wustl.edu> + + * tests/Timeprobe_Test.cpp: removed trailing ; from template + instantation pragmas. + + * tests/Conn_Test.cpp,MM_Shared_Memory_Test.cpp, + Priority_Reactor_Test.cpp,SOCK_Test.cpp: replaced + !defined (ACE_WIN32) && !defined (VXWORKS) with + !defined (ACE_LACKS_FORK). + +Sun May 31 23:05:10 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE-INSTALL.html,include/makeinclude/wrapper_macros.GNU: + added repo=1 make option support. It only helps when + building ACE applications. ACE and TAO still use explicit + instantiation when building their libraries, because it's + easiest to avoid link collisions that way. And it already + works. + +Sun May 31 18:31:24 1998 James C Hu <jxh@cs.wustl.edu> + + * ace/RB_Tree.i: + * ace/RB_Tree.cpp: Changes suggested by Sergio to make it work + with older version of GCC. Referred to RB_Tree_Node_Color + through the parent class RB_Tree_Node_Base. + +Sat May 30 13:14:18 1998 James C Hu <jxh@cs.wustl.edu> + + * ace/RB_Tree.h: Try to put enum into a class again. This time, + created a dummy base class to hold the RED and BLACK enums. + +Sat May 30 08:01:31 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/RB_Tree.h (RB_Tree_Iterator::operator =): Added explicit + return type to the declaration. Wrapped with + ACE_UNIMPLEMENTED_FUNC. + +Fri May 29 23:06:02 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/RB_Tree.{h,i}: moved enum RB_Tree_Node_Color out of the + (template) class declaration because g++ 2.7.2.3 couldn't + find it there. + + * ace/Thread_Manager.cpp (remove_thr, VxWorks only): added [] to + delete of tid array. Thanks to Arturo Montes + <mitosys@colomsat.net.co> for reporting this. + + * ace/RB_Tree.h (RB_Tree_Iterator::operator =): added explicit + return type to the declaration. Wrapped with + ACE_UNIMPLEMENTED_FUNC. + +Fri May 29 21:59:01 1998 James C Hu <jxh@cs.wustl.edu> + + * RB_Tree.h: + * RB_Tree.i: + * RB_Tree.cpp: Debugged some minor typo errors, and changes + related to internalizing the RED and BLACK enums. + +Fri May 29 21:55:11 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/High_Res_Timer.cpp: don't use ACE_HAS_PENTIUM code on + Solaris (ACE_HAS_HI_RES_TIMER) because it uses ::gethrtime (). + (dump): on Solaris, print 64-bit ints with %llu format. Other + platforms may need that, also. + + * ace/Makefile: replaced .o with $(OBJEXT) in gethrtime.o target, + so that make depend doesn't munge it. + + * ace/OS.h: only use the null versions of the + ACE_DES_FREE_TEMPLATE* macros with LynxOS 3.0.0. + + * include/makeinclude/platform_lynxos.GNU: commented out -Winline, + because it complains too much with -O2, and that's now the default. + +Fri May 29 17:52:37 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.9 released. + +Fri May 29 16:19:34 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Synch_T.h (class ACE_Guard): ACE_Guard's destructor was + changing the errno value. Fixed this to avoid doing so... + Thanks to Arturo Montes <mitosys@colomsat.net.co> for reporting + this. + +Fri May 29 15:33:41 1998 David L. Levine <levine@cs.wustl.edu> + + * performance-tests/Misc/context_switch_time.cpp: + added Synchronized Suspend-Resume Test. + +Fri May 29 14:46:49 1998 James C Hu <jxh@cs.wustl.edu> + + * ace/Makefile + * ace/RB_Tree.h + * ace/RB_Tree.cpp: Added changes to RB_Tree to enable overloading + of the comparison method. Added class RB_Tree to the UNIX + Makefile. + + * ace/OS.cpp: Added some minor fixes to the difftime implementation. + + * ace/OS.cpp: + * ace/OS.i: + * ace/README: + * ace/config-sunos4*: + Added ACE_LACKS_DIFFTIME macro because SunOS4 does not support + the Standard C difftime function. Added a difftime + implementation for when such is the case. + +Fri May 29 08:22:36 1998 Steve Huston <shuston@riverace.com> + + * ace/Log_Msg.cpp, Trace.cpp: Changed decision for + order-of-include/inline from ACE_WIN32 to + ACE_HAS_ONE_DEFINITION_RULE. This completes the changes needed + to be able to use the newer versions of HP aC++. + + * ace/config-win32.h: Set ACE_HAS_ONE_DEFINITION_RULE. + +Thu May 28 16:17:41 1998 Steve Huston <shuston@riverace.com> + + * ace/README: Added ACE_HAS_ONE_DEFINITION_RULE. + * ace/config-hpux-10.x-hpc++.h: + * ace/config-hpux-11.x-hpc++.h: Added ACE_HAS_ONE_DEFINITION_RULE + for aC++. This is part of a set of changes to make ACE work + with HP aC++ A.01.09 (10.20) and A.03.05 (11.00). The other + changes are being tested still. Thanks _very_ much to Steve Coy + for digging through this with HP and working out a solution! + +Thu May 28 15:55:48 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * Added new configuration files for SCO. Thanks to Arturo for + this. + +Thu May 28 13:57:50 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Filecache.cpp: removed redundant template instantiations. + + * ace/config-lynxos.cpp: added undef ACE_HAS_TEMPLATE_SPECIALIZATION + for LynxOS 3.0.0. + + * ace/Hash_Map_Manager.cpp,Map_Manager.cpp: replaced bare explicit + destructor calls with ACE_DES_FREE_TEMPLATE{,2} macro invocations. + + * ace/OS.h: #define ACE_DES_FREE_TEMPLATE to be null on LynxOS. + Without it, the g++ that's distributed with LynxOS 3.0.0 hopelessly + chokes on explicit calls to template class destructors. This + hack could cause memory leaks, though currently ACE_DES_FREE_TEMPLATE + is only used to call empty, non-virtual destructors (in + Containers.cpp, Hash_Map_Manager.cpp, and Map_Manager.cpp). + Also, added ACE_DES_FREE_TEMPLATE2 macro for use with two + template arguments. There's got to be a better way. + + * include/makeinclude/platform_lynxos.GNU: added LynxOS Version 3.0.0 + support. It's optional at this point: add VERSION=3.0.0 to your + make invocation to enable. Disabled -Wall with LynxOS 3.0.0. + Enabled optimization. + +Thu May 28 07:47:41 1998 Steve Huston <shuston@riverace.com> + + * tests/SOCK_Connector_Test.cpp: Changed the "should succeed" test + from port 25 (smtp) to 7 (echo) to try and get a higher success + rate. Thanks to David Levine for this suggestion. + +Wed May 27 13:45:24 1998 Steve Huston <shuston@riverace.com> + + * ace/ACE.cpp (handle_timed_complete): Fixed problem where + successful connect was being reported as a failure (P90). + + * tests/SOCK_Connector_Test.cpp: Added a test for a successful + non-blocking connect (tests fix from above). + +Wed May 27 07:04:42 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Service_Config.cpp: default debug_ to 1 instead + of 0. And the -d option now disables debug messages, + instead of enabling them. Thanks to Irfan for reporting + that LM_DEBUG messages were lost without this fix. + + * ace/High_Res_Timer (calibrate): added calibrate () method + to calculate the global scale factor on Pentiums. It's + called by the constructor for the first instantiation + in a process. (On WIN32, get_registry_scale_factor () is + called instead of calibrate ().) + + * ace/Stats.cpp (sample): continue aggregating data even + if there is overflow. This allows, e.g., a mean to be + calculated even if the standard deviation calculation overflow. + + * performance-tests/Misc/context_switch_time.cpp: don't run the + Yield_Test on VxWorks because it takes too long. + + * ace/High_Res_Timer.*: moved calibration from constructor to + global_scale_factor () accessor. + + * ace/Timeprobe.cpp: no longer need to explicitly calibrate the + High_Res_Timer. + +Tue May 26 22:25:18 1998 Stephen Coy <stevec@wsa.com.au> + + * ace/Log_Msg.{h,cpp},Service_Config.cpp: added support for + -d in Service_Config files to enable/disable LM_DEBUG messages. + +Tue May 26 14:53:21 1998 Steve Huston <shuston@riverace.com> + + * ace/SOCK_Dgram_Mcast.cpp (subscribe): Fixed use of uninitialized + variable, nr_subscribed. Thanks to Nanbor for finding this. + +Tue May 26 13:39:21 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Timeprobe.cpp: + * tests/Timeprobe_Test.cpp: + Now egcs and Sun/CC are happy with this files. + +Tue May 26 00:35:49 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * tests/Timeprobe_Test.cpp: Added new test. + + * ace/Timeprobe: Added the ability to have multiple event tables + for time probes. Multiple maps can be used to chunk up the time + probes. Each one can be added by calling event_descriptions(). + Different tables are used internally by consulting the + minimum_id for each table. It is up to the user to make sure + that multiple tables do not share the same event id range. + +Sat May 23 21:52:49 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Message_Block.h: + * ace/Message_Block.i: + The rd_ptr() and wr_ptr() are const methods now. + +Sat May 23 00:18:58 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ace_ce_dll.dsp: Updated settings for MIPS CPU. + + * tests/WinCE/*.dsp: Updated settings for MIPS CPU. + +Fri May 22 16:00:03 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/MT_SOCK_Test.cpp (spawn): We must check for !defined + (ACE_LACKS_FORK) rather test for VxWorks or Win32. Thanks to + Steven Coy for reporting this. + +Fri May 22 20:01:40 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.h: moved ACE_IO_Vector declaration ahead of OS.i #include. + + * ace/OS.i (ACE_IO_Vector::buffer): added static cast of new_buffer + to char *. + + * ace/OS.i (writev): changed return type from int to ssize_t to + match declaration in OS.h. + +Fri May 22 12:20:11 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace: Other parts of ACE were modified to use the new + ACE_IO_Vector class. + + * ace/OS.h (ACE_IO_Vector): Added a new class that inherits from + the correct IO_Vector class provided by the platform. + + writev() and readv() were being emulated on Win32 in ACE. A new + ACE_OS::writev() and ACE_OS::readv() has been added to ACE + that uses WSASend() and WSARecv() respectively. However, in + order for you to exploit these new functions, you must use + ACE_IO_Vector instead of iovec. The ideal situation would have + been to totally replace iovec with ACE_IO_Vector but that would + break too much code. So, if you keep using iovec, you will use + the expenses and slow emulations. If you want to use WSASend() + and WSARecv(), switch over to ACE_IO_Vector. It will work on + both Win32 and non-Win32 platforms. + +Fri May 22 07:53:03 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-linux-pthread.h: removed two + ACE_LACKS_CONDATTR_PSHARED #defines. That leaves just + one, that's commented out. + + * performance-tests/Misc/context_switch_time.cpp: create all + threads as detached so they don't have to be joined. They + test was using up resources on LynxOS, if a high -c option + was used, without this change. + + * ace/config-sunos5.5-{g++,sunc++-4.x}.h,config-sunos5.5.h: + merged config-sunos5.5-g++.h and config-sunos5.5-sunc++-4.x.h + into config-sunos5.5.h. That new file should be maintained + for both compilers from now on. The old files have been + retained for backward compatibility. The just #include + config-sunos5.5.h. + + * ace/config-sunos5.6.h: #include config-sunos5.5.h instead + of the separate Sun C++ and g++ configs. + + * include/makeinclude/platform_sunos5_sunc++.GNU: + updated comment to reflect change to config-sunos5.5.h. + +Fri May 22 07:30:23 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.5.8 released. + +Fri May 22 07:26:06 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Stats.cpp: added some casts to avoid MSVC++ warnings + about narrowing. + + * ace/config-osf1-4.0.h: removed commented-out + ACE_LACKS_{COND,MUTEX}ATTR_PSHARED. + +Fri May 22 00:09:15 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Local_Tokens.{h,cpp} (ACE_Null_Token): Only defined default + ctor/dtor explicitly when ACE_LACKS_INLINE_FUNCTIONS. + + * ace/Stats.cpp: Defined ACE_BUILD_DLL at the beginning. + Win32 needs to define ULONGLONG literals as 999ui64. + This is the only place that uses i64 literals. + +Thu May 21 21:55:09 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.5.7 released. + +Thu May 21 17:36:37 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-sunos5.6.h: added support for POSIX 199506 + extensions. Thanks to J. Russell Noseworthy + <rnosewor@objectsciences.com> for providing this support. + + * ace/Local_Tokens.{h,i}: inlined ACE_Null_Token ctor and dtor + in class header because the clone () method needs the ctor + inlined, and it's too difficult to get it right with macros. + + * tests/SString_Test.cpp (main): added ACE_ASSERT with s4 in + it, because it was unused otherwise. + + * performance-tests/Synch-Benchmarks/Options.cpp (print_results): + changed #else to #elif, because it has a condition after it. + +Thu May 21 15:28:07 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/test_config.h: Modified to write output from tests into + log file. Notice that log files on CE have extension name + ".txt" instead of ".log". + + * ace/OS.i (strrchr): Added UNICODE version of this function. + + * ace/Log_Record.{h,cpp}: Generalized message formatting on CE by + adding a new method format_msg(). + + * ace/Reactor_Impl.h: Removed an extra comma. + + * ace/XtReactor.cpp: Include "ace/Reactor.h" + + * tests/Recursive_Mutex_Test.cpp: + * tests/Future.cpp: Removed iteration restriction on CE. + +Thu May 21 12:13:36 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ace_{dll,lib}.dsp: Added Stats.cpp into projects. + +Wed May 20 23:02:41 1998 Steve Huston <shuston@riverace.com> + + * ace/SOCK_Dgram_Mcast.cpp (subscribe): On Win32, if + ACE::get_ip_interfaces finds less than 2 interfaces, call + subscribe with "0.0.0.0". This is sort of a hack and is meant + only to help get things working again until ACE::get_ip_interfaces + can be made to work correctly in all cases. + +Wed May 20 10:42:12 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-mvs.h: enabled ACE_LACKS_CONDATTR_PSHARED and + ACE_LACKS_MUTEXATTR_PSHARED. Thanks to Chuck Gehr + <GehrCR@LOUISVILLE.STORTEK.COM> for advising on this. + + * ace/config-linux-lxpthreads.h,config-lynxos.h: removed + commented-out ACE_LACKS_{COND,MUTEX}ATTR_PSHARED #defines. + + * ace/config-sunos5.5-{sunc++-4.x,g++}.h: removed + commented-out ACE_LACKS_{COND,MUTEX}ATTR_PSHARED. Enabled + ACE_HAS_CLOCK_GETTIME, because we always link with -lposix4. + Thanks to J. Russell Noseworthy <rnosewor@objectsciences.com> + for inspiring the ACE_HAS_CLOCK_GETTIME enable. + + * ace/config-osf1-4.0.h: removed uncommented + ACE_LACKS_CONDATTR_PSHARED, so that we can test whether + it's necessary. + + * ace/Stats.*,Makefile: added ACE_Stats class. + + * performance-tests/Misc/context_switch_time.cpp: use + ACE_Stats to calculate standard deviations. + +Tue May 19 21:24:50 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Future_Test.cpp: Reduced the number of iterations on CE. + + * ace/Synch.i: Added #ifdef (ACE_HAS_THREADS) to make it compile + on non-threaded platforms. + +Tue May 19 10:05:07 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/SString.cpp (strlen): Renamed ACE_WString::wstrlen to + ACE_WString::strlen. + + * ace/SString.i: Reordered functions to make g++ happy. + + * ace/ACE.cpp (hash_pjw): Changed ACE_OS::strlen to + ACE_WString::strlen. + +Tue May 19 09:52:08 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/config-irix6.x-g++.h: + * ace/config-irix6.x-sgic++-nothreads.h: + * ace/config-irix6.x-sgic++.h: + Added ACE_LACKS_MUTEXATTR_PSHARED + +Mon May 18 16:37:36 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/SString.h (ACE_CString): Added the ability to hold on to + user supplied character strings without having to make a copy. + + * ace/OS.h (ACE_OS): Added implementations for strrchr, strnchr, + strnstr, and strstr. + + * ace/ACE.cpp (hash_pjw): Added new versions of these that work + with user specified string length. + +Mon May 18 12:24:40 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/config-*.h: Commented out most of the + ACE_LACKS_CONDATTR_PSHARED so we can see what platforms really + DON'T support this... + + * ace/OS.i (mutex_init): Added support for + pthread_mutexattr_setpshared() so we can initialize POSIX + pthreads process-wide mutexes. Thanks to Ki-hyun Yoon + <abird@nextware.co.kr> for suggesting this. + + * ace/config-sunos5.6.h: Added an #define for + ACE_THREAD_POSIX_SEM. Thanks to Ki-hyun Yoon + <abird@nextware.co.kr> for reporting this. + + * ace/config-sunos5*.h: Removed the ACE_LACKS_RWLOCK_T stuff since + it's unnecessary. Thanks to Chris Lahey for reminding me of + this... + +Mon May 18 13:48:14 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Synch.i: Added #ifdef (ACE_HAS_THREADS) to make it compile + on non-threaded platforms. + +Mon May 18 12:31:32 1998 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/Service_Config.{h,i,cpp}: Added an accessor debug() for + external access to the <debug_> variable. More debug messages + check this before displaying. + + * ace/Parse_Node.cpp: Checks Service_Config's debug flag before + outputting debug messages. + +Sun May 17 23:14:32 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Wince/*.dsp: Disabled precompiled headers. They ate up + all my disk space. + + * ace/Service_Config.cpp: <process_directive> takes a string of + type ASYS_TCHAR. Use ACE_WIDE_STRING to do the conversion. + + * ace/Log_Msg.{h,cpp} (ACE_ASSERT): Use unicode in ACE_ASSERT. + (log): Don't exit the program for now. Exiting program here + destroys all debugging message in the window. + + * tests/Reader_Writer_Test.cpp: Reduced the number of iterations + on WinCE. + + * ace/OS.i: Added ACE_OS::time () implementation for CE. + +Sun May 17 21:45:07 1998 David L. Levine <levine@cs.wustl.edu> + + * performance-tests/Misc/childbirth_time.cpp: changed type of + MULTIPLY_FACTOR from int to size_t to avoid signed/unsigned + comparison. + + * tests/Tokens_Test.cpp: synchronize start of thread svc () + routines. Occasionally, the first thread would finish before + any others had started. The TSS objects would get cleaned + up. Then, the remaining threads would start up and make a big + mess. + +Sat May 16 15:10:46 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Service_Config.h (ACE_Service_Config): Moved the + process_directive() into the public part of the class so this + can be called by applications one the Service Configurator is + open. Thanks to Tom Arbuckle + <arbuckle@uran.informatik.uni-bonn.de> for suggesting this. + +Sat May 16 14:12:09 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Thread_Manager.{h,i,cpp} (class ACE_Thread_Descriptor_Base): + Extract thread handle and thread creation flags out from + Thread_Descriptor into this new class. This is necessary + because after my last round of changes to improve + ACE_Thread_Manager, I changed the <terminated_queue_> from + holding Thread_Descriptor's to holding pointers to descriptor. + This was a bad move because the address of these pointers had + already been "freed." The <terminated_queue_> now holds + ACE_Thread_Descriptor_Base which contains only the information + needed for manipulating <terminated_queue_>. Thanks to Arturo + for noticing this. + +Sat May 16 03:23:35 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * performance-tests/Misc/childbirth_time.cpp (main): Added a new + function to test the performance of ACE_Thread_Mutex in single + thread _without_ any contention. + +Fri May 15 22:55:51 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/Recursive_Mutex_Test.cpp: Only iterate the test 50 times + on CE as on Chorus. Otherwise, as I'm using a CEdit to hold the + test output, CEdit would overflow. + + * ace/OS.i (thr_getspecific): Don't check for return value of + TlsGetValue on CE because CE doesn't seem to set the LastError + correspondingly. + (strchr): Added implementation on CE. + + * Added Activation_Queue.i and Strategies.i. + + * Combed thru all these files and added difinitions for ctor/dtor + for a bunch of classes explicitly. CE needs them. + + Activation_Queue.cpp Activation_Queue.h Dynamic.h Dynamic.i + Event_Handler.h Event_Handler.i Get_Opt.h Get_Opt.i Handle_Set.h + Handle_Set.i High_Res_Timer.h High_Res_Timer.i INET_Addr.h + INET_Addr.i IO_SAP.h IO_SAP.i IPC_SAP.h IPC_SAP.i Local_Tokens.h + Local_Tokens.i Log_Record.h Log_Record.i Malloc.h Malloc.i OS.h + OS.i Obstack.cpp Obstack.h Obstack.i Parse_Node.h Parse_Node.i + Pipe.h Pipe.i Process_Manager.h Process_Manager.i SOCK.h SOCK.i + SOCK_Acceptor.cpp SOCK_Acceptor.h SOCK_Acceptor.i SOCK_CODgram.h + SOCK_CODgram.i SOCK_Connector.h SOCK_Connector.i SOCK_Dgram.h + SOCK_Dgram.i SOCK_Dgram_Bcast.h SOCK_Dgram_Bcast.i + SOCK_Dgram_Mcast.h SOCK_Dgram_Mcast.i SOCK_IO.h SOCK_IO.i + SOCK_Stream.h SOCK_Stream.i SString.h SString.i Sched_Params.h + Sched_Params.i Select_Reactor.h Select_Reactor.i + Service_Manager.h Service_Manager.i Service_Repository.h + Service_Repository.i Service_Types.h Service_Types.i + Shared_Object.h Shared_Object.i Signal.h Signal.i Strategies.cpp + Strategies.h Strategies.i Strategies_T.cpp Strategies_T.h + Synch.cpp Synch.h Synch.i Synch_Options.cpp Synch_Options.h + Synch_Options.i Timer_Heap_T.cpp Timer_Heap_T.h Timer_List_T.cpp + Timer_List_T.h Timer_Queue_T.cpp Timer_Queue_T.h + Timer_Wheel_T.cpp Timer_Wheel_T.h. + +Fri May 15 16:55:34 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/config-sunos5*.h: Automatically enable ACE_LACKS_RWLOCK_T if + we're NOT using Solaris threads (since pthreads doesn't support + readers/writer locks). + + * ace/Service_Config.cpp: Removed a duplicate template + instantiation of template class + ACE_Unbounded_Queue_Iterator<ACE_CString>. Thanks to Ben Eng + <ben@jetpen.com> for reporting this. + + * ace/OS: Fixed a number of problems that occurred when trying to + use the PTHREAD implementation on Solaris without using + ACE_HAS_STHREADS. The problems related primarily to the + ACE_OS::rw*() functions. To fix the problems, the following + changes were made. + + Remove the #if defined (ACE_HAS_STHREADS) from the case where we + have the native rw*() functions. We just use the + ACE_LACKS_RWLOCK_T compile flag to determine whether we have the + native functions. + + Without the ACE_HAS_STHREAD flag, ACE_rwlock_t comes up + undefined. To fix this, moved the definition at approx. line + 1868 above the #else at approx. line 1865 as the following: + + #if ! defined (ACE_LACKS_RWLOCK_T) + #include <synch.h> + typedef rwlock_t ACE_rwlock_t; + #endif // ! ACE_LACKS_RWLOCK_T + + Finally, the ACE_idtype_t type was also undefined. To fix this, + moved the typedef from within the #if defined (ACE_HAS_STHREADS) || + defined (DIGITAL_UNIX) block and create a new ifdef block: + + #if defined (ACE_HAS_IDTYPE_T) + typedef idtype_t ACE_idtype_t; + #else + typedef int ACE_idtype_t; + #endif + + Thanks to Chris Lahey <CLahey@cccis.com> for his through help at + recognizing and fixing these problems. + +Fri May 15 09:38:37 1998 David L. Levine <levine@cs.wustl.edu> + + * bin/make_release: redirect cvs tag output to /dev/null. + + * performance-tests/Misc/context_switch_time (main): fixed + printout of yield test time for other than the default + number of iterations. + +Fri May 15 09:29:57 1998 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.5.6 released. + +Fri May 15 08:25:19 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Service_Config.cpp: fixed and added template instantations. + + * ace/Svc_Conf_y.cpp,etc/Svc_Conf_y.cpp.diff: removed compile + warnings. + + * include/makeinclude/platform_sunos5_g++.GNU: use PIC instead of pic, + because the TAO orbsvcs lib needs it. + + * Makefile: added .PHONY for phony targets. + +Fri May 15 02:47:35 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.5 released. + +Fri May 15 02:42:06 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.4 released. + +Thu May 14 15:28:42 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/config-kcc-common.h: Added the ACE_HAS_USING_KEYWORD to the + config file. Thanks to Ben Eng <ben@jetpen.com> for reporting + this. + + * examples/Service_Configurator/Misc: Updated the Timer_Service + test to demonstrate the new service configurator feature. It's + AWESOME! + + * ace/Svc_Conf.h, + ace/Svc_Conf.l: + Added a super-cool new feature that allows us to parse service + configurator directives from a string rather than from a + svc.conf file. + + * ace/Svc_Conf.l (yywrap): Free up ace_yy_current_buffer in yywrap + to prevent a memory leak. Thanks to Paul Motuzenko + <p_motuzenko@hotmail.com> for reporting this. + + * examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp: Enhanced the + implementation to make it easier to follow and to support the + latest features of CPP-inclient.cpp. + + * ace/OS.h (ACE_OS): Added a wrapper for strcspn(3s). + + * examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp: Added more + cool changes to the CPP-inserver.cpp example and renamed it. + +Thu May 14 14:46:02 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/OS.h: Moved the definition of ACE_Export before it is used. + +Thu May 14 13:22:46 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Message_Block.h: + * ace/Message_Block.cpp: + The static duplicate() method can take pointer to a const + Message_Block. + +Wed May 13 18:46:28 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/IPC_SAP/SOCK_SAP/CPP-{inserver,inclient}.cpp: Added + profile timing to the server so we can compute socket + performance metrics. Also generalized the tests so we can + experiment with both oneway and twoway calls. + +Wed May 13 19:20:27 1998 James C Hu <jxh@cs.wustl.edu> + + * ace/OS.h: + * ace/OS.i: + * ace/OS.cpp: Added a substitute gets implementation for when + ACE_LACKS_GETS. The substitute is actually safer than gets, so + I may end up making gets call the new routine instead of + Standard C's. + + * ace/config-g++-common.h: Changed the g++ common file so that + 2.8.1 acts like EGCS does. This worked on Solaris 2.5.1. We'll + see how other's fare. + +Wed May 13 18:13:12 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.3 released. + +Wed May 13 11:29:56 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * performance-tests/Synch-Benchmarks/Options.cpp (print_results): + My previous change to add print_results functionality when + ACE_HAS_GETRUSAGE broke this on Win32. + + * ace/config-g++-common.h (ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS): + Made this macro defined for all versions of g++. + +Wed May 13 09:26:48 1998 David L. Levine <levine@cs.wustl.edu> + + * many *.{h,i,cpp,idl} files: inserted RCS keyword string. + +Wed May 13 00:35:25 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace: Added ACE_Export to a bunch of class in ACE. Thanks to + Gonzalo A. Diethelm (gonzo@ing.puc.cl) for pointing this out. + +Tue May 12 15:16:04 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/config-WinCE.h: + * ace/OS.h: Stopped using non-static object manager for CE. This + is causing some problem at process shutdown. + + * ace/Acceptor.cpp: Made CE friendly. + + * ace/Process.cpp ([~]ACE_Process_Options): Moved things around to + avoid compilation errors on CE. Secret: CE doesn't have + environment variables. + +Tue May 12 13:28:05 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/OS.h: + The ACE_INLINE_FOR_GNUC macro must be defined (as the null + token) if ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTION is not + defined. + +Tue May 12 12:30:55 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/README: + * ace/config-g++-common.h (ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS): + Added this new macro to get around a bug which only happens in + GNUC 2.7.xx. It mistakenly refers to the template definition as + the place where a function is used. + + * ace/OS.h (ACE_INLINE_FOR_GNUC): Added the macro to fix the GNUC + bug. + + * ace/Thread_Manager.h: Added above macro to set_next and + get_next. + +Tue May 12 12:11:36 1998 Bob Laferriere <laferrie@gsao.med.ge.com> + + * ace/Process.{h,cpp}: modifications to make the environment buffer + and number of environment variables tunable in the constructor. + I also fixed a logic error which previously attempted to write + beyond an array bounds of the array of pointers into the + environment buffer. I made the environment_argv_ buffer tunable + as well. The new constructor takes the old hardcoded static sizes + as the default dynamic sizes for backwards compatiblity. + The behavior is to return -1 if the maximum buffer size or + maximum number of environment arguments has been reached in + following with the prior behavior. I opted not to make the members + grow as needed so the class would still follow it's prior behavior. + This would be simple to add, however. + +Tue May 12 08:29:50 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/Malloc.cpp (ACE_Allocator::instance): replaced dynamic + allocation of the default ACE_Allocator with allocation from + the data segment. Thanks to Ben Eng <ben@jetpen.com> for + providing the stack trace that revealed the problem. + + * ace/Malloc.h: added comments to not add data members to + ACE_Allocator or ACE_New_Allocator. + + * bin/g++dep: changed PATH to pick up /project/doc/pkg/gnu/bin/g++, + and removed GNUG_INCLUDE. Thanks to Ganesh Pai <gpai@voicetek.com> + for reporting problems with the old version on Linux. + +Tue May 12 02:59:27 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * performance-tests/Misc/childbirth_time.cpp: Added ACE_OS::sleep + (0) before all timing sections start. This ensures we own a + fresh time slice when the timing begin and reduce the chances of + getting preempted + +Tue May 12 00:42:05 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * bin/dsp2dsp.pl: This file clones a new MSVC 5.0 dsp file based + on setting from another dsp file. It is most useful in adding + new project files into tests/. + + * tests/WinCE/*: New project files. Updated the workspace. + Please see CE-status for the current progress. + + * tests/Buffer_Stream_Test.cpp: + * tests/Conn_Test.cpp: + * tests/Enum_Interfaces_Test.cpp: + * tests/Handle_Set_Test.cpp: + * tests/Hash_Map_Manager_Test.cpp: + * tests/Message_Block_Test.cpp: + * tests/Reactors_Test.cpp: + * tests/Thread_Manager_Test.cpp: + * tests/Thread_Mutex_Test.cpp: Made CE friendly. + + * tests/test_config.h: Moved some common definitions shared among + CE and other platforms out. + + * ace/Acceptor.cpp: + * ace/Acceptor.h: + * ace/Connector.cpp: + * ace/Connector.h: + * ace/Stream.cpp: + * ace/Svc_Handler.cpp: + * ace/Svc_Handler.h: + * ace/Synch.h: + * ace/Synch.i: CE stuff. + + * ace/config-WinCE.h: Defined ACE_DEFAULT_SERVER_HOST in UNICODE + here to overwrite the default setting. + + * ace/Synch.i (ACE_Lock): CE needs a default ctor here. + +Mon May 11 15:43:01 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * tests/WinCE/ce_tests.dsw: + * tests/WinCE/Atomic_Op_Test.dsp: + * tests/WinCE/Barrier_Test.dsp: + * tests/WinCE/Basic_Types_Test.dsp: + * tests/WinCE/Map_Manager_Test.dsp: Added/Updated project files. + + * tests/Atomic_Op_Test.cpp: + * tests/Barrier_Test.cpp: + * tests/Basic_Types_Test.cpp: Made them CE friendly. + + * ace/config-WinCE.h: Only define ACE_LACKS_INLINE_FUNCTIONS when + building debug version of ACE for SH series CPU. + + * WindozeCE/WindozeCEDlg.cpp: Updated the initial message after the + display window but before ACE console progrm started. + + +Mon May 11 15:43:01 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.{i,cpp}: Moved CE's impelmentation of ACE_OS::fprintf to + cpp file. + +Mon May 11 15:15:24 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Thread_Manager.h: + Removed bogus ACE_INLINE macros in class declaration, they were + making the SGI compiler *very* unhappy. + +Mon May 11 15:11:11 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.cpp (ctime_r): Renamed the fmtstr to + ACE_OS_CTIME_R_FMTSTR for we may need to use similar scheme to + fix other bugs in the future. + +Mon May 11 14:50:47 CDT 1998 Everett Anderson <eea1@cs.wustl.edu> + + * ace/Name_Proxy.cpp: Changed one last recv to recv_n. + +Mon May 11 13:14:22 1998 Chris Gill <cdgill@cs.wustl.edu> + + * ace/RB_Tree.{cpp,h,i}: (new) Red-Black Tree data structure + implementation. A Red-Black Tree is an efficient + self-balancing binary tree that uses recoloring to + minimize rotations while rebalancing on insertion or + deletion of a tree node. Items in the tree are stored + according to a key provided at insertion. This + implementation is an OO rendition of the ADT described + in Cormen, Leiserson, Rivest, "Introduction to Algorithms" + (c) 1990, MIT. + +Mon May 11 12:31:41 1998 Steve Huston <shuston@riverace.com> + + * ace/OS.h: Made ACE_LD_SEARCH_PATH, ACE_LD_SEARCH_PATH_SEPARATOR_STR, + ACE_DLL_PREFIX, ACE_DLL_SUFFIX settable via config.h. + + * ace/config-hpux-10.x.h: + ace/config-hpux11.h: Set ACE_LD_SEARCH_PATH, ACE_DLL_SUFFIX. + Thanks to Kirill Rybaltchenko and David Levine for identifying + this problem. + +Mon May 11 12:27:05 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/ACE.cpp (send_n): retry if ACE::send () fails due to + EWOULDBLOCK. Thanks to Dave Brackman <dbrackma@OhioEE.com> + for reporting this. + + * tests/Env_Value_Test.cpp (main): check return values of + options.setenv () calls. Thanks to Bob Laferriere + <laferrie@gsao.med.ge.com> for recommending this. + + * include/makeinclude/platform_vxworks5.x_ghs.GNU: instead of + using GNU ranlib386 after using GHS ax for i386 targets, just + use GNU ar386. + + * ace/gethrtime.cpp: added some comments about GHS asm support. + + * java/netsvcs/{Logger,Time}/Makefile, + java/tests/netsvcs/Logger/Makefile: + replaced WRAPPER_ROOT with ACE_ROOT. + +Mon May 11 05:14:18 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/config-WinCE.h: Added ACE_HAS_NON_STATIC_OBJECT_MANAGER. CE + console programs have to set this flag because the main + functions is actually renamed and running in a threads. + + * tests/test_config.h: Excluded class and macros to redirect + debugging messages to files under CE. This make debugging a bit + easier but we should eventually put them back under CE. + + * tests/Map_Manager_Test.cpp: Made CE friendly. + + * ace/Hash_Map_Manager.cpp: Some ACE_ERROR were not CE friendly. + + * ace/Profile_Timer.{h,i}: + * ace/Synch.{h,i}: Moved inline function definitions to Synch.i + file. Windows CE can't grok any inline at all. + +Mon May 11 02:43:45 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * performance-tests/Misc/childbirth_time.cpp (main): Added + a new method for benchmarking ACE_Thread_Manager::spawn_n. + Added other cosmetic changes. + +Sun May 10 23:20:36 1998 Irfan Pyarali <irfan@cs.wustl.edu> + + * ace/Token.cpp: Adding more debugging statements. + + * ace/Asynch_Acceptor.cpp (should_reissue_accept): Added template + method that decides whether a new asynchronous accept should be + issued. + +Sun May 10 23:28:57 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.cpp(inherit_log_msg): + * ace/Log_Msg.cpp (thr_desc): Wait on Thread_Descriptor's lock + instead of the "global" Thread_Manager lock. + + * ace/Thread_Manager.cpp: Moved acquire_release() from + ACE_Thread_Manager to ACE_Thread_Descriptor. This method is + called from ACE_Log_Msg::thr_desc to prevent a thread from using + its thread descriptor before it is fully built. The change + relieve spwaned threads from waiting for other threads created + in the same spwan_n call to be created before it can start + running. + + (insert): Added an extra argument to control whether we want to + insert the newly created thread into ACE_Thread_Manager's thread + table or not. Notice that it is default to 1 to remain the + original behavior in case anyone is using this class/function + directly in their code. However, in ACE_Thread_Manager, we + always prevent it from inserting because we always register + thread descriptors from spawn_i. + +Sun May 10 01:51:29 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.h: Renamed ACE_OS::Time_To_The_Beginning to + ACE_OS::FILETIME_to_timval_skew. + + * ace/OS.cpp: Found the problem in ACE_OS::ctime_r. An internal + compiler bug (?) caused the bug. The solution: move the format + string out as a const string instead of putting it in sprintf + directly. Weird. + + * ace/Log_Record.{h,cpp}: Made priority_name_ and its access + function CE friendly. + +Sat May 9 20:09:13 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Thread_Manager.h: Changed the type of lock used by + <thread_desc_freelist_> to ACE_SYNCH_MUTEX. Or else, it won't + compile on platforms that doesn't support thread. Thanks to + Woody Zenfell <woody@arl.wustl.edu> for reporting this. + +Fri May 08 22:29:01 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/SOCK_Dgram_Mcast.cpp (subscribe): CE UNICODE related fix. + +Fri May 8 14:18:46 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Thread_Manager.h (ACE_Thread_Descriptor): Added ACE_INLINE + to declarations of set_next and get_next to get around a bug in + a version of g++. + +Fri May 8 11:57:23 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Map_Manager.cpp: Fixed a bug where we weren't calling + close_i() when resizing the buffer. + + * ace/Thread_Manager.cpp (set_grp): In + ACE_Thread_Manager::{get,set}_grp we must check to see that we + have a valid pointer after the ACE_FIND. Otherwise a seg fault + occurs. Thanks to Chris Lahey <CLahey@cccis.com> for reporting + this. + +Fri May 08 09:47:50 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-linux-common.h: only use ACE_HAS_POLL with glibc2. + Thanks to Saneyasu <sane@sail.t.u-tokyo.ac.jp> for reporting + this. + + * ace/OS.i (sleep): On Linux without ::poll () (prior to glibc), + copy the ACE_Time_Value argument because the system modifies it. + + * include/makeinclude/platform_osf1_4.0.GNU: moved -lm from LIBS + to MATHLIB. + + * performance-tests/UDP/Makefile: added $(MATHLIB) to LDLIBS. + + * tests/Aio_Platform_Test.cpp (have_asynchio): use + _SC_LISTIO_AIO_MAX instead of _SC_AIO_LISTIO_MAX if it's + #defined. It is on DU 4.0. + +Fri May 08 08:43:42 1998 Steve Huston <shuston@riverace.com> + + * include/makeinclude/platform_hpux_gcc.GNU: Added $(PIC) to + definition of SOFLAGS. Thanks to Kirill Rybaltchenko + <Kirill.Rybaltchenko@cern.ch> for this fix. + + * ace/SOCK_Dgram_Mcast.cpp (subscribe): Added code for Win32 so that + if a subscribe is done without specifying an interface, the mcast + address is subscribed to on each non-loopback interface. This works + around a bug in NT's winsock in the presence of multiple IP + interfaces. Won't hurt 95 - will just run a bit slower than it + otherwise would. + + * examples/Reactor/Multicast/Multicast.{mdp,mak}: Added MSVC 4.2 + workspace for this example. + +Fri May 8 03:43:25 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Thread_Manager.{h,cpp}: Added yet one more member variable + into Thread_Descriptor to keep track of registration of + Thread_Descriptors. By adding this variable, we can avoid an + extra locking in remove_thr for most cases (normal cases ;-). + Thanks to the inspiration from Arturo Montes + <mitosys@colomsat.net.co>. + +Thu May 07 22:06:13 1998 Ben Eng <ben@jetpen.com> + + * ace/config-kcc-common.h,config-linux-{common,kcc}.h: updated + KCC/Linux support, and integrated into config-linux-common.h. + +Thu May 7 20:32:20 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp + (main): Oops, we need to move the unlink() AFTER we create the + file... Thanks to Sandro Doro <doros@aureus.sublink.org> for + reporting this. + +Thu May 07 19:08:22 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.2 released. + +Thu May 7 14:10:41 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * ace/Timer_Hash_T.h: + * ace/Timer_Hash_T.cpp: + * ace/Timer_Heap_T.cpp: + * ace/Timer_Wheel_T.cpp: + The classes had a INHERITED typedef for the base class, but + Solaris defines a macro by the same name. This causes very weird + problems with EGCS (and probably other g++ versions). + +Thu May 07 04:15:23 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Profile_Timer.cpp (elapsed_time): Treat Win32 differently + so I can use this function with WinCE Emulation build. The + problem is that Win32 can't convert __int64 to double. + + * ace/OS.{h,cpp} (ACE_Time_Value): (Win32 only) Added a new static + const member (Time_To_The_Beginning) of type DWORDLONG (unsigned + _int64) to adjust the time skew between FILETIME and POSIX time. + Changed the type of _100ns to ULARGE_INTEGER to eliminate + unnecessary computation. + +Wed May 6 23:58:40 1998 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> + + * ace/XtReactor.cpp: + The signature for the open() method of the notify pipe has been + modified. + +Wed May 6 23:28:47 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp: + Fixed a couple of mistakes that were causing the UNIX domain + sockets not to work. Thanks to Sandro Doro + <doros@aureus.sublink.org> for recommending this. + + * performance-tests/Misc/context_switch_time.cpp (svc): An 'i' + was being defined twice, gorp! It's fixed now! + +Wed May 06 22:00:14 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-linux-common.h: only #define + ACE_HAS_4_4BSD_SENDMSG_RECVMSG with __GLIBC__. Thanks + to Chanaka Liyanaarachchi <chanakal@ittc.ukans.edu> for + reporting the lack of CMSG_DATA support on RedHat 4.2. + +Wed May 06 18:35:21 1998 Steve Huston <shuston@riverace.com> + + * ace/ACE.cpp (get_ip_interfaces): Reset buf_len before each call to + get_reg_key to get registry value for device's IP address. It gets + overwritten on each call to get_reg_key. + + * include/makeinclude/platform_mvs.GNU: Added definition for PIC. + Though not related to position-independent-code, it is a switch that + makes shared lib builds work right. Removed the old SOBUILD def. + Thanks to Chuck Gehr for helping with this strategy. + +Wed May 06 16:32:53 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Filecache.h (ACE_Filecache_Handle): Removed + ACE_EXPORT_DECLARE and specified ACE_Export directly for + ACE_Filecache_Handle and ACE_Filecache in calss declarations. + + * ace/Thread_Manager.{h,i,cpp}: A bug was found by Arturo Montes + <mitosys@colomsat.net.co> who noticed that when a thread was + spawned and then exited immediately, its thread descriptor might + get freed before even get registered into the thread table kept + by the Thread_Manager. Although it doesn't make any sense to + spawn a thread just to let it return immediately, a middleware + shouldn't restrict the way how users want to use it. + + I got around this problem by adding a lock into + Thread_Descriptor. Before spawning a thread, the Thread Manager + will first grab the lock. It won't release the lock until + calling append thread, at which point, the Thread_Descriptor of + the thread has been stashed into the table. Removing the + Thread_Descriptor also requires to hold this lock and release + the lock before the Thread_Descriptor is "freed." Therefore, + if a thread exit before its Thread_Manager ever gets a chance to + register it, it will block and waiting. + + The type of the lock is defined by ACE_DEFAULT_THREAD_MANAGER_LOCK + which, by default, is ACE_Thread_Mutex. User can change the + definition by defining in their config.h file. For example, if + you can be sure that all your threads will run for an extended + long time (which, in most case, should be true,) you can disable + this feature by defining this as a ACE_Null_Mutex to speed up + spawning and termination of threads. + + (thread_desc_freelist_): Added a free list to Thread_Manager to + recycle Thread_Descriptor. By default, this free list + pre-allocate 0 Thread_Descriptor and has low-water-mark of 1, + increment count 1 and a huge (25000) high water mark. That is, + if you use a Thread_Manager for an extended period of time, you + won't have to dynamically allocate memory for Thread_Descriptor + for every thread after your system is stable (the thread count + fluctuates between some certain values.) + + There are two ways to change the settings. First, by defining + ACE_DEFAULT_THREAD_MANAGER_LWM, ACE_DEFAULT_THREAD_MANAGER_HWM, + ACE_DEFAULT_THREAD_MANAGER_INC, and + ACE_DEFAULT_THREAD_MANAGER_PREALLOC in your <config.h> file. + This changes the default setting of your ACE. (The global + Thread_Manager use this setting.) Or, you can specify these + values when creating a Thread_Manager. + + * ace/Free_List.cpp (alloc,dealloc): Don't grab the lock in these + two functions. They only get called from add() and remove() + which hold the lock before making the call. Actually, they also + gets called from the constructor and destructor. But that + shouldn't be a problem. + + * tests/Reactor_Notify_Test.cpp (run_test): Moved the #endif of + ACE_HAS_THREADS down to avoid compilation error on non-threaded + platforms. + +Tue May 5 14:12:08 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * include/makeinclude/platform_sco5.0.0-fsu-pthread.GNU: Added a + platform config file courtesy of Arturo Montes + <mitosys@colomsat.net.co>. + +Tue May 05 08:35:18 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-irix6.x-sgic++-nothreads.h: updated the determination + of ACE_SIZEOF_LONG_DOUBLE. Thanks to Bob Laferriere + <laferrie@gsao.med.ge.com> for providing the fix. + + * include/makeinclude/platform_sunos5_g++.GNU: use -gstabs+ instead + of -g on Solaris86. + + * etc/Svc_Conf_l.cpp.diff: updated. It's magic, Nanbor :-) + The problem seems to be due to an old version left in + /tmp/Svc_Conf_l.cpp, which confuses flex. + + * ace/config-linux-common.h,config-g++-common.h: moved + ACE_HAS_PENTIUM (with i386) from config-linux-common.h + to config-g++-common.h. + + * ace/config-linux-common.h: added ACE_HAS_POLL, so we + don't use ::select () in ACE_OS::sleep (). Linux's + ::select () modifies its timeout argument! + + * ace/OS.i (gethrtime): added RDTSC support for all g++ + _and_ ACE_HAS_PENTIUM platforms. + + * ace/config-vxworks5.x.h: added ACE_HAS_PENTIUM with GHS + on Intel platforms. + + * ace/Makefile: for GHS on Intel 8086, build gethrtime.cpp. + It's used to provide a high-resolution time using the + Pentium RDTSC instruction. I don't know how to get + GHS' asm to do it, so it uses g++. + + * ACE-INSTALL.html: added note about carefully installing + egcs on Linux. Thanks to Kurt Sussman <kls@best.com> for + tracking down the cause of mysterious link failures. + +Tue May 05 02:15:49 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Svc_Conf_l.cpp: I know, I know. I shouldn't mess with this + file directly. But I couldn't manufacture this file even with + the stock Svc_Conf.l using Doug's flex. So, I reckon I'll just + check this in now and fix the Svc_Conf_l.diff later. + + * ace/Service_Config.{h,cpp} (process_directive): Standard CE + stuff. + + * WindozeCE/WinAdapter*.*: + * WindozeCE/WindozeCE*.*: Replaced the old adapter for CE with a + new one. The new version allows uses to scroll thru the + "console" output. + +Mon May 04 17:09:39 1998 David L. Levine <levine@cs.wustl.edu> + + * performance-tests/Misc/context_switch_time.cpp: lots of + cleanup. The main changes were the use of ACE_THR_PRI_FIFO_DEF + for the default therad priority, and removal of some + unnecessary thr_yield () calls. + + * tests/Aio_Platform_Test.cpp: added arguments to main (), + removed #includes that are already in ace/OS.h, and added + ACE_START_TEST/ACE_END_TEST calls. + +Mon May 4 13:08:18 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/config-sunos5.6.h: Removed a mysterious "30" at the end of + an #undef. Thanks to J. Russell Noseworthy + <rnosewor@objectsciences.com> for reporting this problem. + +Mon May 04 08:49:09 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp (ACE_Thread_Adapter::invoke): with ACE_NEEDS_LWP_PRIO_SET, + added the call to ACE_OS::thr_setprio () so that the LWP priority + will be set if running in the RT class. Applications no longer + have to be concerned with this. + + * performance-tests/Misc/preempt.cpp (svc): removed + ACE_OS::thr_setprio () calls to set LWP priority, now that ACE + handles that internally. + + * include/makeinclude/platform_*linux.GNU: added "s" to + ARFLAGS, so that ranlib is no longer necessary. + +Sun May 03 22:37:38 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Parse_Node.cpp (open_handle): WinCE doesn't support + ExpandEnvironmentStringA. + + * ace/config-win32-common.h: Only define ACE_HAS_GETRUSAGE when + ACE_HAS_WINNT4 != 0. Thanks to Paul Motuzenko + <p_motuzenko@hotmail.com> for reporting this. + +Sun May 03 01:58:47 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.5.1 released. + +Sat May 2 14:35:04 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tests/Reactor_Notify_Test.cpp: Factored out some common code to + make the test more concise. + + * tests/Reactor_Notify_Test.cpp: Modified the test to check + whether our new mechanism for disabling the notify pipe works + correctly. + + * ace/{WFMO,Select}_Reactor[_Impl]: Added the + "disable_notify_pipe" flag in the constructor in order to + disable this feature and save on descriptors if they aren't + required. Thanks to Tom Venturella <tventurell@mdc.com> for + motivating this. + +Sat May 02 Alexander Babu Arulanthu <alex@merengue.cs.wustl.edu> + + * tests/Aio_Platform_Test.cpp: Included this test program for + testing a platform for Asynchronous I/O options. + * tests/Makefile (BIN): Added Aio_Platform_Test. + +Fri May 01 17:52:32 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/Arg_Shifter.{h,cpp}: Added macros ACE_Export and + ACE_BUILD_DLL respectively. + + * ace/ACE_Library.mak: + * ace/ace_{dll,lib}.dsp: Added Arg_Shifter.cpp into project. + +Fri May 1 13:52:32 1998 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Addr: Made the destructor for ACE_Addr virtual so that + subclasses can be deleted correctly. Thanks to Wei Chiang + <chiang@horizon.ntc.nokia.com> for reporting this. + + * ace: Added Arg_Shifter from TAO and renamed it to + ACE_Arg_Shifter. + + * ace/IOStream_T.i (recv_n): ACE_IOStream<STREAM>::eof (void) had + a subtle bug if it is called when a get operation (>>) has not + failed. Thanks to James CE Johnson <ace-users@lads.com> for + reporting this bug. + + * examples/Connection/misc/Connection_Handler.cpp: Make sure to + activate() each active object using THR_DETACHED so we don't run + out of threading resources. Thanks to Brad Walton + <brad.walton@transnexus.com> for reporting this. + + * ace/Timer_Queue_Adapters.cpp: Rather than returning the result + of schedule_ualarm(), the + ACE_Async_Timer_Queue_Adapter<TQ>::schedule() method should + return the timer id. Thanks to James Garrison + <jhg@austx.tandem.com> for reporting this. + + * examples/System_V_IPC/SV_Message_Queues: Renamed the so-called + "ACE_Message_Block" to "Message_Block" so it wouldn't be as + confusing. Thanks to Ganapathi <guns@fs.IConNet.NET> for this + suggestion. + +Fri May 01 17:52:32 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/ACE_Library.mak: + * ace/ace_{dll,lib}.dsp: Added Arg_Shifter.cpp into project. + +Fri May 01 14:09:21 1998 Steve Huston <shuston@riverace.com> + + * ace/OS.h: Changed ACE_hrtime_t from signed to unsigned on Win32 + to insure correct results from ACE_High_Res_Timer::elapsed_time + calculations. Fixes bug P87. + +Fri May 01 11:52:47 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ace/OS.h: Forgot to redefine ASYS_INLINE after #undef it. + + * ace/OS.i (last_error): On Win32, this should also update errno + after calling SetLastError (). Thanks to Steve for pointing + this out. Fixes bug P88. + +Fri May 01 10:01:09 1998 David L. Levine <levine@cs.wustl.edu> + + * ace/config-sunos5.6.h: replaced config-sunos5.6-sunc++-4.x.h + with this config file, which supports both Sun C++ and g++. + + * ace/OS.i (gethrtime): for the default (::gettimeofday) case, + use 64-bit instead of 32-bit arithmetic by casting to ACE_hrtime_t. + + * ace/Basic_Types.{h,i}: added ACE_U_LongLong::operator *. + + * ace/Env_Value_T.cpp: added #include of Env_Value_T.h. + +Fri May 1 00:35:40 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * include/makeinclude/wrapper_macros.GNU + (ACE_LDSO_Version_Number): Fixed the problem of not able to + parse a formal release number from ace/VERSION. + +Thu Apr 30 15:53:58 1998 Nanbor Wang <nanbor@cs.wustl.edu> + + * ACE.{h,i,cpp}: + * DEV.{h,i,cpp}: + * DEV_Connector.{h,i,cpp}: + * DEV_IO.{h,i,cpp}: + * Date_Time.{h,i,cpp}: + * FIFO_Recv.{h,i,cpp}: + * FIFO_Recv_Msg.{h,i,cpp}: + * FIFO_Send.{h,i,cpp}: + * FIFO_Send_Msg.{h,i,cpp}: + * FILE.{h,i,cpp}: + * FILE_Connector.{h,i,cpp}: + * FILE_IO.{h,i,cpp}: + * IO_SAP.{h,i,cpp}: + * IPC_SAP.{h,i,cpp}: + * LSOCK.{h,i,cpp}: + * LSOCK_CODgram.{h,i,cpp}: + * LSOCK_Connector.{h,i,cpp}: + * LSOCK_Dgram.{h,i,cpp}: + * LSOCK_Stream.{h,i,cpp}: + * Log_Record.{h,i,cpp}: + * Pipe.{h,i,cpp}: + * SOCK.{h,i,cpp}: + * SOCK_CODgram.{h,i,cpp}: + * SOCK_Connector.{h,i,cpp}: + * SOCK_Dgram.{h,i,cpp}: + * SOCK_Dgram_Bcast.{h,i,cpp}: + * SOCK_Dgram_Mcast.{h,i,cpp}: + * SOCK_IO.{h,i,cpp}: + * SOCK_Stream.{h,i,cpp}: + * SPIPE.{h,i,cpp}: + * SPIPE_Connector.{h,i,cpp}: + * SPIPE_Stream.{h,i,cpp}: + * SV_Message_Queue.{h,i,cpp}: + * SV_Semaphore_Complex.{h,i,cpp}: + * SV_Semaphore_Simple.{h,i,cpp}: + * UPIPE_Acceptor.{h,i,cpp}: + * UPIPE_Connector.{h,i,cpp}: Added inline control for these + supposedly default inline functions. + + * ace/config-WinCE.h: Added ACE_LACKS_INLINE_FUNCTIONS. + + * ace/OS.h: Added a new macro ASYS_INLINE for platforms that don't + support inline properly. This is controlled by the macro + ACE_LACKS_INLINE_FUNCTIONS. + + Walked thru all macros and indented them properly. + + * ace/README: Added documentation for ACE_LACKS_INLINE_FUNCTIONS. |