Sun Jan 10 21:52:57 1999 David L. Levine * tests/Message_Queue_Notifications_Test.cpp (iterator_test): added comment explaining why a message queue size of 32 Kb is used, instead of the default of 16 Kb. * docs/ACE-guidelines.html: added guidelines for boolean types and function return values. Sun Jan 10 17:33:29 1999 Douglas C. Schmidt * tests/Message_Queue_Notifications_Test.cpp: Replaced delete mb with mb->release(). Thanks to Susan Liebeskind for reporting this inconsistency. * ace/Task_T.h, ace/Message_Queue_T.h: Clarified the fact that the ACE_Time_Value arguments to the Message_Queue methods use absolute, rather than relative, time. Thanks to Stanford S. Guillory for pointing out the need for this clarification. Sun Jan 10 09:18:41 1999 Martin Krumpolec * ace/Log_Msg.cpp (log): only re-enable tracing if it had not been explicitly disabled. Sun Jan 10 01:06:18 1999 Irfan Pyarali * ace/Log_Msg.cpp (log): Change call from exit() to abort(). * ace/OS.i (abort): Added new function. Sat Jan 9 22:05:07 1999 Nanbor Wang * bin/tao_env.pl: A new perl script that help you translate _env to TAO_IN_ENV. Sat Jan 09 10:53:37 1999 David L. Levine * ace/Name_Proxy.cpp (open): swapped branches of conditional so that options.time_value () is used if USE_TIMEOUT is enabled. Thanks to Mike Goldman for reporting this. Fri Jan 08 19:19:17 1999 Nanbor Wang * ace/OS.h: Applied ACE_TEXT to the definition of ACE_DEFAULT_TEMP_FILE on Win32. Thanks to for reporting this. Fri Jan 08 13:24:12 1999 David L. Levine * ace/Synch.h (ACE_Process_Mutex): made data members private instead of public. Thanks to Peter Gross for reporting this. * examples/Threads/reader_writer.cpp: removed volatile qualifier from declaration of "shared_thr_id", so that the file will compile on DU 4.0 with DCE threads. The volatile qualifier caused a type mismatch with ACE_thread_t. And, it's not necessary, because all access of the shared_thr_id is guarded. * include/makeinclude/platform_chorus_ghs.GNU: added gnuch68 to -alttools, and removed bin from AR; use libedgnoe.a instead of libedg.a with GHS 1.8.9.1. * ace/config-sunos5.5.h: don't define ACE_HAS_XPG4_MULTIBYTE_CHAR with ghs, because its version 1.8.9 doesn't seem to support it. Also, with ghs, replaced the __ctype [] declaration with an #include of , because that's cleaner. Finally, added ACE_HAS_BROKEN_ENUMS for ghs (1.8.9). Thu Jan 07 09:05:27 1999 David L. Levine * ace/config-sunos5.5.h: added ACE_HAS_SIG_C_FUNC with Sun CC >= 4.2. Sun CC 5.0 needs it; Sun CC 4.2 doesn't object to it on SunOS 5.5.1, 5.6, and 5.7. Thanks to Neil Cohen for figuring out how to compile ACE with Sun CC 5.0. * include/makeinclude/platform_sunos5_sunc++.GNU: only use -features=castop and -rtti with Sun CC 4.2. CC 5.0 doesn't support them; I assume that it enables RTTI by default. Thanks to Neil Cohen for reporting this. * ACE-INSTALL.html: added ACE_HAS_REGEX #undef suggestion for shared lib link problems with egcs 1.1.x on Solaris 2.5.x. Thanks to Bob McWhirter for reporting this problem. Thu Jan 07 04:45:36 1999 Douglas C. Schmidt * ACE version 4.6.12 released. Thu Jan 07 04:01:08 1999 Irfan Pyarali * ace/Containers_T.cpp (max_size): No need to reallocate if the new size is the same. Thanks to Mike Goldman for pointing this out. * ace/Strategies_T.cpp (check_hint_i and cleanup_hint_i): purge_i() should be called after the entry is closed. * Select_Reactor_Base.cpp (unbind): The next should be calculated not only based on the but also the . Thanks to Mark L. Boriack for providing a description of this bug. Wed Jan 06 21:42:11 1999 David L. Levine * ace/OS.cpp (thr_create): moved #endif /* ACE_LACKS_SETDETACH */ outside of }, to allow compilation on DU 4.0/cxx with DCE threads. * ace/config-osf1-4.0.h: with DCE threads only, added ACE_LACKS_THREAD_PROCESS_SCOPING. Wed Jan 06 16:36:21 1999 David L. Levine * ACE version 4.6.11 released. Wed Jan 06 15:15:37 1999 Nanbor Wang * ace/Service_Config.cpp (process_directive,close): Moved the deletion of into close method. Otherwise, there's no way to reconfigure the service configuration once it get started. Thanks to Mike Goldman for reporting the problem. Wed Jan 6 14:27:24 EST 1999 James CE Johnson tutorial. It could be a lot better than it is but I'm still new to ACE_Malloc... * docs/tutorials/021/online-tutorials.html: Added the link for #21 Tue Jan 05 22:55:07 1999 Irfan Pyarali * ace/Strategies_T.cpp (cleanup_hint_i and check_hint_i): Since we are holding the connection cache lock in these methods, the Svc_Handler should not call purge(). If it does, a deadlock will occur (unless we have recursive locks) since we are already holding the connection cache lock. Therefore, we zero out the recycler before calling svc_handler->close() and purge out the svc_handler entry ourself (through purge_i()). Thanks to Mark L. Boriack for providing a precise example illustrating this bug. Tue Jan 5 18:48:47 James CE Johnson * docs/tutorials/templates.html: Fixed a number of problems here. Thanks to Amos Shapira for pointing them out. * docs/tutorials/colorize: I pulled out the colorization code from combine into this standalone script. One of these days I'll fix combine so that the code isn't duplicated... Tue Jan 5 16:14:00 1999 Carlos O'Ryan * ace/config-irix6.x-common.h: Added ACE_TIMER_SKEW definition. * ace/FILE.cpp: Fixed the seek() prototype, is was declared as taking a "off_t" argument, but is was defined with a "long" argument, unfortunately in most platforms this was not a problem. Tue Jan 05 13:15:35 1999 Nanbor Wang * ace/Service_Config.i (open): Be sure to pass down the argument down to the real open method. Tue Jan 05 08:08:06 1999 David L. Levine * tests/MM_Shared_Memory_Test.cpp (spawn): fixed syntax error by moving ) to end of ACE_ERROR invocation. * ace/config-osf1-4.0.h: added 10 ms ACE_TIMER_SKEW, so that MT_Reactor_Timer_Test passes. * ace/config-lynxos.h: added 10 ms ACE_TIMER_SKEW, so that MT_Reactor_Timer_Test comes closer to passing. It now chokes on the wait () near the end. * ace/OS.i (thr_getspecific): moved return 0 statement inside the Draft 7/STD #else block, to avoid warning about unreachable statement with Draft 4/6. * ace/config-osf1-4.0.h: with Draft 4 pthreads, added ACE_LACKS_READDIR_R. * tests/MT_Reactor_Timer_Test.cpp (main): added printout if wait () fails. Tue Jan 5 00:59:04 1999 Douglas C. Schmidt * ace/Synch: Changed the remove() method of ACE_Thread_Mutex, ACE_Mutex, ACE_Semaphore, ACE_RW_Mutex, ACE_Event, ACE_Thread_Condition_Mutex, ACE_File_Lock, and ACE_Recursive_Thread_Mutex so that they check a flag to see if remove() has already been called. If it has, then the remove() call does nothing. This avoids nasty problems on platforms like Win95 that fail mysteriously if locks are destroyed multiple times. Note that our solution isn't perfect since it won't protect against race conditions if multiple threads call remove() simultaneously. However, if this happens it's a sign that the application was designed incorrectly... Thanks to Paul Felix and Irfan for tracking this down. * ace/FILE: Added new methods, seek() and tell(), that are more intuitively named than the existing position() methods. The position() methods have been retained for backwards compatiblity, but are now marked as deprecated. * ace/OS.h: Added a macro for ACE_DEFAULT_HTTP_PORT, which is 80 of course... * ace/INET_Addr.cpp: Make sure that addr_to_string() correctly checks the length of its buffer before doing a sprintf(). In addition, added an option to print the results in either ip-addr format or ip-name format. * ace/Mem_Map.cpp (map): where ace/Mem_Map.cpp mmap() will succeed if the length of the file mapping is 0, which will be the case if we've just created the file. This was the wrong place to make this check. * tests/MM_Shared_Memory_Test.cpp: Cleaned up a few things in this test so that it'll be easier to maintain. Mon Jan 04 08:45:45 1999 David L. Levine * ace/config-sunos5.7.h: only use the g++ hacks if the g++ version is prior to 2.8. Assume that later versions were built on SunOS 5.7 host, and/or don't have header files that are incompatible with the system headers. * bin/create_ace_build: changed symlink creation failure from error (with termination) to warning create_ace_build. Mon Jan 4 03:15:57 1999 Douglas C. Schmidt * ace/Mem_Map: If we're remapping an already-mapped file (i.e., the base_addr_ != 0) && the addr parameter IS 0 (i.e., the user isn't trying to respecify where to map this file), then we'll try to map over top of the existing region, which implies "MAP_FIXED". Sun Jan 03 23:21:46 1999 Nanbor Wang * ace/Service_Config.cpp (initialize): Both initialize methods now remove the service object from the repository if its init() method failed. Sun Jan 3 14:39:49 1999 Douglas C. Schmidt * ace/ACE: Added a simple dirname() wrapper method. * ace/SString: The set(const char *, size_t, int = 1) and set(const char *, size_t) methods were inherently ambiguous. I've fixed this by changing removing the default parameters. Thanks to Irfan for suggesting this fix. * ace/Mem_Map.cpp: mmap() will fail if the length of the file mapping is 0, which will be the case if we've just created the file. Therefore, don't even bother trying to mmap() in this case and return a successful result. * ace/FILE: Moved the get_remote_addr() and get_local_addr() methods from the FILE_IO class to the FILE class since that's more properly where they belong. Also added a new remove() method that unlinks the file. * tests/Priority_Reactor_Test.cpp, tests/Conn_Test.cpp, tests/Notify_Performance_Test.cpp, Priority_Reactor_Test.cpp, Reactor_Performance_Test.cpp: Since the default is to skip argv0 there's no sense explicitly saying this in the constructor of ACE_Get_Opt. * ace/FILE_Connector.h: Updated the comments to reflect recent changes. * ace/FILE.h: Added a new get_info() method that takes a reference to an ACE_FILE_Info rather than a pointer. This is a cleaner API, IMHO. * ace/FILE_Connector.cpp (connect): When the argument is ACE_Addr::sap_any, then connect will select a temporary filename using the new feature of ACE_FILE_Addr described below. * ace/FILE_Addr.cpp (set): When the address is ACE_Addr::sap_any, then we'll select a new temporary filename using the new ACE_DEFAULT_TEMP_FILE macro and ACE_OS::mktemp(). * ace/OS.h: Added a new ACE_DEFAULT_TEMP_FILE macro that defaults to "/tmp/ace-fileXXXX" and is used by the ACE_FILE_Connector to create a temporary file when it's given an ACE_Addr::sap_any. * ace/FILE_Addr.h: The accessor should return an int to be consistent. * ace/OS.h: Added a new ACE_sap_any_cast macro, which makes it much easier to cast the ACE_Addr::sap_any to the right subclass. * tests/Reactor_Performance_Test.cpp, tests/Reactor_Exceptions_Test.cpp, tests/Process_Strategy_Test.cpp, tests/Priority_Reactor_Test.cpp, tests/IOStream_Test.cpp, tests/Conn_Test.cpp: Replaced all the C-style casts for ACE_Addr::sap_any with the new ACE_sap_any_cast macro. Sun Jan 03 21:48:37 1999 Irfan Pyarali * ace/Asynch_Acceptor.cpp: Since this is a template file, I removed it from the ace library build on NT. * ace/Asynch_Acceptor.cpp (open): Changed C-style cast to use the new ACE_sap_any_cast macro from Dr. Schmidt. Sun Jan 03 09:12:23 1999 David L. Levine * ace/config-sunos5.5.h: with GreenHills, added ACE_LACKS_LINEBUFFERED_STREAMBUF and ACE_LACKS_SIGNED_CHAR. * ace/Basic_Types.* (ACE_U_LongLong): unioned the data members with a double, to ensure alignment on 8-byte boundaries. It could matter when an ACE_U_LongLong is used as a true 8-byte quantity, such as in a call to Solaris ::gethrtime (). * tests/Time_Value_Test.cpp: replaced remaining #ifdef ACE_HAS_STHREADS with #ifdef sun. Sat Jan 2 23:48:44 1999 James CE Johnson * docs/ACE-tutorials.html * docs/tutorials/guide-tutorials.html * docs/tutorials/new-tutorials.html * docs/tutorials/online-tutorials.html Converted some of the absolute URLs to relative. I only have the docs/tutorials tree here at home so I couldn't do any more than these. * docs/tutorials/021/* New tutorial on ACE_Malloc<>. I haven't begun the documentation yet but wanted to get the code commited so it doesn't get lost. Sat Jan 02 08:34:27 1999 David L. Levine * examples/ASX/Event_Server/Event_Server/event_server.cpp (handle_input), examples/Reactor/Misc/test_early_timeouts.cpp (main): added ACE_UNUSED_ARG (n), to avoid compile warning with ACE_NDEBUG. * performance-tests/Misc/test_naming.cpp (find): moved function call w/side effect out of ACE_ASSERT. Thanks to DU 4.0 cxx for noticiing it, with ACE_NDEBUG. Fri Jan 01 18:57:22 1999 David L. Levine * ace/Containers_T.i (ACE_Array,ACE_Array::operator=): added missing ACE_INLINE's. * ace/OS.{h,cpp} (ACE_TSS_Info::operator{==,!=}): added constness. It's necessary with the ACE_Array changes, with ACE_HAS_TSS_EMULATION. Fri Jan 1 12:22:14 1999 Carlos O'Ryan * ace/Containers_T.h: * ace/Containers_T.i: * ace/Containers_T.cpp: * bin/Array_Helper: * bin/Array.pl: Moved most of the implementation of ACE_Array into ACE_Array_Base this class does not require == or != operators defined for the template parameter. I also added methods to access and manipulate the capacity of the array (max_size) as opposed to always changing its size (the portion actually used). * ace/Object_Manager.cpp: * ace/Template_Instantiations.cpp: * ace/OS.cpp: * apps/JAWS/clients/Caching/URL_Properties.cpp: Fixed ACE_Array instantiations.