Update NEWS
[ACE_TAO.git] / ACE / ChangeLogs / ChangeLog-1998b
blobd9de5949d12f8ec8feca290eeacdd43fad825d32
1 Thu Dec 31 13:25:53 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
3         * docs/tutorials/019/server[2].cpp:
4         Test that the segment was created.  If it already existed, the
5         malloc() will return 0 and we'll crash.
7 Thu Dec 31 12:10:46 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
9         * tests/RB_Tree_Test.cpp:
10           Added missing template instantiation, actually it seems that the
11           IRIX MIPSPro compiler was not doing recursive instantiation.
13         * ace/ACE.cpp:
14           Use ACE_NOTREACHED in ACE::set_handle_limit(), the IRIX compiler
15           was complaining again.
17 Thu Dec 31 10:58:11 1998  David L. Levine  <levine@cs.wustl.edu>
19         * ace/Containers_T.cpp (ACE_Fixed_Set::insert): removed
20           blank line between function header and body.
22 Thu Dec 31 09:40:09 1998  Douglas C. Schmidt  <schmidt@ace.cs.wustl.edu>
24         * ace/SOCK_Stream: Added a new ACE_SOCK_Stream constructor that
25           initializes the underlying ACE_HANDLE automagically.
27 Wed Dec 30 17:07:21 1998  Douglas C. Schmidt  <schmidt@ace.cs.wustl.edu>
29         * ace/Containers_T.h: Clarified that the insert() method on
30           ACE_Unbounded_Stack doesn't allow duplicates.  Thanks to Susan
31           Liebeskind <susan.liebeskind@gtri.gatech.edu> for reporting
32           this.
34 Wed Dec 30 14:41:56 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
36         * ace/ACE.cpp:
37           Sometimes the get_ip_interfaces routine was returning 0.0.0.0 as
38           a valid address, we explicitly avoid that now.
40 Wed Dec 30 14:34:44 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
42         * bin/GenExportH.BAT: Added '\$\I\d\$' string in generated file.
43           Also in generated file, make XXX_HAS_DLL defined to 1 if it
44           isn't defined already.
46 Wed Dec 30 13:22:50 1998  Chris Gill  <cdgill@cs.wustl.edu>
48         * ace/Functor.{cpp, h, i}
49           ace/Functor_T.{cpp, h, i}
50           ace/Hash_Map_Manager.{h, i}
51           ace/Hash_Map_Manager_T.{h, i}: Moved ACE_Hash and ACE_Equal_To
52           STL-style functors from the Hash_Map_Manager files into the
53           Functor files (so other containers can use these from a central
54           place).  Added ACE_Less_Than STL-style functor.  Thanks to Doug
55           Schmidt, Carlos O'Ryan, and Irfan Pyarali for comments on the
56           distinctions between GOF command pattern functors and STL-style
57           functors.
59         * ace/RB_Tree.{cpp, h, i}: Reworked templates so RB_Tree can take
60           advantage of template specialization for strcmp semantics without
61           the overhead of a virtual function call.  Thanks to Carlos O'Ryan
62           for his suggestions on how to achieve this.
64         * ace/OS.h
65           ace/config-psos-diab.h
66           include/makeinclude/platform_psos_diab.GNU
67           tests/Handle_Set_Test.cpp
68           tests/Process_Strategy_Test.cpp
69           tests/RB_Tree_Test.cpp
70           tests/Reactor_Performance_Test.cpp
71           tests/TSS_Test.cpp: A number of fixes to allow ACE pSOS tests to
72           compile and link successfully.
74 Wed Dec 30 10:36:36 1998  David L. Levine  <levine@cs.wustl.edu>
76         * tests/Env_Value_Test.cpp: protected tests of doubles with
77           #ifndef ACE_LACKS_FLOATING_POINT, so that the test will
78           build for our Chorus platform.
80 Tue Dec 29 16:24:24 1998  David L. Levine  <levine@cs.wustl.edu>
82         * bin/Service_Config.perl,auto_ptr.perl,corba-boolean.perl,
83           rename-ace.pl: use perl from user's path, so we don't have
84           to hard-code its location.
86         * tests/Time_Value_Test.cpp: don't test ACE_U_LongLong if
87           the platform defines ACE_LACKS_LONGLONG_T, e.g., GreenHills,
88           because it makes a big mess.
90         * bin/Hash_Map_Manager.pl,Hash_Map_Manager_Helper.csh:
91           translated Hash_Map_Manager_Helper.csh from csh to sh.
92           Renamed Hash_Map_Manager_Helper.csh to Hash_Map_Manager_Helper.
94         * docs/ACE-guidelines.html: specifically disallow csh scripts.
96 Tue Dec 29 15:09:15 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
98         * ACE version 4.6.10 released.
100 Tue Dec 29 14:57:24 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
102         * docs/tutorials/{019,020}: Checked out the two new tutorials
103           from James Johnson.
105 Tue Dec 29 14:37:57 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
107         * ACE version 4.6.9 released.
109 Tue Dec 29 13:32:50 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
111         * ace/OS.h (ACE_SELF): Changed it's definition from -1 to 0 on NT
112           to avoid warings from Intel C++.  ACE_SELF is not used on NT.
113           Thanks to Karel Zuiderveld <kzuiderveld@vitalimages.com> for
114           reporting this.
116 Tue Dec 29 10:29:03 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
118         * ace: Fixed a bunch of warnings produced by Intel's C++ 4.0
119           compiler.  Thanks to Karel Zuidrveld
120           <kzuiderveld@vitalimages.com> for reporting these.
122 Tue Dec 29 09:47:48 1998  David L. Levine  <levine@cs.wustl.edu>
124         * ace/config-sunos*.h,README:
125           restored ACE_TIMER_SKEW, with explanatory comment.
127 Mon Dec 28 23:12:59 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
129         * ace/DLL.h,
130           ace/Mem_Map.h,
131           ace/Read_Buffer.h:
132           Added ACE_UNIMPLEMENTED_FUNC() macros to these headers.
134 Wed Dec 28 22:55:55 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
136         * ace/DLL.h: Prevent copying and assignment by putting these
137           methods in the private part of the class.
139 Mon Dec 28 17:57:25 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
141         * docs/tutorials/020/*:
142         Sooner than expected...  A brief and basic intro to using
143         ACE_Shared_Memory_MM.
145         * docs/tutorials/online-tutorials.html:
146         Linked in 019 and 020
148 Mon Dec 28 16:32:42 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
150         * docs/tutorials/019/*:
151         At long last, a basic Tutorial on ACE_Shared_Memory_SV.  With
152         luck, 020 will be added soon to cover ACE_Shared_Memory_MM
154 Mon Dec 28 11:21:40 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
156         * ace/Strategies.h: Put the "virtual" keyword in from of the
157           ~ACE_Reactor_Notification_Strategy to make it clear
158           that this destructor is virtual.  Thanks to Greg Gallant
159           <greg.gallant@jhuapl.edu> for pointing this out.
161 Mon Dec 28 11:12:08 1998  David L. Levine  <levine@cs.wustl.edu>
163         * ACE-INSTALL.html: added SunOS 5.7 (Solaris 7) info.
165 Mon Dec 28 10:52:20 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
167         * */Makefile:
168           Updated dependencies.
170 Mon Dec 28 02:34:59 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
172         * examples/Service_Configurator/IPC-tests/server/server_test.cpp
173           (main): Allow loading in static services in this application.
174           Thanks to Peter J. Mason <peterm@fl.net.au> for reporting this.
176         * ace/Service_Config.{h,i,cpp} (ACE_Service_Config): Changed the
177           default value of <ignore_static_svcs> to 1.  Otherwise, it is
178           not consistent with the initial value of
179           ACE_Service_Config::no_static_svcs_ and that's very confusing.
180           (open): Added one more argument <ignore_static_svcs> with
181           default value of 1.  This allow us to turn off this behavior
182           when opening Service_Config.  Otherwise, the only other way is
183           to create a fake ACE_Service_Config and use that to change the
184           static variable <no_static_svcs_>.
186 Sun Dec 27 21:51:10 1998  David L. Levine  <levine@cs.wustl.edu>
188         * etc/purify.solaris2: added a couple of MIU suppressions for
189           SunOS 5.7's thread library.
191 Fri Dec 25 08:23:51 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
193         * ACE-INSTALL.html: Fixed a broken link to the ACE FAQ.  Thanks to
194           Barry Hoggard <hoggardb@panix.com> for reporting this.
196 Fri Dec 25 01:55:32 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
198         * ace/Hash_Map_Manager: There are two problems with the current
199           implementation of Hash_Map_Manager:
201           (a) It requires a hash() method on the key type.  If it is not
202               possible for the key type to have a hash() function (e.g.,
203               the key is a primitive type such as an int, or is a pointer
204               type, or a three party class), the usual solution is to do
205               partial template specialization.
207               This is usually not a very good option since some compilers
208               do not support partial template specialization.
210           (b) The second problem is with comparing two keys.
211               Hash_Map_Manager assumes that keys can be compared using
212               operator==. This assumption causes problems in some cases,
213               e.g., when using char * as the key.  Usually with char *,
214               you want to use strcmp and not compare pointers.
216           Solution to these two problems is the new Hash_Map_Manager_Ex
217           class. Problem (a) is addressed by using a function object - the
218           type of which is specified by the user as an additional template
219           parameter. Problem (b) is addressed by using another function
220           object - the type of which is specified by the user as an
221           additional template parameter. So the new Hash_Map_Manager_Ex
222           takes five template parameters:
224           <key, value, hash_key, compare_keys, mutex>
226           Backward compatibility: Hash_Map_Manager now inherits from
227           Hash_Map_Manager_Ex, fixing the hash_key function object (which
228           simply calls key.hash()) and fixing compare_keys (which simply
229           uses operator== on the keys).
231           There will be one problem: Users of compilers that do not
232           implicitly instantiate templates will have to update their list
233           of template instantiations. To help with this, please see
234           $ACE_ROOT/bin/Hash_Map_Manager_Helper.csh
236           Other miscellaneous changes: Added two new classes: ACE_Hash<T>
237           and ACE_Equal_To<T>.  ACE_Hash assumes a hash() method on T.
238           ACE_Equal_To compares by using operator==.  However, the
239           ACE_Hash class has been specialized to work with:
241           char, signed char, unsigned char,
242           short, unsigned short,
243           int, unsigned int,
244           long, unsigned long,
245           const char *, char *,
246           const wchar_t *, wchar_t *,
247           const ACE_USHORT16 *, ACE_USHORT16 *,
249           Also, ACE_Equal_To has been specialized to work with:
251           const char *, char *,
252           const wchar_t *, wchar_t *,
253           const ACE_USHORT16 *, ACE_USHORT16 *,
255           Remember, you don't have to use these specialization.  You can
256           always create your own.
258           If we had default template parameters, we could default hash_key
259           to ACE_Hash<key> and compare_keys could default to
260           ACE_Equal_To<key>.
262           BTW, note that the specialization with ACE_Hash and ACE_Equal_To
263           is not partial template specialization.  It is complete template
264           specialization, and we don't know of compilers that cannot
265           handle complete template specialization.
267           Since we now have template specialization, Hash_Map_Manager_T.*
268           files were created.  I also took this opportunity to inline most
269           of the Hash_Map_Manager functions.
271           Also, update the makefiles and project files.
273           BTW, these changes grossly simplified
274           tests/Hash_Map_Manager_Test.cpp and tests/Map_Manager_Test.cpp.
275           These tests will now work with compilers that do not support
276           partial template specialization.  Maybe James can change
277           Filecache to take advantage of these changes.
279           Updated the following files with the new template instantiations:
281           ace/Filecache.cpp
282           ace/Local_Name_Space.cpp
283           ace/Template_Instantiations.cpp
284           tests/Conn_Test.cpp
285           tests/Hash_Map_Manager_Test.cpp
286           tests/Map_Manager_Test.cpp
287           TAO/examples/Callback_Quoter/Notifier_i.cpp
288           TAO/examples/POA/On_Demand_Loading/Servant_Manager.cpp
289           TAO/examples/Simple/bank/AccountManager_i.cpp
290           TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp
291           TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp
292           TAO/orbsvcs/orbsvcs/Log/Logger_i.cpp
293           TAO/orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp
294           TAO/orbsvcs/orbsvcs/Naming/CosNaming_i.cpp
295           TAO/orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp
296           TAO/orbsvcs/orbsvcs/Trader/Trader.cpp
297           TAO/orbsvcs/orbsvcs/Trader/Trader_Utils.cpp
298           TAO/tao/ORB.cpp
299           TAO/tao/ORB_Core.cpp
300           TAO/tao/Object_Table.cpp
301           TAO/tao/Operation_Table.cpp
302           TAO/tao/POA.cpp
303           examples/Map_Manager/test_hash_map_manager.cpp
305           Thanks to Carlos for suggesting these changes.  Most of these
306           were inspired by SGI's STL.
308           If these changes are successful (i.e., nobody is hunting me down
309           for breaking their code ;-)), we should add a similar comparison
310           function object to Map_Manager, Collections in Containers_T that
311           require an operator==() (typically for remove() and find()) and
312           the RB_Tree.
314         * ace/ACE (hash_pjw): hash_pjw is now available for char *,
315           wchar_t *, and ACE_UINT16 *.
317         * ace/OS (strlen, strcpy, strcmp): These functions are now
318           available for char *, wchar_t *, and ACE_UINT16 *.
320         * ace/SString.cpp (ACE_WString::strlen): Simply calls
321           ACE_OS::strlen.
323         * ace/config-win32-common.h (ACE_HAS_WCHAR_TYPEDEFS_USHORT): Since
324           Win32 typedefs wchar_t as a 16 bit unsigned short, this can
325           potentially cause problems with function overloading.
326           Therefore, I added ACE_HAS_WCHAR_TYPEDEFS_USHORT to the Win32
327           config file.  This is very similar to
328           ACE_HAS_WCHAR_TYPEDEFS_CHAR.  Thanks to David Levine for helping
329           with this.
331 Thu Dec 24 09:37:32 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
333         * ACE version 4.6.8 released.
335 Thu Dec 24 00:59:46 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
337         * ace/Thread_Manager.h (ACE_Thread_Manager): Added a more complete
338           documentation of the deprecated <at_exit> method.  Thanks to
339           Keith Brown <kalbrown@ix.netcom.com> for reporting this.
341 Wed Dec 23 16:37:52 1998  David L. Levine  <levine@cs.wustl.edu>
343         * ace/config-sunos5.5.h,include/makeinclude/platform_sunos5_ghs.GNU:
344           updated so that links succeed.
346 Wed Dec 23 15:58:53 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
348         * ace/ACE.cpp (ldfind): Supress changing the 'dll' name if a
349           customized dll extension is used.
351 Tue Dec 22 22:34:32 1998  David L. Levine  <levine@cs.wustl.edu>
353         * ace/config-sunos5.5.h,include/makeinclude/platform_sunos5_ghs.GNU:
354           added GreenHills compiler support.
356         * ace/OS.h: don't use hrtime_t for ACE_hrtime_t if
357           ACE_LACKS_LONGLONG_T.
359 Mon Dec 21 16:06:07 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
361         * ace/Shared_Memory_MM.i: Changed the remove() method to call
362           ACE_Mem_Map::remove() rather than ACE_Mem_Map::unmap() so the
363           code is consistent with the documentation.  Thanks to James
364           Johnson for reporting this.
366 Mon Dec 21 13:55:33 1998  David L. Levine  <levine@cs.wustl.edu>
368         * ace/Containers_T.{i,cpp} (ACE_Bounded_Set::is_full): On LynxOS
369           only, uninlined this function to avoid Internal Compiler Error
370           with native (3.0.0) compiler.  Thanks to Carlos for this fix,
371           it had us stumped for quite a while.
373 Sat Dec 19 18:27:07 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
375         * ace/Timer_Queue_Adapters.cpp (handle_signal): Cleaned up an
376           unused variable.  Thanks to David Levine for reporting this.
378 Fri Dec 18 09:30:57 1998  David L. Levine  <levine@cs.wustl.edu>
380         * ace/High_Res_Timer.h (elapsed_time_incr): added missing
381           const to member function declaration.
383         * ace/config-sunos5.5.h: removed redundant
384           ACE_HAS_XPG4_MULTIBYTE_CHAR #define.
386         * ace/config-sunos5.7.h: added this config, for Solaris 7.
388         * apps/Gateway/Gateway/Gateway.cpp,
389           examples/ASX/Event_Server/Transceiver/transceiver.cpp
390           (handle_signal): added ACE_UNUSED_ARG (signum).
392 Fri Dec 18 06:08:47 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
394         * ace/High_Res_Timer: Made several methods const.  Thanks to Ulf
395           Jaehrig <jaehrig@desys.com> for reporting this.
397         * ace/Thread.h (ACE_Thread): Removed a stray join(ACE_Thread_ID)
398           method.  Thanks to Jody Hagins <jody@atdesk.com> for reporting
399           this.
401 Thu Dec 17 21:06:30 EST 1998  James CE Johnson <jcej@lads.com>
403         * docs/tutorials/000:
404           Removed.  This is redundant with the Chap* directories.
406 Thu Dec 17 17:18:21 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
408         * include/makeinclude/platform_sco5.0.0-{nothread,fsu-pthread}.GNU:
409           This file was been modified to get rid of thread related stuff
410           until we can obtain the FSU threads library.  Thanks to Michael
411           Preobrazhensky <mikep@xpedite.com> for this.
413 Thu Dec 17 16:56:28 1998  David L. Levine  <levine@cs.wustl.edu>
415         * bin/create_ace_build: try /bin/find if /usr/bin/find doesn't exist.
417         * ace/High_Res_Timer.cpp (elapsed_time): rearranged terms in
418           nanoseconds calculation to avoid overflow on machines that don't
419           have native 64-bit ints.  Thanks to Greg Holtmeyer
420           <gholtmeyer@mdc.com> for helping to track this problem down.
422 Thu Dec 17 12:43:11 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
424         * ace: Removed the use of ACE_DEBUG within handle_signal() methods
425           to avoid portability problems.  Thanks to Susan Liebeskind
426           <susan.liebeskind@gtri.gatech.edu> for reporting this.
428 Tue Dec 15 14:45:49 1998  David L. Levine  <levine@cs.wustl.edu>
430         * *.h: removed () from #pragma implementation argument.
431           Thanks to Christian v. Mueffling <cvm@aiss.de> for reporting
432           this.
434         * docs/ACE-guidelines.html: added Doug's warning about side effects
435           in ACE_DEBUG statements.
437 Tue Dec 15 14:43:47 1998  Ossama Othman  <ossama@debian.org>
439         * ace/OS.{h,i},README: added lstat() and readlink() methods.
440           Use ACE_LACKS_LSTAT and ACE_LACKS_READLINK if lstat() and readlink()
441           aren't supported.
443 Tue Dec 15 11:55:51 1998  Steve Huston  <shuston@riverace.com>
445         * ace/ACE_Library.(mak mdp): Added Message_Queue.cpp to the files list.
447         * examples/NT_Service/NT_Service.(mak mdp): MSVC 4.2 project file for
448           the NT_Service example.
450 Tue Dec 15 11:27:24 1998  David L. Levine  <levine@cs.wustl.edu>
452         * ace/config-chorus.h: added ACE_LACKS_READLINK.
454         * ace/config-psos*.h,config-vxworks-5.x.h: added ACE_LACKS_READLINK
455           and ACE_LACKS_LSTAT.
457 Tue Dec 15 08:44:18 1998  Steve Huston  <shuston@riverace.com>
459         * examples/NT_Service: New example program, shows how to create,
460           manipulate, and run an NT Service using the ACE_NT_Service class.
461           Muchas gracias to Gonzalo Diethelm for smashing this code into a
462           good example - useful enough to show how things work, but simple
463           enough to show all the useful functionality in one concise program.
465 Tue Dec 15 07:32:49 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>
467         * OS.h:
469           Moved the definition of IOV_MAX after we have included the
470           limits.h file. Before make ing this change, we were getting lots
471           of warnings on SunOS 5.6 about redefinition of IOV_MAX.
473 Mon Dec 14 15:39:39 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
475         * tests/Makefile:
476           Updated dependencies.
478 Mon Dec 14 10:49:29 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
480         * Static_Performance.dsw: Quick and dirty workspace to build
481           several static version's performance tests.
483         * ace/ace_lib.dsp: Removed "__ACE_INLINE__=0" from the default
484           static release build settings.
486         * performance-tests/Misc/basic_perf.dsp:
487         * performance-tests/Misc/context_switch_time.dsp: Added static
488           build configurations.
490         * tests/RB_Tree_Test.dsp: Redid the project file.  A VC 6 only
491           compiler option somehow got into the file.  Thanks to Ulf
492           Jaehrig <jaehrig@desys.com> for reporting this.
494 Mon Dec 14 10:24:59 1998 Fred Kuhns <fredk@arl.wustl.edu>
496         * ace/OS.h: Added #define for IOV_MAX 16
498 Mon Dec 14 08:35:11 1998  David L. Levine  <levine@cs.wustl.edu>
500         * BUG-REPORT-FORM: added a few FMMs.
502 Mon Dec 14 08:27:11 1998  Steve Huston  <shuston@riverace.com>
504         * tests/run_tests.sh: Enabled MT_Reactor_Timer_Test.
506 Sun Dec 13 16:40:18 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
508         * tests/MT_Reactor_Timer_Test.dsp:
509         * tests/tests.dsw: Added the new project file -
510           MT_Reactor_Timer_Test.
512         * tests/run_tests.bat: Added MT_Reactor_Timer_Test into
513           one-button test for NT.
515         * tests/MT_Reactor_Timer_Test.cpp: Changed the use of
516           ACE_OS::{read,write} to ACE::{recv,send}.
518 Sat Dec 12 17:19:17 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
520         * ace/ACE.cpp (ldfind): If we specified a suffix which is not the
521           default suffix on the platform, the ldfind() operation should
522           not try to add the default platform suffix but use ours.
524 Sat Dec 12 07:44:02 1998 John Lindal <jafl@cco.caltech.edu>
526         * ace/config-mklinux.h: added.
528 Fri Dec 11 23:26:20 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
530         * tests/Message_Queue_Test.cpp: Generalize the test to perform
531           "platform specific" message queue tests when applicable.
532           Currently, this only applies to VxWorks and Windows NT 4.0 or
533           above.
535         * tests/DLL_Test.cpp (main): STL's implementation of auto_ptr
536           doesn't define an assignment operator that takes a pointer of T.
537           Changed to use constructor to initialize the auto_ptr my_hello.
539 Fri Dec 11 16:30:44 1998  Ossama Othman  <othman@tango.cs.wustl.edu>
541         * tests/Time_Value_Test.cpp: Removed the ACE_DISABLE_AUTOCONF_LONGLONG
542           macro.  It broke ACE+autoconf on non-sun platforms.
544 1998-12-11  Nanbor Wang  <nanbor@cs.wustl.edu>
546         * test/DLL_Test.dsp: Fixed configuration settings.  Most of the
547           time, it's easier to add new projects by using the
548           bin/dsp2dsp.pl.
550         * ace/Message_Queue.{h,cpp} (enqueue): Made sure all bytes in a message
551           block chain are accounted for.
552           (enqueue_tail,dequeue_head): Added two more methods into
553           ACE_Message_Queue_Base.  They are the prefered methods to use.
555 Fri Dec 11 15:09:43 1998  Ossama Othman  <ossama@debian.org>
557         * tests/Time_Value_Test.cpp: define ACE_DISABLE_AUTOCONF_LONGLONG
558           before including ace/inc_user_config.h.  This will prevent
559           an automatically generated ACE Configuration Project config.h
560           header from defining ACE_UINT64, and thus allowing
561           Time_Value_Test.cpp to compile on platforms that define
562           ACE_HAS_STHREADS.  Please read the comment in Time_Value_Test.cpp.
563           ACE_DISABLE_AUTOCONF_LONGLONG is not meant for general use!
565 Fri Dec 11 14:05:11 1998  Steve Huston  <shuston@riverace.com>
567         * tests/MT_Reactor_Timer_Test.(cpp h): Replaced the multithread
568           timer set/cancel test with sensible tests.
570 Fri Dec 11 08:51:07 1998  David L. Levine  <levine@cs.wustl.edu>
572         * ACE-INSTALL.html: updated egcs version information.
574         * VERSION: added ace-users/comp.soft-sys.ace info.
576         * include/makeinclude/platform_osf1_4.0.GNU: added suppression
577           of warning 1136, conversion to integral type of smaller size
578           could lose data.  cxx V6.1-029 spews out a bunch of them,
579           otherwise.
581         * tests/Time_Value_Test.cpp: protected definition of __ACE_INLINE__.
582           Thanks to Ossama for reporting this.
584 1998-12-11  Nanbor Wang  <nanbor@cs.wustl.edu>
586         * ace/Message_Queue.{h,i,cpp} (ACE_Message_Queue_Base): Added a
587           bunch of pure virture functions in the class to define the
588           common interface functions of a message queue.  This allows up
589           to experiment different message queue implementations easily.
590           Most significantly, all queueing operations are simplified into
591           <enqueue> and <dequeue> method in ACE_Message_Queue_Base as
592           "standard" queueing operations.  Inherited class, of course, can
593           add fancier queueing operations (as in ACE_Message_Queue.)
595           (ACE_Message_Queue_NT):  A new adapter class inherited from
596           ACE_Message_Queue_Base that implement a message queue using NT's
597           IO completion ports.  As it's name implies, this is a
598           specialized version for NT.  It is not as versatile as ACE's
599           general MQ implementation.  However, this implementation
600           consumes less NT handles which in some circumstances may be a
601           big win (because ACE_Message_Queue uses cv and on NT, cv is
602           simulated and consumes 4 handles per cv.  ACE_Message_Queue_NT
603           only uses one handle and one critical section.)
605           Several features inherited from IO completion port are, the
606           waiting threads are release in LIFO order, and you can control
607           (at initialization time,) the max number of threads that can be
608           release by the message queue to run concurrently.
610           Notice that the constructor and the <open> method have different
611           signature compared with those of ACE_Message_Queue.  You should
612           use ACE_Message_Queue_Factory to create a message queue on the
613           fly if so desired.
615           Thanks to Mark Lucovsky <markl@microsoft.com> and Karlheinz Dorn
616           <Karlheinz.Dorn@med.siemens.de> for providing the idea.
618         * ace/Message_Queue_T.h (dequeue): Added the new method to match
619           with the changes in ACE_Message_Queue_Base.
620           (create_NT_message_queue): A wrapper function to manufacture an
621           ACE_Message_Queue_NT.
624 Thu Dec 10 09:08:26 1998  David L. Levine  <levine@cs.wustl.edu>
626         * ace/config-chorus.h: added ACE_LACKS_FSYNC.
628         * ACE-INSTALL.html: ACE/TAO build on Linux RedHat 5.2
629           as well as 5.1.
631         * ace/config-osf1-3.2.h: added getpgid () prototype, because
632           an old comment said that it was missing from the system headers.
634         * ace/config-linux-common.h: replaced ACE_LACKS_GETPGID with
635           a getpgid () prototype.
637         Thanks to Ivan Pascal <pascal@info.tsu.ru> for motivating the
638         above two getpgid () updates.
640         * ace/config-sunos5.5.h: updated comment on why explicit
641           instantiation isn't used with Sun CC.  Thanks to
642           William A. Hoffman <hoffman@crd.ge.com> for introducing
643           us to -instances=explicit.
645 Wed Dec 09 22:59:38 1998  David L. Levine  <levine@cs.wustl.edu>
647         * ACE version 4.6.7 released.
649 Wed Dec 09 18:03:58 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
651         * examples/Reactor/WFMO_Reactor/test_network_events.cpp (main):
652           Removed global variables and cleaned up some minor things.
654 Wed Dec 09 07:02:06 1998  David L. Levine  <levine@cs.wustl.edu>
656         * README, VERSION: expanded mention of BUG-REPORT-FORM.
658         * docs/ACE-guidelines.html: strengthened mention of ACE_ASSERT danger.
659           Thanks to Irfan for the example.
661         * tests/run_tests.vxworks: re-enabled Timeprobe_Test, now that
662           ACE_ASSERTs have been fixed in ACE's Containers.
664         * ace/config-linux-common.h,config-osf1-{3.2,4.0}.h:
665           removed ACE_LACKS_GETPGID.  Thanks to
666           Ivan Pascal <pascal@info.tsu.ru> for reporting that
667           getpid () is supported on those platforms.
669         * ace/config-linux-common.h: restored ACE_LACKS_GETPGID,
670           because ::getpgid () isn't found on Alpha with glibc 2.0.7.
672         * tests/Timeprobe_Test.cpp: disabled ACE_ENABLE_TIMEPROBES,
673           because the ACE lib is built by default without them.
675         * performance-tests/Misc/context_switch_time.cpp: disabled
676           Yield_Test on VxWorks, because it doesn't run properly there.
678         * ace/config-tandem.h,README: removed ACE_HAS_STRUCT_PROTOENT_DATA,
679           because it is no longer used.  Thanks to Ossama for reporting this.
681         * tests/Collection_Test.cpp,
682           examples/Reactor/Misc/test_early_timeouts.cpp:
683           removed unused parameter names argc and argv.
685         * tests/DLL_Test.cpp: added ACE_Auto_Basic_Ptr <Hello> template
686           instantiation.
688 1998-12-09  Irfan Pyarali  <irfan@cs.wustl.edu>
690         * tests/Collection_Test.cpp: Added new test for ACE collections.
692         * ace/Map_Manager.cpp (operator*):
693         * ace/Containers_T.cpp (operator*):
694         * ace/SPIPE_Acceptor.cpp (create_new_instance):
696           Fixed ACE_ASSERT usage.
698         * ace/config-vxworks5.x.h: Added ACE_LACKS_FSYNC.
700         * ace/OS.i (fsync): Added ACE_NOTSUP_RETURN (-1).
702 Tue Dec 08 21:39:16 1998  David L. Levine  <levine@cs.wustl.edu>
704         * include/makeinclude/platform_osf1_4.0.GNU,ACE-INSTALL.html:
705           enable DU 4.0 cxx 6.x warnings by default.  To disable, if
706           you're using cxx 5.x, set CXX_VER to CXX_5 either on the
707           make command line, or in your environment.  Thanks to
708           Gary York <gfyork@ix.netcom.com> for being that last
709           cxx 6.x user to trip over this :-)
711         * include/makeinclude/platform_lynxos.GNU: override
712           ACE_HAS_GNUG_PRE_2_8 to allow builds of all TAO tests
713           on LynxOS 3.0.0.  Its g++ can handled nested classes, even though
714           it's in the 2.7 family.  Thanks to Patty Hair <patty@Lynx.COM>
715           for suggesting that we try to build the tests on LynxOS.
717 Tue Dec  8 19:50:49 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
719         * ace/Shared_Object.cpp: Changed the various default
720           implementations of init()/fini()/info() to return 0 rather than
721           -1 so that users won't have to subclass Service_Object just to
722           change the return value.  Thanks to Eric Newton for motivating
723           this.
725 Tue Dec  8 16:52:57 1998  Ossama Othman  <ossama@debian.org>
727         * ace/OS.{h,i}, ace/README: Added a fsync() method.  Define
728           ACE_LACKS_FSYNC if ::fsync() isn't supported.
730 Tue Dec 08 15:03:25 1998  Steve Huston  <shuston@riverace.com>
732         * ace/NT_Service.{h cpp i}: Added a number of methods which can be
733           used to register, remove, and control an NT service.  Also,
734           another macro, ACE_NT_SERVICE_RUN, which simplifies the setting up
735           and running the most common case, a single service.  Huge thanks
736           to Gonzalo Diethelm <Gonzalo.Diethelm@jda.cl> for contributing
737           the bulk of this code!
739 Tue Dec 08 11:22:56 1998  Chris Gill  <cdgill@cs.wustl.edu>
741         * ACE version 4.6.6 released.
743 Tue Dec 08 10:45:56 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
745         * ace/System_Time.h: Removed redundant ACE_Time_Date definition.
746           Thanks to Martin Krumpolec <krumpo@pobox.sk> for reporting this.
748 Mon Dec 07 22:58:53 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
750         * examples/Reactor/Misc/test_early_timeouts.cpp: On some
751           platforms, select() returns before the time value specified.
752           This tests counts the number of times this happens and the max
753           early timeout.
755         * ace/DLL.cpp (open): Added a call to ACE::ldopen() before calling
756           ACE_OS::dlopen().  The allows us to find the library is
757           predefined places and also expand the file name to the correct
758           syntax (prefix and suffix) according to the platform.
760           Also, fixed a bug where the <close_on_destruction_> flag has not
761           being consulted on a reopen.
763         * ace/ACE.cpp (ldfind): Moved the code that calls
764           ExpandEnvironmentStringsA() from
765           ACE_Location_Node::open_handle() to ACE::ldfind().  This code is
766           more general and therefore belongs in ACE::ldfind().
768         * ace/Parse_Node.cpp and ace/Svc_Conf_y.cpp: Fixed the incorrect
769           use of ASYS_WIDE_STRING. Remember that the string returned from
770           ASYS_WIDE_STRING is only valid for that line of code ;)
772 Mon Dec  7 19:10:24 EST 1998  James CE Johnson <jcej@lads.com>
774         * docs/tutorials/
775         * docs/tutorials/001/001.dsp
776         * docs/tutorials/002/002.dsp
777         * docs/tutorials/003/003.dsp
778         * docs/tutorials/004/004.dsp
779         * docs/tutorials/005/005.dsp
780         * docs/tutorials/006/006.dsp
781         * docs/tutorials/007/007.dsp
782         * docs/tutorials/008/008.dsp
783         * docs/tutorials/008/008-server/008-server.dsp
784         * docs/tutorials/008/008-direct/008-direct.dsp
785         * docs/tutorials/008/008-broadcast/008-broadcast.dsp
786         * docs/tutorials/009/009-directed/009-directed.dsp
787         * docs/tutorials/009/009-server/009-server.dsp
788         * docs/tutorials/009/009-broadcast/009-broadcast.dsp
789         * docs/tutorials/010/010.dsp
790         * docs/tutorials/011/011.dsp
791         * docs/tutorials/012/012.dsp
792         * docs/tutorials/013/013.dsp
793         * docs/tutorials/014/014.dsp
794         * docs/tutorials/018/018.dsp
795         * docs/tutorials/015/015-client/015-client.dsp
796         * docs/tutorials/015/015-server/015-server.dsp
797         * docs/tutorials/016/016.dsp
798         * docs/tutorials/017/017.dsp
799         * docs/tutorials/tutorials.dsw
800         Contributed by:
801           Stefan Ericsson <Stefan.Ericsson@osd.uab.ericsson.se>
803 Mon Dec 07 14:11:00 1998  Chris Gill  <cdgill@cs.wustl.edu>
805         * ace/README: added entries for ACE_LACKS_IOSTREAMS_TOTALLY
806           and ACE_HAS_BROKEN_CONDITIONAL_STRING_CASTS.  Thanks to
807           Ossama Othman  <othman@astrosun.tn.cornell.edu> for reminding
808           me to do this.
810 Mon Dec 07 09:27:04 1998  David L. Levine  <levine@cs.wustl.edu>
812         * ace/Stats.cpp (std_dev): added comments to not reformat
813           some code.  It compiles with the Diab compiler for pSoS
814           the way it is.
816 Sun Dec 06 23:59:29 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
818         * config-sunos5.5.h: Added back ACE_HAS_TIMER_SKEW.  It is really
819           required. See me for an example that illustrates this need.
821 Sun Dec 06 16:05:00 1998  Chris Gill  <cdgill@cs.wustl.edu>
823         Changes for pSOS port: ACE now compiles for pSOSystem 68k targets using
824         the Diab D-C++ 4.2a compiler release, and links with all but the
825         following ACE tests: Conn_Test, Handle_Set_Test, OrdMultiSet_Test,
826         Priority_Reactor_Test, Process_Strategy_Test, Reactor_Performance_Test,
827         and TSS_Test.
829         * ace/Log_Msg.cpp
830           ace/Log_Record.{cpp, h}
831           ace/streams.h
832           ace/SString.cpp
833           ace/config-WinCE.h
834           ace/config-psos-diab.h
835           tests/test_config.h: Rearranged log print methods so that logging
836           can still be done on platforms where iostreams are not sufficiently
837           supported. Added ACE_LACKS_IOSTREAMS_TOTALLY to select this
838           behavior, and defined it in pSOS Diab config header (also added to
839           Windows CE config header, to simplify factoring out Win CE specific
840           logging methods).
842         * include/makeinclude/platform_psos_diab.GNU
843           ace/OS.{cpp, h, i}: Removed Diab supplied library calls so ACE now
844           links directly to pSOSystem libraries.
846         * ace/Parse_Node.cpp
847           ace/Stats.cpp: Modifications to circumvent bugs in the Diab 4.2a
848           compiler's handling of conditional operators.
850 Sun Dec 06 08:32:36 1998  David L. Levine  <levine@cs.wustl.edu>
852         * ace/Containers_T.cpp,Local_Name_Space_T.cpp,
853           Name_Request_Reply.cpp,Service_Config.cpp,Service_Manager.cpp,
854           Svc_Conf.y,Svc_Conf_Tokens.h,Svc_Conf_y.cpp,
855           Time_Request_Reply.cpp,Trace.cpp:
856           use ACE_NLOGGING instead of ACE_NDEBUG.
858 Sat Dec 05 21:45:00 1998  David L. Levine  <levine@cs.wustl.edu>
860         * ace/Containers_T.cpp,Local_Name_Space_T.cpp,
861           Name_Request_Reply.cpp,Service_Config.cpp,Service_Manager.cpp,
862           Svc_Conf.y,Svc_Conf_Tokens.h,Svc_Conf_y.cpp,
863           Time_Request_Reply.cpp,Trace.cpp:
864           added if NDEBUG protection to some local variables and
865           ACE_UNUSED_ARG to some parameters to avoid compiler warnings
866           when ACE_DEBUG is disabled.  Thanks to Faron Dutton
867           <fdutton@avxus.com> for reporting this.
869         * ace/Makefile (Svc_Conf_Tokens.h): escaped $\I\d$ string so
870           that it doesn't get expanded in the Makefile itself.
872 Sat Dec  5 16:06:27 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
874         * ace/Local_Name_Space_T.cpp: Protected some of the ACE_DEBUG
875           statements with a ACE::debug () check.
877 Fri Dec 04 13:46:12 1998  David L. Levine  <levine@cs.wustl.edu>
879         * ace/Stats.cpp (std_dev): fixed difference calculation so
880           that it always calculates a non-negative value.
882         * performance-tests/Misc/context_switch_time.cpp
883           (High_Priority_Synchronized_Task::svc): check if nsec is >=
884           mutex_acquire_release_time, to avoid adding in negative
885           context_switch_times.
887         * ace/config-vxworks5.x.h,
888           include/makeinclude/platform_vxworks5.x_g++.GNU,
889           include/makeinclude/platform_vxworks5.x_ghs.GNU: moved -DVXWORKS
890           from platform_vxworks5.x_* files to config-vxworks5.x.h, to reduce
891           command-line clutter a bit.
893 Fri Dec  4 12:45:04 1998  James CE Johnson <jcej@lads.com>
895         * docs/tutorials/linify:
896         * docs/tutorials/combine:
897         * docs/tutorials/fixMakefile:
898                 Ensure that perms are 755 and that #!/.../perl is not used
900 Wed Dec 02 14:21:34 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
902         * ace/OS.i (fstat): This function needs to close down the c handle
903           opened by _open_osfhandle to avoid resource leaks on Win32.
904           Thanks to Christian Korn <korn@gate.qaqa.com> for reporting
905           this.
907 Tue Dec 01 13:48:51 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
909         * ace/config-freebsd-pthread.h: Added ACE_HAS_SIGWAIT.  Also added
910           ifdef section to prevent threaded ACE from compiling on FreeBSD
911           under 3.0 (excluded.)
913 Tue Dec  1 22:22:42 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
915         * ace/Synch.h: Added a comment to clarify the semantics of
916           ACE_RW_Process_Mutex.  Thanks to Stanislav Meduna
917           <stanom@etm.co.at> for reporting this.
919 Tue Dec 01 17:22:00 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
921         * tests/DLL_Test: Added the .dsp and tests.dsw to the
922           repository.
924         * tests/run_tests.bat: Added an entry for DLL_Test.
926 Tue Dec 01 13:54:35 1998  David L. Levine  <levine@cs.wustl.edu>
928         * ace/OS.h: added ESUCCESS definition (to 0), if not #defined.
930 Tue Dec 01 13:48:51 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
932         * ace/config-freebsd-pthread.h: Added ACE_HAS_SIGWAIT.  Also added
933           ifdef section to prevent threaded ACE from compiling on FreeBSD
934           under 3.0 (excluded.)
936         * ace/OS.i (sigwait): FreeBSD 3.0 supports sigwait.  Changed the
937           ifdef condition to support sigwait for 3.0 or above.  Thanks to
938           Bob McWhirter <bob@werken.com> and Russell L. Carter
939           <rcarter@dnstoo.consys.com> for helping to track this down.
941 Tue Dec 01 12:59:57 1998  James CE Johnson <jcej@lads.com>
943         * ace/IOStream_T.i (recv,recv_n): set errno to ESUCCESS
944           because it was never being set to ETIME when the read timed
945           out.  (Before entering the peer_->recv/recv_n, errno was
946           ENOENT from previous activities and was the same after in
947           both positive & negative tests until I did the reset.)
948           (eof): cleaned up a bit.
950           I tested against IOStream_Test for both positive and
951           negative. For the positive test, I changed the sleep() at
952           line 363 to a much larger value.  The client worked fine.
953           For the negative test, I replaced the spleep() with a
954           close() & return() pair.  The client saw the closure and
955           exited as expected.
957 Tue Dec  1 08:55:48 PST 1998  James Hu  <jxh@entera.com>
959         * ace/Memory_Pool.cpp:  Since type key_t might be something
960           other than int (e.g., a long), some additional code was needed
961           to support the sscanf.
963 Tue Dec 01 10:49:00 1998  Chris Gill  <cdgill@cs.wustl.edu>
965         * tests/Win32clerk.conf
966           tests/Win32server.conf
967           tests/Win32tokens.conf: removed explicit path for netsvcs dll, as
968           this dll is now being moved to ACE_wrappers/bin after it is built
969           and the explicit path was causing dlopen to fail rather than
970           searching the path on NT, which caused Time_Service_Test to fail.
972 Tue Dec 01 10:07:48 1998  David L. Levine  <levine@cs.wustl.edu>
974         * ACE version 4.6.5 released.
976 Tue Dec  1 00:07:05 PST 1998  James Hu  <jxh@entera.com>
978         * ace/Containers_T.h:
979         * ace/Containers_T.i:
980           Fixed a bug introduced when someone genericized the creation
981           strategy for ACE_DLList.  The removal routing had not been
982           similarly genericized.  Thanks goes to Martin Krumpolec
983           <krumpo@pobox.sk> for spotting the problem.
986 Mon Nov 30 19:10:23 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
988         * examples/DLL/Makefile:
989         * examples/DLL/Makefile.Today:
990         * examples/DLL/Makefile.Newsweek:
992           Added the above makefiles. Makefile internally uses
993           Makefile.Today and Makefile.Newsweek to build the libraries
994           seperately.
996 Mon Nov 30 13:54:04 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
998         * netsvcs/lib/Server_Logging_Handler_T.cpp (handle_input): There
999           was a friggin' bug in this code that is a violation of Reactor
1000           framework design rule #2, i.e., we were returning a non-0 value
1001           from handle_input(), which is a no-no...  Thanks to Steve Huston
1002           for reporting this.
1004 Mon Nov 29 13:16:53 EST 1998  James CE Johnson  <jcej@lads.com>
1006         * docs/tutorials/001/logger.h:
1007         * docs/tutorials/001/page04.html:
1008         * docs/tutorials/003/client.cpp:
1009         * docs/tutorials/003/page01.html:
1010         Added a blurb about the additional parameters to the recv(),
1011         recv_n(), send() and send_n() method calls of ACE_SOCK_Stream.
1013 Sun Nov 29 22:14:32 1998  David L. Levine  <levine@cs.wustl.edu>
1015         * ace/OS.i,cpp (exit): with ACE_HAS_NON_STATIC_OBJECT_MANAGER,
1016           call ACE_Object_Manager::fini ().  Uninlined to avoid circular
1017           include problems with Object_Manager.h.  The ACE_Object_Manager
1018           instantiation on main's stack is not destroyed by ::exit (),
1019           so this addition causes the ACE_Object_Manager to be
1020           properly shutdown.  Thanks to Jeff Greif <jmg@trivida.com>
1021           for pointing out that automatic objects are not destroyed
1022           by ::exit ().
1024         * ace/Object_Manager.h: added Jeff Greif's ACE_OS::exit ()
1025           recommendations in comments.
1027 Sun Nov 29 20:13:15 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1029         * examples/DLL/Today.cpp:
1030         * examples/DLL/Newsweek.cpp:
1032           Added ACE_BUILD_SVC_DLL and ACE_Svc_Export directives needed for the
1033           extern "C" create_magazine function.
1035 Sun Nov 29 18:22:52 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
1037         * tests/Thread_Pool_Reactor_Test.cpp: Removed the use of
1038           "main_reactor".  The "main_reactor" was added to handle incoming
1039           connections because this test was not working correctly without
1040           moving out the acceptor to another reactor.  However, I recently
1041           found that the problem was actually due to the deadlocked
1042           notify_handler which I fixed a while back.
1044         * ace/OS.h: Added forward declarations of ACE_Time_Value's
1045           operator{+,-} so VC 6.0 won't get confused with the
1046           operator{+,-} in namespace std.  Thanks to Victor Yu
1047           <victor.yu@computechnics.com.au> for reporting this.
1049 1998-11-29  James CE Johnson  <jcej@chiroptera.tragus.org>
1051         * docs/tutorials/007/page09.html:
1052         Added warnings about a possible core dump when an event handler
1053         exists in the thread pool's message queue after the handler has
1054         been destroyed.  Jeff Donner's <JDonner@schedsys.com> work with
1055         Tutorial 007 on Win32 lead to this discovery.
1057 Sat NOv 28 20:02:08 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1059         * examples/DLL/Today.cpp:
1060         * examples/DLL/Newsweek.cpp:
1062           Added the #ifdef directive needed to seperate out the
1063           functionality on NT and UNIX platforms.
1065 Sat NOv 28 20:02:08 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1067         * examples/DLL/Dll.dsw:
1068         * examples/DLL/Test_dll.dsp:
1069         * examples/DLL/Today.dsp:
1070         * examples/DLL/Newsweek.dsp:
1072           Added to the repository. The test successfully executes on NT.
1074         * examples/DLL/README: Modified to add information on how to
1075           execute this test example on NT.
1077 Fri Nov 27 13:32:38 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1079         * examples/DLL/test_dll.cpp (main): Added right arguments to the
1080           ACE_ERROR_RETURN macro.
1082 Thu Nov 26 21:04:05 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1084         * examples/DLL/Makefile:
1085         * examples/DLL/Today.{h,cpp}:
1086         * examples/DLL/Newsweek.{h,cpp}:
1087         * examples/DLL/Magazine.h:
1089           Placed the comments at the right place and added an descriptive
1090           header wherever missing in the .h files.
1092         * examples/DLL/test_dll.cpp (main): Added auto_ptr for the
1093           Magazine class object pointer.
1095         * examples/DLL/README: Added to the repository.
1097 Wed Nov 25 02:02:32 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1099         * examples/DLL/Makefile:
1100         * examples/DLL/Today.{h,cpp}:
1101         * examples/DLL/Newsweek.{h,cpp}:
1102         * examples/DLL/Magazine.h:
1103         * examples/DLL/test_dll.cpp:
1105         Added these files. This test example shows how dynamically linked
1106         library objects can be loaded on demand and their methods accessed
1107         on getting an pointer to these objects.
1109 Wed Nov 25 22:28:44 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
1111         * ace/INET_Addr.cpp:
1112           Reverted the behavior to version 4.35, we don't use the first
1113           alias as the hostname, but the value returned in the h_name
1114           field.
1115           This change was to support TAO in our local site, but it caused
1116           many problems for other configurations of /etc/hosts and DNS. We
1117           found another workaround for our local site which makes more
1118           sense to the rest of the world.
1120 Wed Nov 25 20:34:12 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1122         * tests/DLL_Test.cpp (main): Removed ACE_OS::strcat which was
1123           concatenating a string literal with a defined string.
1125 Wed Nov 25 12:01:20 1998  Ossama Othman  <othman@astrosun.tn.cornell.edu>
1127         * apps/gperf/gperf.texi:
1128         * apps/gperf/gperf.info:
1129         * apps/gperf/texinfo.tex:
1130         * apps/gperf/version.texi:
1132         updated gperf.texi to work with recent versions of makeinfo (e.g. 1.68,
1133         available in GNU texinfo-3.12).  Regenerated gperf.info with latest
1134         makeinfo (1.68).  Added texinfo.tex to make available certain TeX
1135         macros for texinfo to TeX converters.  Added version.texi to centralize
1136         gperf update dates and versions (gets included by gperf.texi).
1138 Wed Nov 25 12:01:20 1998  David L. Levine  <levine@cs.wustl.edu>
1140         * performance-tests/Misc/context_switch_time.cpp (main): fixed
1141           printouts by performing floating point division, instead of
1142           converted integer division to double.  Added checks of
1143           activate () return values.
1145         * ace/OS.cpp (sched_params,lwp_getparams,lwpsetparams): set
1146           LWP priority on Suns, even if only using the ACE_HAS_PTHREADS
1147           interface.  Though, we still don't get preemption if only using
1148           that interface.  performance-tests/Misc/preempt.cpp demonstrates
1149           that.
1151         * ace/config-osf1-4.0.h: removed ACE_LACKS_THREAD_PROCESS_SCOPING.
1152           DU 4.0 seems to have process scoping, though I think only
1153           the superuser can use it.
1155 Wed Nov 25 10:48:42 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1157         * ace/Task.cpp: Fixed a bug whereby we weren't inheriting the
1158           group id correctly when joining a group of existing threads.
1159           Thanks to Valery Arkhangorodsky <avalery@balisoft.com> for
1160           pointing this out.
1162 Tue Nov 24 03:50:09 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1164         * tests/DLL_Test.cpp: Renamed DLL_Wrapper_Test.cpp to
1165           DLL_Test.cpp. Also, added ACE_OBJ_SUFFIX which takes care of the
1166           object code convention on NT and UNIX platforms. Changed the
1167           messages in ACE_ERROR to come from ACE_DLL::error().
1168           This is a running version tested using CC compiler too.
1170 Tue Nov 24 17:45:26 1998  Steve Huston  <shuston@riverace.com>
1172         * netsvcs/clients/Naming/Dump_Restore/Makefile: Added a LIBS +=
1173           $(ACELIB) to help this build on AIX.  Thanks to Jon Lindgren
1174           <jlindgren@SLK.com> for reporting this problem.
1176         * README: Added Jon Lindgren to the contributor's list.  Welcome, Jon!
1178 Tue Nov 24 09:34:58 1998  David L. Levine  <levine@cs.wustl.edu>
1180         * include/makeinclude/platform_chorus.GNU: added support for
1181           exceptions=0/1 make option.  Thanks to Wei Chiang for
1182           requesting this.
1184         * include/makeinclude/platform_chorus_ghs.GNU: removed
1185           trailing / from MVME_DIR definition.
1187         * include/makeinclude/platform_vxworks5.x_ghs.GNU: added
1188           optimize=1, to enable optimization by default.
1190         * performance-tests/Misc/context_switch_time.cpp (main):
1191           don't print suspend-resume results if the suspend-resume
1192           test isn't run (because thr_suspend isn't supported).
1193           Process command line options before calulating hi-res timer
1194           scale factor.
1196         * ace/OS.h: replaced ENOTSUP with EDEADLK in a comment,
1197           to fix a copy-and-paste error.
1199         * ace/Stats.* (mean): removed caching.  It didn't account for
1200           the fact that it could be called with different scale
1201           factors.  (std_dev): fixed sum_of_squares calculation to
1202           always use 64-bit arithmetic.  (print_summary): if the
1203           std dev calculation overflows, retry with smaller scale
1204           factor, until 0 is reached.
1206         * tests/Conn_Test.cpp: replaced #include of ace/Auto_Ptr.h,
1207           because ACE_Auto_Basic_Array_Ptr is used.
1209 Mon Nov 24 03:30:36 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1211         * tests/DLL_Wrapper_Test.cpp: Added a test example for the DLL
1212           wrapper class.
1214         * tests/Makefile: Added an entry for DLL_Wrapper_Test example.
1216 Mon Nov 23 23:49:36 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1218         * ace/DLL.h: Made the default value of the close_on_destruction
1219           equal to 1.
1221         * ace/DLL.cpp (~ACE_DLL): Checked whether the member variable,
1222           close_on_destruction_ is non-zero instead of comparing it to 1.
1224 Mon Nov 23 21:14:22 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1226         * ace/DLL.h (ACE_DLL): Set the default of close_on_destruction to
1227           1 instead of 0.
1229         * ace/DLL.cpp (~ACE_DLL): In the close operation, made a check for
1230           whether the close_on_destruction_ flag was equal to 1 instead of
1231           0.
1233         * ace/DLL.cpp (get_handle): Made the close_on_destruction_ flag
1234           equal to 0 when it gets orphaned as now the new owner has to
1235           explicitly close the library.
1237 Mon Nov 23 20:29:52 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1239         * ace/DLL: Cleaned up the comments and also fixed an unnecessary
1240           check to see if dll_name == 0.
1242 Mon Nov 23 10:20:22 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1244         * ace/DLL.h: Added a comment which specified that by default the
1245           library would be closed before the ACE_DLL object gets
1246           destroyed.
1248         * ace/DLL.cpp (get_handle): Changed the value for the member
1249           variable, close_on_destruction_ to 1 on orphaning the handle
1250           and giving it to the new owner.
1252 Mon Nov 23 17:14:40 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
1254         * examples/Reactor/Proactor/test_proactor.cpp (open): It is even
1255           more neat to do this for faking the result.
1256           // <complete> for Accept would have already moved the <wr_ptr>
1257           // forward. Update it to the beginning position.
1258           duplicate.wr_ptr (duplicate.wr_ptr () - bytes_transferred);
1260 Mon Nov 23 17:16:46 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
1262         * ace/OS.h: Set the value of ACE_SHLIB_INVALID_HANDLE to 0 for HP.
1263           Thanks to Steve Huston <shuston@riverace.com> for providing this
1264           information.
1266 Mon Nov 23 16:16:26 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
1268         * examples/Reactor/Proactor/test_proactor.cpp: Updated the code to
1269         show that adjusting wr_ptr () to the place of rd_ptr () is the
1270         better way to fake results properly. Thanks to "James A. Risinger"
1271         <james@tsunami.com> for reporting this problem.
1273 Mon Nov 23 12:58:47 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1275         * examples/ASX/Message_Queue,
1276           tests:
1277           Replaced the improper (though technically correct) use of the
1278           rd_ptr() with wr_ptr().  Thanks to Susan Liebeskind
1279           <susan.liebeskind@gtri.gatech.edu> for reporting this.
1281 Mon Nov 23 10:47:38 1998  David L. Levine  <levine@cs.wustl.edu>
1283         * bin/generate_man_pages: added this script, which generates
1284           the ACE man and html pages.
1286         * Makefile (release): added call to bin/generate_man_pages.
1288 Sun Nov 22 22:58:39 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1290         * ace/SPIPE_Addr.h: Replaced the use of an anonymous struct so
1291           that class2man will be happy.  Thanks to David Levine for
1292           reporting this.
1294 Sun Nov 22 22:07:04 1998  David L. Levine  <levine@cs.wustl.edu>
1296         * ace/Functor*: removed trailing // EOF because class2man choked
1297           on it.
1299 Sun Nov 22 14:36:26 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
1301         * examples/Reactor/Proactor/test_proactor.cpp (open): Updated the
1302           test to show the correct way to 'fake' <complete> call.
1304 Sun Nov 22 13:57:28 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1306         * ace/Makefile: Added Env_Value_T to the TEMPLATE_FILES macro in
1307           the Makefile.  Thanks to Ossama for reporting this.
1309 Sat Nov 21 14:32:53 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1311         * ace/DLL: Cleaned up the DLL logic to handle "close on
1312           destruction" properly.
1314 Sat Nov 21 08:34:44 1998  David L. Levine  <levine@cs.wustl.edu>
1316         * ace/OS.h: added ACE_LACKS_IP_ADD_MEMBERSHIP, for internal
1317           use only.  If IP_ADD_MEMBERSHIP isn't defined, ACE defines
1318           ACE_LACKS_IP_ADD_MEMBERSHIP for subsequent use in
1319           determining whether to define ip_mreq.
1321         * bin/html-windex: updated to match Doug's ~/bin version.
1323 Fri Nov 20 00:58:35 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1325         * ace/DLL.h (ACE_DLL): Added a new constructor which allows auto
1326           opening of the dynamically linked library.
1328         * ace/DLL.h (get_handle): Added a method which returns teh handle
1329           to the user.
1331         * ace/DLL.cpp (ACE_DLL): Added the auto-open feature taking care
1332           of more than one open calls.
1334         * ace/DLL.cpp (get_handle): The orphan flag decides whether the
1335           handle is orphaned or given to the user temporarily.
1337         * ace/DLL.cpp (open): Added a check so that a already existing
1338           handle is closed before the next open is done.
1340 Fri Nov 20 23:40:12 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
1342         * docs/tutorials/00[567]/client_handler.cpp :
1343         * docs/tutorials/00[56]/page0[45].html
1344         * docs/tutorials/007/page0[56].html
1345         Rework the interaction of handle_input(), handle_close() and
1346         close().  I had this all wrong by making handle_close() invoke
1347         remove_handler() when it was unnecessary.
1349 Fri Nov 20 22:12:03 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1351         * ace/Makefile: Added an entry for DLL.{h,cpp}.
1353 Fri Nov 20 15:49:04 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
1355         * ace/OS.h: Added ACE_SHLIB_INVALID_HANDLE which is used to
1356           indicate a invalid shared library handle.
1358         * examples/Reactor/WFMO_Reactor/test_handle_close.cpp: This
1359           application tests whether handle_close() gets called and if the
1360           correct masks are passed along.  The handler should get
1361           handle_close() called for all three masks (READ, WRITE, and
1362           EXCEPT).
1364         * ace/WFMO_Reactor.cpp (remove_handler_i,
1365           remove_suspended_handler_i, and remove_to_be_added_handler_i):
1366           There was a bug in WFMO_Reactor where handle_close() was not
1367           called when it is not a complete removal. Added a call to
1368           handle_close() for all the masks that were removed.  Note that
1369           partial removals do not change the state of the internal tables
1370           of the reactor.
1372         * ace/OS.i (recvfrom): There is a bug in the Win32 implementation
1373           of this function.  It reports an error (with errno=WSAEMSGSIZE),
1374           even MSG_PEEK is specified, when the message was too large to
1375           fit into the specified buffer and was truncated.  So we fixed it
1376           by returning the length of the recv request when
1377           errno=WSAEMSGSIZE and the MSG_PEEK flag was specified.
1379 Fri Nov 20 11:15:40 1998  David L. Levine  <levine@cs.wustl.edu>
1381         * ace/config-sunos5.5.h: changed comment to use
1382           -D_POSIX_PTHREAD_SEMANTICS to specify POSIX threads only.
1383           Just commenting out ACE_HAS_STHREADS in insufficient.
1384           See the Intro (3) man page for information on
1385           -D_POSIX_PTHREAD_SEMANTICS; it's the Sun-recommended
1386           way to specify use of POSIX threads.  Thanks to
1387           Rich Christy <rchristy@cccis.com> for pointing out that
1388           removal of ACE_HAS_STHREADS doesn't work.
1390         * ACE-INSTALL.html: added notes on thread flavors on Solaris.
1392         * include/makeinclude/platform_sunos5_g++.GNU: added support
1393           for threads=0.
1395         * ace/OS.cpp (thr_create): added static cast of PTHREAD_STACK_MIN
1396           to size_t, to avoid signed/unsigned comparison on
1397           g++ 2.7.2.3/Solaris86 2.6.
1399 Thu Nov 19 23:04:37 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
1401         * ace/Functor.h (ACE_Command_Base): Added missing ACE_Export.
1403 Thu Nov 19 18:01:00 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1405          * ace/DLL.cpp (ACE_DLL): Made base-member initialisation change
1406            to member variable close_mode_.
1408 Thu Nov 19 10:28:11 1998  David L. Levine  <levine@cs.wustl.edu>
1410         * performance-tests/Misc/context_switch_time.cpp: fixed 64-to-32
1411           bit casts to work with unsigned 64 bit ACE_hrtime_t on NT.
1413 Wed Nov 18 20:56:38 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1415         * ace/DLL.{cpp,h} (ACE_DLL): Added the close-on-destruction
1416           feature in the constructor of the ACE_DLL class.
1418 Thu Nov 19 00:18:26 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
1420         * ace/OS.i (strnstr): Added a check to see if the substring is
1421           longer than the string being searched. Fixed both the char and
1422           wchar_t versions in OS.i and the ACE_USHORT16 version in
1423           SString.cpp. Thanks to Knut Johannessen <knutj@funcom.com> for
1424           pointing out the bug and providing a fix.
1426         * ace/SString.i (find): The argument to strnstr() should be the
1427           length of <s> instead of <this->len_ - pos>.
1429         * tests/SString_Test.cpp (main): Added tests to make sure that
1430           find() and strstr() work even when the substring is longer that
1431           the original string.
1433         * ace/Timeprobe_T.h (ACE_Timeprobe): Added accessors to the class
1434           so that the user can get to the internals.  This allows the
1435           users to format the output of collecting the timeprobes
1436           according to their liking.
1438 Wed Nov 18 15:51:42 1998  David L. Levine  <levine@cs.wustl.edu>
1440         * ace/Basic_Types.h (ACE_UINT64_DBLCAST_ADAPTER): on other
1441           than Win32 and without ACE_LACKS_LONGLONG_T, wrapped the
1442           "n" macro definition with parenthesis, to avoid insidious
1443           errors in equations due to removing the grouping.  g++ 2.7.2.3
1444           noticed this on the latest context_switch_time.cpp.
1446         * ace/Svc_Handler.cpp (cleanup_hint): fixed ACE_TRACE string.
1448         * *.cpp: changed include protection from #if !defined to ifndef.
1449           Added #pragma once, if possible, i.e., after #include of
1450           an ace/ header.  It can only be done after ace/config.h
1451           is included, because some platforms don't allow #pragma once.
1453 Wed Nov 18 15:54:09 EST 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
1455         * docs/tutorials/007/client_handler.cpp
1456         * docs/tutorials/007/page06.html
1458           Jeff Donner (jdonner@schedsys.com) points out that Susan Liebskind's
1459           fix to Tutorial 6 should also be applied to this one.
1461           The fix is:
1462           Don't call baseclass close() from Client_handler::close().  Doing
1463           so will result in double-delete of the handler object.
1465 Wed Nov 18 00:25:08 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>
1467         * ace/DLL.{h,cpp} (ACE_DLL):
1468           Wrapper for dynamically linked library operations.
1470 Tue Nov 17 11:15:00 1998  Chris Gill  <cdgill@cs.wustl.edu>
1472         * tests/version_tests/RB_Tree_Test.dsp
1473           tests/version_tests/version_tests.dsw : created RB_Tree_Test project
1474           for NT version tests and added it to version tests workspace.
1476 Tue Nov 17 10:15:10 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
1478         * ace/Map_Manager.cpp (resize_i): Made sure the new elements in
1479           resize_i get constructed properly so we can use more complex
1480           classes with it.  Thanks to Knut Johannessen <knutj@funcom.com>
1481           for providing the patch.  Also changed to use copy constructor
1482           to move data across rather than construct/assign pair.
1484 Tue Nov 17 09:37:32 1998  David L. Levine  <levine@cs.wustl.edu>
1486         * ace/config-linux-common.h: removed
1487           ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR because it caused compilation
1488           failure with egcs 1.0.2.
1490         * ace/config-g++-common.h: added ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR,
1491           with egcs >= 1.1 only.  Thanks to James Johnson for helping
1492           to sort this out.
1494         * ace/config-osf1-4.0.h: moved ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR
1495           from common area to DEC CXX area, because config-g++-common.h now
1496           handles g++.
1498         * ace/IOStream_T.i (eof): fixed return value calculation
1499           logic.  Thanks to Arturo and James Johnson for providing
1500           and verifying the fix.
1502         * include/makeinclude/platform_vxworks5.x_ghs.GNU:
1503           added -DVXWORKS to CFLAGS, because GHS 1.8.9 needs it.
1504           (GHS 1.8.8 had a built-in processor define for it.  Adding
1505           -DVXWORKS doesn't seem to bother 1.8.8.)  Thanks to Steve
1506           Kay <slk1@icore.ih.lucent.com> for reporting this.
1508         * ace/OS.h: even if ACE_HAS_IP_MULTICAST is not defined, if
1509           IP_ADD_MEMBERSHIP is defined, assume that the ip_mreq struct
1510           is also defined (presumably in netinet/in.h).  This allows
1511           compilation to succeed on GHS 1.8.9/VxWorks.  Thanks to
1512           Steve Kay <slk1@icore.ih.lucent.com> for reporting it.
1514 Tue Nov 17 09:12:00 1998  Chris Gill  <cdgill@cs.wustl.edu>
1516         * ace/SString.{h, i}: added < , > operators to string classes
1518         * apps/JAWS/PROTOTYPE/HTTPU/http_headers.cpp
1519           tests/RB_Tree_Test.cpp: added missing template instantiations
1521         * tests/Makefile
1522           tests/run_tests.sh : added RB_Tree test to UNIX makefile, test script
1524 Mon Nov 16 17:55:00 1998  Chris Gill  <cdgill@cs.wustl.edu>
1526         * ace/Functor_T.{h, i}
1527           ace/RB_Tree.{cpp, h, i} : added less-than comparison functor
1528           (aka function object aka GOF Command Pattern) to allow ACE_RB_Tree
1529           to be used with key types that do not support a < operator.
1530           Thanks to Mark De Jong <mdj@intervu.net> for reporting the less-than
1531           problem and suggesting part of the solution.  Also cleaned up class
1532           naming and comments to conform to ACE coding standards, fixed an
1533           access violation that occurred when deleting items from a tree.
1535         * tests/RB_Tree_Test.{cpp, dsp}
1536           tests/run_tests.bat
1537           tests.dsw:                    Added a test to verify correct tree
1538           behavior under insertion and deletion for different key and item
1539           types and insertion orders.
1541         * apps/JAWS/PROTOTYPE/HTTPU/http_headers.{cpp, h}: Changed type names
1542           for ACE_RB_Tree and associated classes.
1544 Sun Nov 15 16:34:11 1998  David L. Levine  <levine@cs.wustl.edu>
1546         * ace/config-osf1-4.0.h,config-linux-common.h:  added
1547           ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR #define.  Thanks to
1548           James Johnson for reporting that it is necessary.
1550         * ace/config-kcc-common.h: removed commented-out
1551           ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR #define.
1553 Sun Nov 15 12:40:35 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
1555         *  docs/tutorials/018/*
1556         *  docs/tutorials/online-tutorials.html
1557         A new tutorial on ACE_Token.
1559 Sun Nov 15 12:10:39 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
1561         * docs/tutorials/013/*
1563         A few more tweeks now that the sun is up.  Mostly simple
1564         documentation changes but a couple of cleanups on the code as well.
1566 Sat Nov 14 23:15:58 EST 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
1568         * docs/tutorials/013/message_queue.cpp
1569           docs/tutorials/013/block.cpp
1570           docs/tutorials/013/block.h
1571           docs/tutorials/013/combine.shar
1572           docs/tutorials/013/*.html
1574         Something changed between 4.5.x and 4.6 with the calling
1575         order for ACE_Lock_Adapter<>::release() and ::destroy().
1577         Specifically:  In the older release, the data block's
1578         lock was being held across its destruction.  That required
1579         some odd things to prevent the lock's deletion until it
1580         was released.
1582         In the new version, it appears that release() is called
1583         on the lock before the data block's destructor is called.
1584         Data_Block::Lock::destroy() can now simply 'delete this'
1585         The funky destroy_ flag is no longer necessary.
1587         Thanks to Bob McWhirter <bob@werken.com> for causing me
1588         to look back on this and get it fixed.
1590         I've also taken this opportunity to convert the tutorial
1591         to the new style colorized HTML.
1593 Sat Nov 14 22:01:52 1998  David L. Levine  <levine@cs.wustl.edu>
1595         * bin/make_release (diff): fixed logic that determines
1596           when to use ../diffs/ instead of diffs/.  Thanks to
1597           Doug for reporting this.
1599 Sat Nov 14 14:21:49 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
1601         * ACE version 4.6.4 released.
1603 Fri Nov 13 12:03:18 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
1605         * ace/config-irix6.x-sgic++.h:
1606         * ace/config-irix6.x-sgic++-nothreads.h:
1607           Under some versions of IRIX 6.X the readdir_r() prototype does
1608           not show up unless threads support (actually POSIX1c support) is
1609           enabled. I've change the config file to only use readdir_r() if
1610           threads are enabled. Thanks to Bob Olson <olson@mcs.anl.gov> for
1611           reporting this problem.
1613 Fri Nov 13 08:55:18 1998  David L. Levine  <levine@cs.wustl.edu>
1615         * tests/Pipe_Test,Process_Mutex_Test.cpp: wrapped some variables
1616           and functions with #ifndef ACE_LACKS_FORK, to avoid warnings
1617           on g++/VxWorks.
1619 Thu Nov 12 09:07:28 1998  David L. Levine  <levine@cs.wustl.edu>
1621         * bin/make_release: use ../diffs if building ace+tao kit, so
1622           we no longer need a ../diffs symlink in TAO directory.  Thanks
1623           to Hans Rohnert <rohnert@scr.siemens.com> for motivating this.
1625         * ace/README: removed ACE_LACKS_STREAM_MODULES.  Thanks to
1626           Ossama for reporting that it's no longer used.
1628 Wed Nov 11 23:11:15 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
1630         * bin/ACEutils.pm: Updated to include $EXEPREFIX, which is used
1631           in front of executables in the run_test.pl's.
1633 Wed Nov 11 01:08:32 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
1635         * ACE-INSTALL.html: Added a link to Ossama's ACE Configuration
1636           Project.
1638 Tue Nov 10 22:29:00 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
1640         * ACE version 4.6.3 released.
1642 Tue Nov 10 22:24:59 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1644         * docs/tutorials: Integrated Umar's code examples from
1645           the ACE programmers manual.
1647 Tue Nov 10 21:53:01 1998  David L. Levine  <levine@cs.wustl.edu>
1649         * ace/Process.cpp: added const to loop index, in CHORUS code.
1651 Tue Nov 10 19:27:32 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
1653         * ace/OS.[i,cpp]:
1654           Added checks for ACE_HAS_WINNT4 != 0 when checking for
1655           ACE_HAS_WINNT4 like we do elsewhere.  Thanks to Valery
1656           Arkhangorodsky <avalery@balisoft.com> for pointing this out.
1658 Tue Nov 10 14:56:38 EST 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
1660         * docs/tutorials/index.html
1661           Including #17 now
1663         * docs/tutorials/017/*.html
1664           docs/tutorials/017/combine.shar
1665           Completed!  Commented and converted into standared Tutorial format.
1667 Tue Nov 10 10:09:06 1998  David L. Levine  <levine@cs.wustl.edu>
1669         * tests/Env_Value_Test.cpp (main): replaced hard-coded "/" with
1670           ACE_DIRECTORY_SEPARATOR_STR.
1672         * ace/config-vxworks5.x.h: removed ACE_HAS_VERBOSE_NOTSUP #define.
1673           Thanks to Margherita Vittone Wiersma <vittone@fndaub.fnal.gov> and
1674           Ramiro Penataro Blanco <penataro@ll.iac.es> for complaining
1675           about it.
1677 Mon Nov  9 23:27:59 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1679         * examples/ASX/Message_Queue/buffer_stream.cpp (main): Fixed an
1680           off-by-one bug.  Thanks to Rainer Blome
1681           <rainer_blome@de.ibm.com> for reporting this.
1683 Mon Nov 09 21:31:56 1998  David L. Levine  <levine@cs.wustl.edu>
1685         * tests/Env_Value_Test.cpp (main): prepended "./" to name of
1686           file to spawn.  With the last round of changes to
1687           ace/Process.cpp, that's necessary if "." isn't in the user's
1688           PATH.  That's because we're now using only execvp, and no
1689           longer using execve.
1691         * tests/Atomic_Op_Test.cpp,Barrier_Test.cpp,Buffer_Stream_Test.cpp,
1692           Future_Test.cpp,IOStream_Test.cpp,MT_Reactor_Timer_Test.cpp,
1693           Map_Manager_Test.cpp,Message_Block_Test.cpp,
1694           Message_Queue_Notifications_Test.cpp,Notify_Performance_Test.cpp,
1695           Pipe_Test.cpp,Priority_Buffer_Test.cpp,Priority_Task_Test.cpp,
1696           Process_Mutex_Test.cpp,Reactor_Exceptions_Test.cpp,
1697           Reactor_Notify_Test.cpp,Reactor_Performance_Test.cpp,
1698           Reactors_Test.cpp,Reader_Writer_Test.cpp,SPIPE_Test.cpp,
1699           SV_Shared_Memory_Test.cpp,Semaphore_Test.cpp,TSS_Test.cpp,
1700           Task_Test.cpp,Thread_Manager_Test.cpp,Thread_Mutex_Test.cpp,
1701           Thread_Pool_Reactor_Test.cpp,Thread_Pool_Test.cpp,
1702           Tokens_Test.cpp,UPIPE_SAP_Test.cpp,Upgradable_RW_Test.cpp,
1703           XtReactor_Test.cpp:
1704           changed Log_Priority of "not supported" messages to LM_INFO.
1705           Hopefully, it will help avoid confusion, especially among
1706           new ACE users.  Thanks to Gonzo for suggesting this.
1708         * tests/run_tests.sh: added ACE version number printouts.
1710         * BUG-REPORT-FORM: added phase (compilation/linking/execution/other),
1711           and ACE+TAO/application/both.
1713 Mon Nov  9 02:52:11 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1715         * ace/Signal.cpp: handle_close() wasn't being called when
1716           handle_signal() returns -1.  It is now...  Thanks to Vicentini
1717           Emanuele <arena.sci.univr.it> for reporting this.
1719         * ace/Event_Handler.h (ACE_Event_Handler): Added a SIGNAL_MASK so
1720           that we can pass this to handle_close() when handle_signal()
1721           returns -1.
1723         * README: Fixed a typo where ACE-install.html was misspelled as
1724           ACE-Install.  Thanks to Michael Thomas
1725           <Michael.Thomas@Australia.Boeing.com> for reporting this.
1727 Sun Nov 08 22:00:22 1998  David L. Levine  <levine@cs.wustl.edu>
1729         * ace/Message_Block.h: changed ACE_Message_Type to int, to
1730           avoid overload ambiguity when it's unsigned.
1732 Sun Nov  8 10:42:38 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1734         * ace/Message_Block.h: Changed the ACE_Message_Type from being an
1735           enum to being an ACE_UINT32 so that it's easier for users to add
1736           their own message types to an ACE_Message_Queue.  Thanks to
1737           Martin Krumpolec <krumpo@pobox.sk> for this suggestion and to
1738           David Levine for catching that it should be an ACE_UINT32.
1740 Fri Nov  6 23:08:16 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1742         * ace/Process.cpp (spawn): Set result correctly when execvp() is
1743           called.  Also, make sure to check for putenv() failing.  Thanks
1744           to David Levine for pointing this out.
1746         * tests/Env_Value_Test.cpp: Reformatted the test a bit.
1748 Fri Nov 06 22:41:21 1998  David L. Levine  <levine@cs.wustl.edu>
1750         * ace/Process.cpp (spawn): initialized local "result" to 0
1751           to avoid egcs warning about possible unitialized use.  Added
1752           const to loop index to avoid egcs warning about discarding
1753           const.
1755         * ace/OS.h,Basic_Types.h: moved ACE_UINT64_FORMAT_SPECIFIER from
1756           OS.h to Basic_Types.h, because other 64-bit int support is
1757           there.  Changed default ACE_UINT64_FORMAT_SPECIFIER to
1758           "%llu", because that's what Solaris 2.x uses.
1760         * ace/config-win32-common.h,ace/config-linux-common.h: added
1761           ACE_UINT64_FORMAT_SPECIFIER overrides.
1763         * ace/Log_Msg.cpp (log): added ACE_U_LongLong support.
1765 Fri Nov  6 13:29:11 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1767         * ace/OS.h (ACE_UINT64_FORMAT_SPECIFIER): Changed
1768           #define ACE_UINT64_FORMAT_SPECIFIER "%I64d"
1770           to:
1772           #define ACE_UINT64_FORMAT_SPECIFIER "%I64u"
1774           to handle the signed/unsigned stuff correctly.  Thanks Zoran!
1776         * ace/Process.cpp (spawn): Replaced the use of execve() with
1777           execvp() by copying the environment variables manually first.
1778           Thanks to Avi Nash for this fix.
1780         * ace/Log_Msg.cpp (log): Added support for a `%Q' format specifier
1781           to the log() method.  This prints out quad words, i.e.,
1782           ACE_UINT64's.  Thanks to Zoran Ivanovic <zorani@pathcom.com> for
1783           contributing this.
1785         * Updated the "site map" for ACE so that it doesn't use absolute
1786           links.  Thanks to Rainer Blome <rainer_blome@de.ibm.com> for
1787           contributing this.
1789         * ace/Process.h: Clarified the behavior of ACE_Process and
1790           ACE_Process_Options on UNIX because of the use of execve(),
1791           which doesn't search the path.  Thanks to Avi Nash for reporting
1792           this.
1794 Fri Nov 06 15:01:20 1998  Rainer Blome <rainer_blome@de.ibm.com>
1796         * tests/run_tests.sh: augmented to make, run, and discard
1797           each test for which it doesn't find an executable.
1799           Thus, if you first say make to build the executables, all tests
1800           will just run (or not ;-), nothing is changed.
1802           If you start run_tests.sh without having built the executables,
1803           it will make, run and discard the tests one by one instead.
1804           Any compiler output goes to log/compilation.log.
1806 Fri Nov 06 12:58:24 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
1808         * ace/Thread_Manager.cpp: Removed several superfluous parens so
1809           the code looks clearer and less error-prone.
1811 1998-11-06  James CE Johnson  <jcej@lads.com>
1813         * docs/tutorials/013/block.cpp
1814         * docs/tutorials/013/page05.html
1815         * docs/tutorials/015/Compressor.cpp
1816         * docs/tutorials/015/Crypt.cpp
1817         * docs/tutorials/015/Recv.cpp
1818         * docs/tutorials/015/Xmit.cpp
1819         * docs/tutorials/015/*.html
1820           Susan Liebeskind (susan.liebeskind@gtri.gatech.edu) discovered
1821           that you can't use the 'inherited' typedef to initialize a
1822           baseclass if you use the AIX C++ compiler.
1824 Fri Nov 06 08:57:49 1998  David L. Levine  <levine@cs.wustl.edu>
1826         * tests/Mem_Map_Test.cpp (reverse_file): put the volatile
1827           qualifier back in.  LynxOS 3.0.0/PowerPC needs it with -O2
1828           and without ACE_HAS_INLINE.
1830         * VERSION: added reference to BUG-REPORT-FORM.  Thanks to
1831           Peter Nordlund <petern@nada.kth.se> for providing the new
1832           text.
1834         * ace/SOCK_Dgram_Mcast.cpp (unsubscribe): fixed ACE_TRACE
1835           string.
1837         * ACE-INSTALL.html: added note on possibly having to change
1838           -G to -shared in platform_macro.GNU's SOFLAGS with GNU linker.
1839           Thanks to Andy Gokhale and James Megquier <jmegq@bbn.com> for
1840           reporting this.  If anyone knows of an automagic fix, that would
1841           be appreciated.
1843         * ACE-INSTALL.html: added note on how to enable IP multicast on
1844           LynxOS.
1846 Thu Nov  5 23:10:46 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
1848         * ace/Thread_Manager.cpp (wait_task): Fixed a wrong parenthesis
1849           pair.  Thanks to Bob McWhirter <bob@werken.com> for figuring
1850           this out.
1852 Thu Nov  5 21:41:26 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
1854         * docs/tutorials/017
1855           Began the ACE_Barrier tutorial.  So far, it's just code but I'll
1856           add the usual heavy comments & commentary in the next few days or
1857           so.  I'll update the docs/tutorials/index.html after that.
1859 Thu Nov  5 14:42:59 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1861         * ACE-INSTALL.html: Cleaned up a typo in the ACE-INSTALL.html
1862           file.  Thanks to James Megquier <jmegq@bbn.com> for reporting
1863           this.
1865         * ace/config-sunos5.5.h: Cleaned up the comments a bit to make it
1866           more clear how to enable/disable threads.  Thanks to Russ
1867           Noseworthy <rnosewor@objectsciences.com> for reporting this.
1869         * ace/Stream.h: Clarified some subtleties with subclassing from
1870           ACE_Stream.  Thanks to Stephen Coy for reminding me of this.
1872         * include/makeinclude: Updated the platform_linux_kcc.GNU file.
1873           Thanks to Joseph Weihs <joseph-w@Orbotech.Co.IL> for reporting
1874           this.
1876         * ACE.FAQ.html: Pointed out that ACE is Y2K compliant.  Thanks to
1877           Fredrik Lindahl <fredrik.lindahl@ausys.se> for suggesting this.
1879 Thu Nov 05 13:23:29 1998  David L. Levine  <levine@cs.wustl.edu>
1881         * include/makeinclude/platform_lynxos.GNU: default VERSION
1882           to 3.0.0.  We no longer build/test for LynxOS 2.5.0.  Added
1883           usage comments.
1885         * ACE-INSTALL.html: for LynxOS, added link to platform_lynxos.GNU
1886           file, for usage information.  Replaced some absolute paths in
1887           URLs with relative paths.
1889 Wed Nov  4 23:28:55 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1891         * ace/Stream.h: Made all the methods of ACE_Stream virtual to
1892           enable subclasses.  Thanks to Bob McWhirter's for this
1893           suggestion.
1895 Tue Nov  3 16:06:23 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1897         * examples/Logger/simple-server: Fixed the server so that it shuts
1898           down cleanly when ^C is given.  Thanks to Avi Nash
1899           <anash@RedBrick.COM> for reporting this.
1901 Tue Nov 03 13:17:49 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
1903         * ace/Thread_Manager.{h,i,cpp} (thread_desc_self): Changed this
1904           method to an inline function.  Removed outdated comments and
1905           instead of searching thru the list when the current thread's
1906           descriptor is not found in TSS cache, place an assertion there
1907           for this should never happen.  Thanks to Terry Rosenbaum
1908           <Terry.Rosenbaum@Radiology.MSU.edu> for motivating the change.
1910 Mon Nov  2 22:54:08 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
1912         * ace/config-win32.h:
1913         * ace/config-win32-common.h:
1914           Only define ACE_LACKS_RECVMSG/SENDMSG for non-WinSock2 systems.
1915           Before, it was being defined for all non-NT configurations.
1916           Thanks to Irfan for suggesting this change.
1918 Mon Nov  2 18:18:04 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1920         * examples/Reactor/Dgram/CODgram.cpp,
1921           examples/Reactor/Dgram/Dgram.cpp:
1922           Fixed these programs so that they will work across
1923           processes/machines, as well as within the same process.  Thanks
1924           to Larry <larry@paradigmsim.com> for reporting this.
1926         * Added a "site map" for ACE.  Thanks to Rainer Blome
1927           <rainer_blome@de.ibm.com> for contributing this.
1929 Mon Nov  2 18:13:29 EST 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
1931         * docs/ACE-FMM.html
1932           Updated from Bob's <bob@netwrench.com> latest.
1934 Mon Nov 02 11:22:30 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
1936         * tests/Thread_Pool_Reactor_Test.{h,cpp}: Renamed Acceptor_Handler to
1937           Request_Handler to better reflect what the class actually does.
1939         * docs/ACE-categories.html: Fixed erroneous html tags.  Thanks to
1940           Rainer Blome <rainer_blome@de.ibm.com> for reporting this.
1942 Mon Nov 02 00:26:59 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
1944         * ace: Since connectors really don't have any state, they don't
1945           need to inherit from the SAP classes. Therefore, modified the
1946           following to be simpler:
1948           TLI_Connector
1949           DEV_Connector
1950           SPIPE_Connector
1951           UPIPE_Connector
1953 Sun Nov 01 21:18:24 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
1955         * ace/WFMO_Reactor.cpp (upcall): Before handle_input is called
1956           because of FD_CLOSE, we check the return value of handle_input
1957           because of FD_READ. If the user had returned -1, we won't call
1958           handle_input again.  Thanks to Gonzalo Diethelm
1959           <Gonzalo.Diethelm@jda.cl> for suggesting this change.
1961         * examples/Reactor/WFMO_Reactor/test_network_events.cpp
1962           (handle_input): Changed this method to keep reading from the
1963           socket until EWOULDBLOCK occurs.
1965 Sun Nov  1 17:32:50 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1967         * tests/Hash_Map_Manager_Test.cpp (run_test): Oops, we need to
1968           account for compilers that lack template specialization!  Thanks
1969           to David Levine for reporting this.
1971 Sun Nov 01 17:24:56 1998  David L. Levine  <levine@cs.wustl.edu>
1973         * ace/config-win32-borland.h,config-win32-common.h,README:
1974           removed ACE_LACKS_STL_DEFAULT_TEMPLATE_PARAMETER because
1975           it's no longer used.  Thanks to Ossama for reporting this.
1977 Sun Nov 01 08:54:08 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
1979         * ACE version 4.6.2 released.
1981 Sat Oct 31 18:12:36 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
1983         * tests/Hash_Map_Manager_Test.cpp (run_test): updated the test to
1984           validate that the trybind() operation works correctly.  Thanks
1985           to Bill Fulton <fultonb@pcnet1.ascs.aro.allied.com> for this
1986           fix.
1988         * ace/Hash_Map_Manager.cpp: trybind() was doing the "Wrong
1989           Thing"[TM] by overwritting the INT_ID even if the entry was
1990           already in the map!  It's fixed now...  Thanks to Bill Fulton
1991           <fultonb@pcnet1.ascs.aro.allied.com> for reporting this.
1993 Sat Oct 31 17:15:42 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
1995         * ACE version 4.6.1 released.
1997 1998-10-31  Nagarajan Surendran  <naga@polka.cs.wustl.edu>
1999         * ace/Select_Reactor_T.cpp (dispatch): Added signal_occurred at
2000           the right return to indicate that a handle_signal () has been
2001           dispatched.
2003 Fri Oct 30 20:31:27 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
2005         * tests/Semaphore_Test.cpp: Cleaned up the #if's to make it easier
2006           to understand, and fixed a related problem.  Thanks to
2007           Ossama for finding this.
2009 Fri Oct 30 15:47:39 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
2011         * ace/Select_Reactor_T.cpp (dispatch): Make sure to include a
2012           count of 1 if the Reactor dispatched a handle_signal() method.
2013           This ensures we don't return 0 from handle_events() in cases
2014           where we didn't timeout...  Thanks to Naga for chasing this
2015           down!
2017 Fri Oct 30 11:53:16 1998  David L. Levine  <levine@cs.wustl.edu>
2019         * ace/config-sunos5.6.h: removed ACE_HAS_POSIX_SEM #define because
2020           it caused a seg fault in Reactor_Notify_Test on
2021           g++ 2.7.2.3/Solaris86 (with -D_POSIX_C_SOURCE=199506L
2022           -D_POSIX_PTHREAD_SEMANTICS -D__EXTENSIONS__).  The seg fault is
2023           at the end of the test:
2025           #0  0xdfd5a809 in realfree ()
2026           #1  0xdfd5ad16 in cleanfree ()
2027           #2  0xdfd5a43a in _malloc_unlocked ()
2028           #3  0xdfd5a2e9 in malloc ()
2029           #4  0xdfd61a25 in _strdup ()
2030           #5  0xdfeffcd5 in ACE_Log_Msg::log (this=0x8052ec0,
2031               format_str=0x804f0af "(%P|%t) Ending %s test at %D\n",
2032               log_priority=<error type>,
2033               argp=0x80476ac "\n�ð\004\b�Ô�À�ÿ�ß\177\023\004\b�Ôv\004\b�§�¹\004\b\001")
2034               at /export/home/conga/levine/ACE_wrappers/ace/OS.i:1399
2035           #6  0xdfeffbfa in ACE_Log_Msg::log (this=0x8052ec0,
2036               log_priority=<error type>,
2037               format_str=0x804f0ac "d\n") at Log_Msg.cpp:601
2038           #7  0x804c935 in main () at Reactor_Notify_Test.cpp:297
2040           It's hard to imagine how ACE_HAS_POSIX_SEM could cause that.
2041           But, it's perfectly repeatable.  And, we can live without
2042           ACE_HAS_POSIX_SEM.
2044         * tests/run_tests.sh: really commented out Thread_Pool_Reactor_Test.
2045           It _wasn't_ commented out in the 4.6 release.
2047         * tests/Mem_Map_Test.cpp (reverse_file): removed volatile
2048           qualifier because it no longer seems to be necessary for LynxOS
2049           3.0.0/PowerPC.
2051 Fri Oct 30 09:23:55 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
2053         * ace/SString.h: Cleaned up the ACE_SString comments to be more
2054           helpful.  Thanks to Ivan Murphy <Ivan.Murphy@med.siemens.de> for
2055           motivating this.
2057 Thu Oct 29 22:19:19 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
2059         * docs/ACE-FMM.html:
2060           Updated from Bob's latest version.  Thanks Bob!
2062 Thu Oct 29 21:13:41 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
2064         * docs/tutorials/016/Condition_i.cpp:
2065           Fixed messed-up the signature on
2066             Condition::operator Condition::value_t(void)
2068 Thu Oct 29 18:51:19 1998  Steve Huston  <shuston@riverace.com>
2070         * ace/ACE.cpp: Added "|| defined (_AIX)" to decision to do
2071           template instantiations at end of file.  Thanks to Ian
2072           Wright <I.Wright@elsevier.co.uk> for this fix.
2074         * ace/config-aix-4.1.x.h: Added ability to use g++ in addition to xlC.
2075           Thanks again to Ian Wright for this addition.
2077         * include/makeinclude/platform_aix_g++.GNU: New platform_macros file
2078           for building on AIX with g++.  And, once again, thanks to Ian Wright
2079           for this contribution.
2081         * ace/NT_Service.i: Added ACE_INLINE to the methods in this file.
2082           Thanks to Goran Lowkrantz <Goran.Lowkrantz@infologigruppen.se>
2083           for this fix.
2085 Thu Oct 29 17:36:29 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
2087         * tests/Semaphore_Test: Removed the timed acquire stuff from
2088           the worker thread and the display at the end of the test.
2089           Now it shouldn't output the confusing "100% of threads
2090           timed out" message on platforms without timed acquire.
2092 Thu Oct 29 15:25:19 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
2094         * ace/Svc_Handler.cpp (open): Added a trailing newline to the
2095           error message.
2097 Thu Oct 29 15:13:07 EST 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
2099         * docs/tutorials/index.html
2100         * docs/tutorials/016/*
2101           Added Tutorial 016.  This discusses ACE_Condition<> and ways
2102           to make it more manageable in an application.
2104 Thu Oct 29 11:44:21 1998  David L. Levine  <levine@cs.wustl.edu>
2106         * ace/config-sunos5.6.h: changed ACE_THREAD_POSIX_SEM to
2107           ACE_HAS_POSIX_SEM.  It looked like a typo.
2108           Only #define ACE_HAS_POSIX_SEM if _POSIX_PTHREAD_SEMANTICS is
2109           #defined.  Thanks to Ossama for help with this.
2111           Also, removed ACE_HAS_PTHREADS_STD because it's
2112           #defined in config-sunos5.5.h.
2114 Wed Oct 28 14:30:01 1998  Rainer Blome <rainer_blome@de.ibm.com>
2116         * ace/Makefile: added AIX_TEMPLATE_HACK support.
2117           This patch helps using Rob Jordan's trick described in the
2118           ACE-INSTALL file.  The existing description in the ACE-INSTALL
2119           is a little misleading.  Creating a ACE_All_Tmp.h will not
2120           really help, because the Makefile will look for a ACE_All_Tmp.cpp.
2122           Here's how to use the patch:
2124           Use `make ACE_All' to create 0_ACE_All_Src.h, 0_ACE_All_Src.cpp and
2125           0_ACE_All_Tmp.cpp.  These files contain include directives for each
2126           of the files mentioned in the makefile variables FILES and
2127           TEMPLATE_FILES.  Then `make AIX_TEMPLATE_HACK=1' to compile the
2128           library in one go.  Compilation is fast then, but `ar' will still
2129           take a long time.
2131 Wed Oct 28 09:13:10 1998  David L. Levine  <levine@cs.wustl.edu>
2133         * ACE-INSTALL.html: expanded discussion of non-static
2134           ACE_Object_Manager, including the fact that it's the
2135           default config on Win32 and VxWorks.  And that not
2136           declaring main () with two arguments will lead to
2137           link failure due to unresolved ace_main_i.
2139         * tests/Time_Service_Test.cpp,Tokens_Test.cpp: display
2140           filename if ACE_Process::spawn () fails.
2142         * tests/run_tests.sh: only run Time_Service_Test if
2143           ../netsvcs/server/main exists.  Also, exit if a command
2144           line argument is provided to run_tests.sh, and the argument
2145           is not a Chorus hostname.
2147         * ace/Object_Manager.h: declare the ACE_Object_Manager_Base
2148           methods to be public, instead of protected, for DEC CXX 5.6
2149           (in addition to Diab for PSoS).  Thanks to Doug Anderson
2150           <doug@clark.net> for suggesting this.
2152         * ace/config-sunos5.5.h: removed ACE_HAS_TIMER_SKEW.  Thanks
2153           to Russ Noseworthy <rnosewor@objectsciences.com> for verifying
2154           that it no longer seems to be necessary.
2156         * ace/config-linux-common.h: added ACE_HAS_PROCFS.
2158 Tue Oct 27 22:14:18 1998  David L. Levine  <levine@cs.wustl.edu>
2160         * ACE version 4.6 released.
2162 Tue Oct 27 21:54:17 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
2164         * man: Added the ACE_Service_Repository_Iterator.{html,3} files.
2165           Thanks to Erik Koerber <erik.koerber@siemens.at> for reporting
2166           this.
2168         * Updated the manual pages to reflect the latest APIs in
2169           the new release.
2171 Tue Oct 27 14:16:27 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
2173         * docs/tutorials/015/Recv.cpp : Changed atoi() to ACE_OS::atoi()
2174         * docs/tutorials/015/page22.html:  Ensure that the correct cpp
2175           and header files are HREF'd
2177           Thanks to Susan Leibeskind <shl@cc.gatech.edu> for catching these.
2179 Tue Oct 27 12:31:28 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
2181         * ace/OS.i (cond_timedwait): Made sure the broadcaster always gets
2182           signaled no matter what the "wait" function return if this is
2183           the last waiter for this cv.  In any case, the calling thread is
2184           no longer waiting on the cv any more.
2186 Tue Oct 27 08:22:41 1998  David L. Levine  <levine@cs.wustl.edu>
2188         * ace/config-win32.h: fixed typo in comment:
2189           ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER instead of
2190           ACE_DONT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER.  Thanks to
2191           Olivier Lau <olivier_lau@srtelecom.com> for reporting this.
2193         * tests/Semaphore_Test.cpp (test_timeout_count,test_timeout):
2194           put these in #ifndef STHREADS && #ifndef POSIX_SEM protection
2195           to avoid compiler warnings about unused variable/function.
2197         * ace/config-sunos5.5.h: added comment to comment out
2198           ACE_HAS_REGEX if there are link problems with g++ or egcs on
2199           SunOS 5.5.  Thanks to Hakan Kallberg <hk@simulina.se> for
2200           reporting this.
2202         * ACE-INSTALL.html: added Sun C++ version/patchlevel information,
2203           including a link to Sun's tech patches home patch.  Thanks to
2204           Susan for recommending this, and for providing the URL.
2206         * ACE-INSTALL.html: added note about segfault when attempting to
2207           register a signal handler on LynxOS 3.0.0/PowerPC.
2209         * ace/Object_Manager.cpp (fini): added check of
2210           instance_->shutting_down_ on entry.  This will avoid
2211           reentrance if fini () is called before the Object_Manager
2212           is (explicitly) destroyed.  Thanks to Gonzo for reporting it.
2214 Tue Oct 27 05:47:21 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
2216         * ACE version 4.5.65 released.
2218 Tue Oct 27 03:24:36 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
2220         * ace/TP_Reactor.h: Added an description for TP_Reactor.
2222         * ace/OS.i (cond_timedwait): When emulating cv, there're chances
2223           that the "wait for being signaled" function times out and return
2224           an error.  In this rare case, we must also signal the
2225           broadcasting thread to bail out of cond_broadcast to avoid
2226           deadlock since we are no longer waiting on the cv anymore.
2227           Thanks to Detlef Becker <Detlef.Becker@med.siemens.de> for
2228           noticing the problem and providing the patch.
2230 Mon Oct 26 20:59:15 1998  David L. Levine  <levine@cs.wustl.edu>
2232         * ace/Synch_T.{i,cpp} (ACE_Lock_Adapter): uninlined the
2233           ACE_Lock_Adapter default constructor.  SunPRO C++ 4.2 + patch
2234           104631-07 has trouble compiling TAO with it inline.
2235           Thanks to Terry Rosenbaum <Terry.Rosenbaum@Radiology.MSU.edu>
2236           for tracking this problem down and providing the fix.
2238 Mon Oct 26 18:33:28 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
2240         * Updated the dependencies in all the Makefiles, this was required
2241           after the new Message_Block_T.{h,i,cpp} files.
2243 Mon Oct 26 19:16:27 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
2245         * docs/tutorials/000/index.html: This index is has a layout
2246         similar to Umar's ACE Tutorial document.  As time progresses, we
2247         will be merging the examples in his document into the online
2248         tutorials.  The current free-form tutorials will not go away but
2249         will be supplimented with Umar's more structured approach.
2251 Mon Oct 26 17:37:55 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
2253         * ace/OS.h:
2254         * ace/config-sunos5.4-sunc++-4.x.h:
2255         * ace/config-sunos5.5.h:
2256           Sun/CC throws the ::xalloc exception when operator new cannot
2257           allocate the memory, thanks to Terry Rosenbaum
2258           <Terry.Rosenbaum@Radiology.MSU.edu> for reporting this and
2259           providing a patch.
2261         * ace/Makefile:
2262           Updated dependencies.
2264 Mon Oct 26 17:02:48 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
2266         * tests/Thread_Pool_Reactor_Test.cpp: Reduced the number of
2267           connector threads _ONLY_ on platforms that couldn't handle too
2268           many simultaneous connection.
2270           Changed to use dotted-decimal format to specify connection
2271           endpoint for some platforms don't have a decent DNS support.
2273 Mon Oct 26 12:04:10 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
2275         * ace/ace_lib.dsp: Added TP_Reactor into the project.
2277 Mon Oct 26 11:29:55 1998  Darrell E. Brunsch  <brunsch@tango.cs.wustl.edu>
2279         * tests/Semaphore_Test.cpp: Changed behavior for ACE_HAS_STHREADS
2280           and ACE_HAS_POSIX_SEM so it still tests everything but doesn't
2281           test the timed waits.
2283 Mon Oct 26 08:22:18 1998  David L. Levine  <levine@cs.wustl.edu>
2285         * docs/ACE-guidelines.html: added recommendation and
2286           explanation re. use of #pragma once.
2288         * docs/ACE-guidelines.html: recommend avoiding g++ 2.8.1.
2290         * tests/SV_Shared_Memory_Test.cpp: don't try to run this
2291           test if ACE_LACKS_FORK, because it uses ACE_OS::fork ().
2292           It allocates the shared memory segment before the fork,
2293           of course, so that was leaked if the fork was attempted
2294           but failed.
2296         * tests/Pipe_Test.cpp,Process_Mutex_Test.cpp: don't try
2297           to run these tests if ACE_LACKS_FORK, either.
2299         * tests/Mem_Map_Test.cpp (reverse_file): use a local, volatile
2300           variable for the array index.  Without it, the test core dumps
2301           on LynxOS 3.0.0/PowerPC with -O2.
2303         * tests/run_tests.sh: run Timer_Queue_Test and Upgradeable_RW_Test
2304           on LynxOS.
2306         * tests/run_tests.vxworks: changed
2307           Message_Queue_Notifications_Test.cpp to
2308           Message_Queue_Notifications_Test.
2310 Mon Oct 26 01:49:44 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
2312         * tests/Env_Value_Test.cpp (main): Changed argv and envp to type
2313           LPTSTR[].
2315 Sun Oct 25 23:52:40 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
2317         * ACE version 4.5.64 released.
2319 Sun Oct 25 22:18:26 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
2321         * ace/Select_Reactor_T.cpp (dispatch): Be more careful in how we
2322           handle dispatching when signals occur.  In general, if we're
2323           interrupted by a non-Reactor-aware signal handler we need to
2324           bail out...  Thanks to Naga for reporting this.
2326         * examples/Reactor/Misc/test_signals_1.cpp: Cleaned up this test
2327           so that it'll show off the signal handling capabilities of the
2328           ACE Reactor better.
2330 Sun Oct 25 14:13:31 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
2332         * ace/OS.i: Changed ACE_OS::sigaction to work with a null value
2333           for <nsa> on Windows.  Thanks to Jim Buck <jim@nowsol.com> for
2334           reporting this.
2336         * examples/Reactor/Misc/reactors.dsp:
2337         * examples/Reactor/Misc/signals_1.dsp:
2338         * examples/Reactor/Misc/signals_2.dsp:
2339           Corrected the include and library paths.  Thanks to
2340           Zoran Ivanovic <zorani@pathcom.com> for reporting this.
2342         * ChangeLog: Removed all the trailing spaces and tab characters so
2343           CVS's commit-check will be happy.
2345 Sun Oct 25 10:59:21 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
2347         * ace/config-sunos5.5.h: Added
2349           #if defined (i386)
2350           #define ACE_HAS_X86_STAT_MACROS
2351           #endif /* i386 */
2353           to check for the [f]stat macros on Solaris for Intel.  Thanks to
2354           Daniel Nieten <dnieten@bellsouth.net> for reporting this.
2356 Sun Oct 25 00:15:03 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
2358         * ace/Service_Config.cpp (process_directives): We should use
2359           ASYS_WIDE_STRING to convert a <char *> to a UNICODE string.
2361 Sat Oct 24 18:39:11 1998  Steve Huston  <shuston@riverace.com>
2363         * ace/ACE.cpp (get_ip_interfaces, get_handle): Add _AIX to the list
2364           of macros which enable the proper code for these to work.
2365           ACE::get_ip_interfaces still doesn't work right on AIX, though -
2366           it reports one link-level interface.  May need to get IBM's help
2367           with this.
2369 Sat Oct 24 18:07:00 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
2371         * ace/OS.h (ACE_TEXT): Consolidated various ACE_TEXT definitions
2372           into one and place it near the beginning of the file.
2373           Re-indented macros.
2375 Sat Oct 24 17:47:15 1998  Arturo Montes <mitosys@colomsat.com.co>
2377         * ace/OS.i (sigwait):  Sigwait is little different with FSU
2378           pthreads, sigwait take two arguments and return -1 if error, 0
2379           in otherwise.
2381 Sat Oct 24 17:26:41 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
2383         * ace/OS.h (ACE_TEXT): Moved Nanbor's changes outside of
2384           ACE_PSOS block.
2386         * ace/config-win32.h: Defined ACE_HAS_TEXT_MACRO_CONFLICT,
2387           seeing that MSVC already defines __TEXT.
2389 Sat Oct 24 15:21:32 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
2391         * ace/OS.h (ACE_TEXT): Changed the macro __TEXT to ACE_TEXT to
2392           avoid conflicting with OS/390.  __TEXT is still available for
2393           backward compatibility unless ACE_HAS_TEXT_MACRO_CONFLICT is
2394           defined.  However, using ACE_TEXT is prefered for obvious
2395           reason.  Thanks to Paul K. Fisher <pfisher@plexware.com> for
2396           reporting this.
2398         * ace/README: Added documentation for ACE_HAS_TEXT_MACRO_CONFLICT.
2400         * *.cpp: Replaced a bunch of __TEXT to ACE_TEXT.
2402 Sat Oct 24 08:34:08 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
2404         * ace/OS.i: Updated the fstat() and stat() calls to work properly
2405           on the Solaris for Intel platform, which does weird things to
2406           the fstat() and stat() functions to handle 32 and 64 bit file
2407           offsets.  Thanks to Daniel Nieten <dnieten@bellsouth.net> for
2408           reporting this.
2410 Sat Oct 24 02:13:11 1998  Detlef Backer <Detlef.Becker@med.siemens.de>
2412         * ace/OS.cpp (invoke): ACE_Thread_Adapter::invoke() swapped the
2413           nesting level of __except() and __finally() because if the
2414           selector returns EXCEPTION_EXECUTE_HANDLER a global unwind takes
2415           place, activating nested __finally blocks and in this case
2416           terminating the thread before having a chance to execute the
2417           handler. After reversing the logic, now the exception handler
2418           gets called first before the termination handler is invoked.
2420           Furthermore I added the call to GetExceptionInformation(),
2421           passing the result as a void* into the selector function. This
2422           allows a case sensitive handling startegy of the exception in
2423           the selector function.
2425           (inherit_log_msg): In ACE_Thread_Adapter::inherit_log_msg() I
2426           moved the copy operation from the selector and handler
2427           attributes outside of the "if (this->ostream_)" condition,
2428           because I don't think this condition is related to the SEH.
2430           (thr_create): In ACE_OS::thr_create() I "inherit" the current
2431           selector handler into the newly created ACE_Thread_Adapter in
2432           case that the caller did not specify one at invocation.
2434         * ace/Thread_Manager.cpp (spawn_i): In
2435           ACE_Thread_Manager::spawn_i() I added the initialization of
2436           selector and handler at the creation time of
2437           ACE_Thread_Adapter.
2439 Fri Oct 23 21:11:03 1998  Douglas C. Schmidt  <schmidt@mambo.cs.wustl.edu>
2441         * ace/OS.h: Changed a comment to be consistent.  Thanks to Serge
2442           Kolgan <skolgan@cisco.com> for reporting this.
2444 Fri Oct 23 20:39:00 1998  Chris Gill  <cdgill@cs.wustl.edu>
2446         * Paul Christopher Gill was born Friday October 23, 1998, at
2447           20:39 CDT, weighing 6 lbs. 7 oz., at 19 3/4 inches in length.
2448           A true hacker in the making, Paul decided to work through the
2449           evening even though it was a Friday night. ;-)
2451 Fri Oct 23 11:37:38 1998  Steve Huston  <shuston@riverace.com>
2453         * include/makeinclude/platform_aix4.2.GNU: Removed -qinitauto=5F from
2454           DCFLAGS - with it, Process_Strategy_Test was going CPU bound in an
2455           ostream operation.
2457 Fri Oct 23 00:27:11 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
2459         * ACE version 4.5.63 released.
2461 Thu Oct 22 21:32:14 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
2463         * ACE-INSTALL.html: Since we've been successfully using MSVC 6.0
2464           for a while, might as well mention it here in the documentation.
2466 Thu Oct 22 19:48:20 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
2468         * docs/index.html
2469         Reformatted it via emacs to make it more readable when editing.
2470         Added a comment pointing to Bob McWhirter's original FMM document
2471         to make it easier to update the repository in the future.
2473         * docs/tutorials/015/Client.h
2474         * docs/tutorials/015/Client.cpp
2475         * docs/tutorials/015/Server.h
2476         * docs/tutorials/015/Server.cpp
2478         Since Windows just *pretends* to have mixed-case names the cpp
2479         files conflict with client.cpp and server.cpp.  I renamed these
2480         files to:
2482         * docs/tutorials/015/Client_i.h
2483         * docs/tutorials/015/Client_i.cpp
2484         * docs/tutorials/015/Server_i.h
2485         * docs/tutorials/015/Server_i.cpp
2487         Which necessitated changes to
2488         * docs/tutorials/015/client.cpp
2489         * docs/tutorials/015/server.cpp
2490         * docs/tutorials/015/Makefile.client
2491         * docs/tutorials/015/Makefile.server
2492         * docs/tutorials/015/Makefile
2493         * docs/tutorials/015/combine.shar
2494         * docs/tutorials/015/*.html
2496         Thanks to Darrell Brunsch for catching this.
2499 Thu Oct 22 16:52:21 1998  Steve Huston  <shuston@riverace.com>
2501         * tests/Thread_Pool_Reactor_Test.(cpp h): Adjusted debug output to
2502           learn more about what's happening; added a check to be sure that
2503           the correct number of messages are processed by each Svc_Handler.
2505 Thu Oct 22 15:46:42 1998  David L. Levine  <levine@cs.wustl.edu>
2507         * ace/OS.cpp (ACE_TSS_Emulation::tss_base): if storage for
2508           the TSS data must be allocated off the heap, zero all of it.
2509           This avoids problems after fork in the child process on
2510           LynxOS.
2512 Wed Oct 21 22:23:06 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
2514         * ACE version 4.5.62 released.
2516 Wed Oct 21 21:19:53 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
2518         * ace/Service_Config.cpp (process_directives): Replaced a
2519           return -1 with a result = -1 and a break to avoid a
2520           memory leak.  Thanks to David for pointing this out.
2522 Wed Oct 21 20:00:51 1998  Nagarajan Surendran  <naga@cs.wustl.edu>
2524         * tests/Timer_Queue_Test.cpp :
2525         * tests/Map_Manager_Test.cpp:
2526         * tests/Dynamic_Priority_Test.cpp:
2527           Replaced double with ACE_timer_t everywhere so that it works on
2528           platforms like Chorus.
2530 Wed Oct 21 18:44:26 1998  Nagarajan Surendran  <naga@cs.wustl.edu>
2532         * tests/run_tests.sh: Changed egrep Chorus to CHORUS to identify a
2533           Chorus vme board.
2535 Wed Oct 21 17:51:52 1998  Steve Huston  <shuston@riverace.com>
2537         * ace/ACE.cpp (get_ip_interfaces): If compiling on Win32 w/ Winsock 2,
2538           use WSAIoctl(SIO_GET_INTERFACE_LIST) to get the interfaces from the
2539           kernel rather than trying to fish through the registry.  This should
2540           help TAO's naming service be somewhat more reliable on Win32, as
2541           well as solve some other nasties that plagued this thing.
2543         * ace/ws2tcpip.h: Filled out necessary pieces for the above change.
2545 Wed Oct 21 14:19:11 EDT 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
2547         * docs/tutorials/007/thread_pool.cpp
2548         * docs/tutorials/007/thread_pool.h
2549         Alison Greig's question caused me to look back at these and
2550         I find that an older g++ is unhappy about the close() methods.
2551         It seems to confuse the baseclass 'close(u_long flags=0)' with
2552         my derived 'close(void)' even though I also have 'close(u_long)'.
2553         Anyway, I removed my 'close(void)' and now do all of my work in
2554         the other method.
2556         * docs/tutorials/007/client_handler.cpp:handle_input()
2557         Now using ACE_OS::thr_equal() instead of operator==()
2558         This fixes Alison's problem.   (Thanks for the solution David!)
2560 Wed Oct 21 07:12:32 1998  David L. Levine  <levine@cs.wustl.edu>
2562         * tests/Thread_Pool_Reactor_Test.cpp: moved #include of
2563           tests/Thread_Pool_Reactor_Test.h inside of ACE_HAS_THREADS
2564           protection, so that it will compile without thread support.
2565           Thanks to Jan Perman <Jan.Perman@osd.uab.ericsson.se> for
2566           reporting this.
2568         * tests/MT_Reactor_Timer_Test.cpp: moved "the_reactor" declaration
2569           outside of ACE_HAS_THREADS protection, so that it will compile
2570           without thread support.  Thanks to Jan Perman
2571           <Jan.Perman@osd.uab.ericsson.se> for reporting this.
2573         * bin/g++dep: added -DACE_LACKS_PRAGMA_ONCE to keep it
2574           quiet when the config.h doesn't #define it.  Thanks to
2575           Naga for reporting this.
2577         * ace/config-g++-common.h: protected #define of ACE_LACKS_PRAGMA_ONCE,
2578           because g++dep now defines it with a -D.
2580         * ACE-INSTALL.html: updated Linux and LynxOS version status,
2581           and egcs --enable-shared discussion.
2583         * ace/Hash_Map_Manager.cpp (operator *): only declare local "result"
2584           without ACE_NDEBUG, to avoid compile warning with debug=0.
2586         * ace/Synch.cpp (ACE_Recursive_Thread_Mutex::release): only
2587           declare local "t_id" without ACE_NDEBUG, to avoid compile warning
2588           with debug=0.
2590         * ace/Timer_Heap_T.cpp (reschedule): only declare local "timerID"
2591           without ACE_NDEBUG, to avoid compile warning with debug=0.
2593         * ace/SV_Message_Queue.h: fixed #ifndef protection to use
2594           ACE_SV_MESSAGE_QUEUE_H instead of ACE_MESSAGE_QUEUE_H, to
2595           prevent collision with the Message_Queue.h's protection.
2596           Thanks to Rainer Blome <rainer_blome@de.ibm.com> for
2597           reporting this.
2599         * ace/Object_Manager.cpp: removed some old, unused printouts.
2601 Tue Oct 20 19:40:41 1998  Steve Huston  <shuston@riverace.com>
2603         * include/makeinclude/platform_hpux_aCC.GNU: Added
2604           -DACE_LACKS_PRAGMA_ONCE - aCC on both 10.20 and 11.00 complain about
2605           #pragma once.  Added it here rather than in config.h because (1) it
2606           can be set in one file, not two, (2) in case a #pragma gets in before
2607           config.h is included somehow.
2609         * include/makeinclude/platform_aix4.2.GNU: Revised flags passed to
2610           xlC_r - remove -qextchk because it's the cause of the mismatched
2611           type errors building netsvcs/lib (IBM reports this is fixed in
2612           compiler version 3.6.4).  Removed -M - it's not needed and wastes
2613           disk space.  Moved -qcheck to DCFLAGS and added -qinitauto=5F to
2614           DCFLAGS.
2616         * include/makeinclude/rules.local.GNU: Added SHLIBA to the files that
2617           get 'realclean'ed - this covers libACEshr.a on AIX.
2619         * netsvcs/lib/Makefile:
2620         * netsvcs/clients/Naming/Client/Makefile: Added ACELIB to LIBS to
2621           insure libACE is linked in.
2623 Tue Oct 20 19:37:42 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
2625         * docs/tutorials/014/*.html:
2626         * docs/tutorials/014/Makefile:
2627         * docs/tutorials/014/combine.shar:
2628           Colorized using the new and improved 'combine' script.  Also
2629           modified the Makefile so that the HTML sources won't get destroyed
2630           if the shar operation failed.
2632        * docs/tutorials/015/Makefile:
2633           Added the same Makefile modification to prevent loss of HTML sources
2635 Tue Oct 20 16:28:12 1998  David L. Levine  <levine@cs.wustl.edu>
2637         * ACE-INSTALL.html: added recommended DU CXX version info.
2638           Thanks to Susan Liebeskind <shl@janis.gtri.gatech.edu>
2639           for suggesting this.
2641         * ACE-INSTALL.html: added AIX 4.2.1 xlC V3.1 patch info.
2642           Thanks to Susan Liebeskind <shl@janis.gtri.gatech.edu>
2643           for supplying it, in ready-to-use form.
2645         * tests/Thread_Manager._Test.cpp (main): changed debug messages
2646           for suspend_grp/resume_grp with Pthreads, which fail due to
2647           ENOTSUP.  The resume_grp message was wrong (copy and paste
2648           error).  In addition, I reworded the messages to that
2649           run_tests.check won't catch them.  They don't indicate a
2650           problem, just that Pthreads doesn't support those operations;
2651           see Steve's Thu Oct 15 16:40:41 1998 entry.
2653 Tue Oct 20 14:31:37 EDT 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
2655         * docs/tutorials/001/Makefile
2656         * docs/tutorials/002/Makefile
2657         * docs/tutorials/003/Makefile
2658         * docs/tutorials/005/Makefile
2659         * docs/tutorials/006/Makefile
2660         * docs/tutorials/007/Makefile
2661         * docs/tutorials/008/Makefile
2662         * docs/tutorials/009/Makefile
2663         * docs/tutorials/010/Makefile
2664         * docs/tutorials/011/Makefile
2665         * docs/tutorials/012/Makefile
2666         * docs/tutorials/013/Makefile
2667         * docs/tutorials/012a/Makefile
2668         * docs/tutorials/Makefile
2670         Updated these makefiles to remove rules.lib.GNU
2671         Added the "top-level" makefile to allow building
2672         of all tutorials in one step.
2674 Tue Oct 20 12:54:39 1998  David L. Levine  <levine@cs.wustl.edu>
2676         * ACE version 4.5.61 released.
2678 Tue Oct 20 07:43:56 1998  David L. Levine  <levine@cs.wustl.edu>
2680         * include/makeinclude/platform_irix6.x_g++.GNU: added
2681           LIBS += -lpthread.  Thanks to Peter Nordlund <petern@nada.kth.se>
2682           for reporting that it is needed.
2684         * ace/config-irix6.x-sgic++-nothreads.h,config-irix6.x-common.h:
2685           moved ACE_HAS_GPERF from SGI C++ config to common SGI C++/g++
2686           config.  Thanks to Peter Nordlund <petern@nada.kth.se> for
2687           recommending this.
2689         * ace/config-aix-4.1.x.h,config-dgux-4.11-epc.h,config-dgux-4.x-ghs.h,
2690           config-irix5.2.h,config-irix5.3-g++.h,config-irix5.3-sgic++.h,
2691           config-m88k.h,config-tandem.h,config-osf1-3.2.h,
2692           config-sunos5.4-centerline-2.x.h,config-sunos5.4-g++.h,
2693           config-sunos5.4-sunc++-4.x-orbix.h,config-sunos5.4-sunc++-4.x.h,
2694           config-sunos5.5.h,config-unixware-2.01-g++.h,
2695           config-unixware-2.1.2-g++.h,config-irix6.x-common.h,README:
2696           removed ACE_HAS_SVR4_TIME because it is no longer used.
2697           Thanks to Peter Nordlund <petern@nada.kth.se> for
2698           reporting this.
2700         * tests/MT_Reactor_Timer_Test.cpp (handle_exception,
2701           handle_timeout): added ACE_UNUSED_ARG's.
2703         * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp:
2704           added #include of ace/streams.h, because the dump ()
2705           method uses ofstream.
2707         * examples/Connection/non_blocking/CPP-acceptor.cpp (handle_close):
2708           added ACE_UNUSED_ARG's.
2710         * ace/config-sunos5.5-sunc++-4.x.h,config-sunos5.5-g++.h:
2711           removed, because config-sunos5.5.h should be used instead.
2713         * performance-tests/Misc/basic_perf.cpp (iteration_time):
2714           added static cast 0 to ACE_hrtime_t to please g++
2715           on VxWorks (which uses ACE_U_LongLong for ACE_hrtime_t).
2717         * ace/config-cygwin32-common.h: removed msg_accrights{,len}
2718           defines, because they were commented out.
2720         * OS.h,config-aix-4.1.x.h,config-linux-common.h,README:
2721           added ACE_LACKS_MSG_ACCRIGHTS support.  This consolidates
2722           code that was in both of the config files.  Thanks to
2723           Ossama for suggesting it.
2725         * include/makeinclude/platform_vxworks*.GNU: moved our
2726           wind installation from /project/doc/wind to /project/doc/pkg/wind.
2728 Tue Oct 20 07:09:31 1998  Steve Huston  <shuston@riverace.com>
2730         * ace/config-aix-4.2.x.h: Added ACE_HAS_GPERF.
2732         * tests/tests.(mak mdp): Fixed to build clean; Added:
2733           DLList_Test, High_Res_Timer_Test, Dynamic_Priority_Test,
2734           Thread_Pool_Reactor_Test, Upgradable_RW_Test, MT_Reactor_Timer_Test.
2736 Mon Oct 19 21:40:56 1998  David L. Levine  <levine@cs.wustl.edu>
2738         * *.h: changed include protection from #if !defined to ifndef.
2739           Added #pragma once, if possible, i.e., after #include of
2740           an ace/ header.  It can only be done after ace/config.h
2741           is included, because some platforms don't allow #pragma once.
2743         * include/makeinclude/wrapper_macros.GNU: removed -DACE_LACKS_PRAGMA
2744           for g++ because it's now in config-g++-common.h.
2746 Mon Oct 19 20:44:33 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
2748         * docs/tutorials/015:
2749         Once again I've modified just about every file.  Finally though
2750         Tutorial 015:  Protocol Stream is done!
2752         * docs/tutorials/combine
2753         Get rid of that silly "links" file and add "bodies".  The new file
2754         is an ordered list of files to use when assembling the HTML
2755         pages.  This makes it easier to stuff source code into the pages.
2757         * docs/tutorials/index.html
2758         I could have sworn that I linked in 014 many moons ago.
2759         Appologies to Bob McWhirter for leaving this out for so long!
2761 Mon Oct 19 17:00:52 EDT 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
2763         * docs/tutorials/015:
2764         Just about everything in this directory has been touched.  I'm
2765         in the middle of documenting it and need a checkpoint so nothing
2766         gets lost!  ETA for completion is later tonight or sometime tomorrow.
2768 Mon Oct 19 11:47:20 1998  David L. Levine  <levine@cs.wustl.edu>
2770         * ace/OS.cpp (readPPCTimeBase): wrapped each line in "".
2771           Otherwise, the C++ compiler on MVS complains unterminated
2772           strings.  Even though it isn't supposed to see this code :-/
2773           Thanks to Chuck Gehr <GehrCR@louisville.stortek.com> for
2774           reporting this.
2776         * ace/config-g++-common.h: added ACE_LACKS_PRAGMA_ONCE.
2777           g++ doesn't need it, because it optimizes includes if the #ifndef
2778           header protection convention is followed.  And, it
2779           complains about #pragma once.
2781         * ace/config-win32-common.h: added ACE_LACKS_PRAGMA_ONCE,
2782           unless _MSC_VER < 1000.
2784 Mon Oct 19 11:13:00 1998 Chris Gill  <cdgill@cs.wustl.edu>
2786         * ace/Message_Block.h: Added title and description comments to
2787           deadline and laxity message priority strategy classes.
2789 Sun Oct 18 17:22:00 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
2791         * docs/tutorials/014/combine.shar:
2792         * docs/tutorials/015/combine.shar:
2793         The additional input files to the combine script.  A shell archive
2794         seems to be the most economical way to keep their history.
2795         Individual files just create clutter and a tar.gz wouldn't be
2796         diff-able in the repository.
2798         * docs/tutorials/014/Makefile:
2799         * docs/tutorials/015/Makefile:
2800         Adjusted to create the HTML and combine.shar files.
2802 Sun Oct 18 16:51:43 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
2804         * docs/tutorials/combine: A perl script for combining several
2805         "source" files into an HTML.  It was designed to combine comment
2806         files with .cpp and .h files in the creation of tutorials.  The
2807         HTML output is commited to the repository, I haven't decided yet
2808         if it's worth saving the input.
2810         * docs/tutorials/fix.Makefile:  This was pulled out of one of the
2811         old tutorials and made a bit more useful.  It's purpose is to pull
2812         dependency information out of a Makefile and create a .depend file
2813         instead.  This keeps makfiles cleaner and less confusing.
2815         * docs/tutorials/014/Makefile
2816         * docs/tutorials/014/Task.cpp
2817         Minor changes.  I attempted to add THR_JOINABLE to the activate()
2818         call but that resulted in a permanent hangup on Linux when trying
2819         to exit the application
2821         * docs/tutorials/015/Client.cpp
2822         * docs/tutorials/015/Client.h
2823         * docs/tutorials/015/Compressor.cpp
2824         * docs/tutorials/015/Compressor.h
2825         * docs/tutorials/015/Crypt.cpp
2826         * docs/tutorials/015/Crypt.h
2827         * docs/tutorials/015/Handler.cpp
2828         * docs/tutorials/015/Handler.h
2829         * docs/tutorials/015/Makefile
2830         * docs/tutorials/015/Makefile.client
2831         * docs/tutorials/015/Makefile.server
2832         * docs/tutorials/015/Protocol_Stream.cpp
2833         * docs/tutorials/015/Protocol_Stream.h
2834         * docs/tutorials/015/Protocol_Task.cpp
2835         * docs/tutorials/015/Protocol_Task.h
2836         * docs/tutorials/015/Recv.cpp
2837         * docs/tutorials/015/Recv.h
2838         * docs/tutorials/015/Server.cpp
2839         * docs/tutorials/015/Server.h
2840         * docs/tutorials/015/Xmit.cpp
2841         * docs/tutorials/015/Xmit.h
2842         * docs/tutorials/015/client.cpp
2843         * docs/tutorials/015/page01.html
2844         * docs/tutorials/015/page02.html
2845         * docs/tutorials/015/page03.html
2846         * docs/tutorials/015/page04.html
2847         * docs/tutorials/015/page05.html
2848         * docs/tutorials/015/page06.html
2849         * docs/tutorials/015/server.cpp
2850         The beginnings of a protocol stream tutorial. The code is done but
2851         the tutorializing (eg -- HTML and comments) isn't complete.
2853 Sat Oct 17 21:20:44 1998  David L. Levine  <levine@cs.wustl.edu>
2855         * ace/OS.i (gethrtime): updated comments on Alpha rpcc
2856           instruction.  Only 32 bits of high-res tick count are
2857           available, even the 64 bits are read by the rpcc instruction.
2858           The high 32 bits are for implementation-specific use, such
2859           as a virtual tick counter.
2861 Sat Oct 17 13:41:57 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
2863         * test/Future_Test.cpp: Added more comments so that the structure
2864           and participants in the Active Object pattern would be more
2865           obvious.
2867         * ace/Message_Block: Added a priority parameter, which defaults to
2868           0, to one of the constructor for ACE_Message_Block so that it
2869           simplifies the new Method_Request semantics.
2871         * ace/Method_Request.h: Added priority() accessor/mutator methods
2872           so that we can control where a Method_Request is placed in the
2873           Activation_Queue, which is just a Facade for an
2874           ACE_Message_Queue.
2876         * ace: Renamed ACE_Method_Object to ACE_Method_Request to
2877           correspond to the new version of the Active Object pattern at
2878           http://www.cs.wustl.edu/~schmidt/Act-Obj.ps.gz.  This change
2879           involved renaming the Method_Object.h and Method_Object.cpp
2880           files to Method_Request.h and Method_Request.cpp, respectively.
2881           For backwards compatibility, I kept the Method_Object.h file,
2882           which now just includes Method_Request.h and adds a typedef of
2883           ACE_Method_Request to ACE_Method_Object so no applications
2884           should break.  New applications should use the new names,
2885           however.
2887         * ace/Acceptor.h: Moved the
2888           ACE_Oneshot_Acceptor::register_handler() method into the private
2889           part of the class so that users won't be tempted to call it!
2890           Thanks to Larry <larry@paradigmsim.com> for reporting this.
2892         * examples/Connection/non_blocking/CPP-acceptor: Fixed a bug that
2893           occurred when timers were used in conjunction with the
2894           ACE_Oneshot_Acceptor and handle_close().
2896         * ace/Acceptor: Cleaned up the ACE_Oneshot_Acceptor comments.
2897           Boy, this was confusing ;-).  Thanks to Larry
2898           <larry@paradigmsim.com> for reporting this.
2900 Sat Oct 17 12:54:17 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
2902         * ACE version 4.5.60 released.
2904 Sat Oct 17 12:50:44 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
2906         * Fixed a number of warnings that crept into the release
2907           yesterday.  Thanks to David Levine and DEC C++ for
2908           reporting these.
2910 Sat Oct 17 00:35:21 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
2912         * ACE version 4.5.59 released.
2914 Sat Oct 17 00:29:37 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
2916         * ace/Service_Config.cpp (process_directives): Only warn about a
2917           missing svc.conf file if we're debugging.
2919 Fri Oct 16 23:16:30 1998  David L. Levine  <levine@cs.wustl.edu>
2921         * docs/ACE-guidelines.html: 1) use complete sentences for
2922           comments and 2) use prefix operators where possible, such
2923           as on an iteration loop index.
2925 Fri Oct 16 15:45:08 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
2927         * ace/Service_Config: Added a new method called
2928           init_svc_conf_file_queue() that will properly initialize the new
2929           queue containing the list of svc.conf files.
2931         * ace/Service_Config: Added a return value to parse_args() to make
2932           sure we do a sanity check...
2934         * ace: Replaced all #if !defined (ACE_FOO_H) with #ifndef
2935           ACE_FOO_H since many C++ preprocessors can recognize this idiom
2936           and optimize for it.
2938         * ace/Service_Config.cpp (parse_args): Modified the -S option to
2939           enqueue the directives in FIFO order rather than in LIFO order.
2940           It's more intuitive to process them in the order they are
2941           received!
2943         * ace/Service_Config: It's now possible to give multiple -f
2944           options to the Service Configurator and it will open multiple
2945           files and process each one in the order specified in argv.  This
2946           is useful if svc.conf are generated by automatic tools, e.g.,
2947           Wizards, that are operating independently.  Thanks to David
2948           O'Farrell <dave.ofarrell@aersoft.ie> for suggesting this.
2950         * tests/Upgradable_RW_Test.cpp: Revised the programming style ;-).
2952         * tests/Map_Manager_Test.cpp: Replaced all uses of postfix ++
2953           operators with prefix ++ operators because they are faster when
2954           iterating over the various Maps.
2956         * ace/[Hash_]Map_Manager: Today we decided to remove the use of
2957           locking for the ACE[_Hash]_Map_Manager Iterators.  The original
2958           scheme acquired the mutex of the [Hash_]Map_Manager on every
2959           ++operator++/--operator-- call.  Not only was this very
2960           inefficient, but it was also essentially useless since it
2961           doesn't protect against arbitrary insertions/deletions in the
2962           underlying map during the iteration.
2964           Our first thought was to put an ACE_Read_Guard into the iterator
2965           itself and acquire this for the duration of the iteration.
2966           However, this approach is totally broken when using STL-style
2967           iterators since the postfix ++ and -- operators return a copy of
2968           the iterator, which easily causes deadlocks if non-recursive
2969           mutexes are used.
2971           After much discussion, we decided it's better to let users
2972           figure out their own locking usecase, rather than have the
2973           iterators guess wrong and either screw up their code or yield
2974           substantial inefficiencies.  Therefore, the right approach is to
2975           do something like this:
2977           typedef ACE_Map_Manager <TYPE1, TYPE2, ACE_Thread_Mutex> MAP_MANAGER;
2978           typedef ACE_Map_Iterator <TYPE1, TYPE2, ACE_Thread_Mutex> ITERATOR;
2979           typedef ACE_Map_Entry <TYPE1, TYPE2> ENTRY;
2981           void
2982           foo (MAP_MANAGER &map)
2983           {
2984             // ...
2985             {
2986               // Explicitly grab the lock and hold it for the duration of
2987               // the iteration.
2988               ACE_READ_GUARD (ACE_Thread_Mutex, ace_mon, map.mutex ());
2990               ITERATOR end = map.end ();
2992               for (ITERATOR iter = map.begin ();
2993                    iter != end;
2994                    ++iter)
2995               {
2996                 ENTRY &entry = *iter;
2997                 ++i;
2998               }
2999             // ...
3000           }
3002           Note that as a general rule, it's better to use ++i rather than
3003           i++ to avoid unnecessary copies.
3005 Fri Oct 16 14:57:58 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
3007         * ace/Hash_Map_Manager and Map_Manager: Fixed the operator++ and
3008           operator--.  Also, moved the guard from the individual methods
3009           to the iterator.  Now, the read guard is held for the life time
3010           of the iterator.
3012 Fri Oct 16 14:51:57 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
3014         * ace/OS.cpp (thr_create): Made sure if users don't specify
3015           whether to spawn threads detached or joinable, we'd change the
3016           creation flag for them so that they are always joinable (not
3017           detached.)  This is important for unify the thread behavior on
3018           different platforms that have various default thread creation
3019           policies.  Thanks to Susan Liebeskind
3020           <shl@janis.gtri.gatech.edu> for motivating the change.
3022 Fri Oct 16 01:28:17 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
3024         * ACE version 4.5.58 released.
3026 Thu Oct 15 23:50:41 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
3028         * ACE version 4.5.57 released.
3030 Thu Oct 15 22:05:02 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
3032         * ace/ACE.cpp (unique_name): Moved the arguments around in the
3033           sprintf() in order to generate a better "unique name".  Thanks
3034           to Bob McWhirter for suggesting this.
3036 Thu Oct 15 21:20:36 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
3038         * ace/Hash_Map_Manager.cpp (operator-- and operator++):
3039         * ace/Map_Manager.cpp (operator-- and operator++):
3041           Fixed by value and by reference return values.
3043 Thu Oct 15 20:16:46 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
3045         * docs/ACE-FMM.html: Updated with Bob McWhirter's latest changes.
3046         Discussion of race conditions when spawning threads from within a constructor.
3048 Thu Oct 15 18:30:58 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
3050         * ace/OS.h: Added ACE_HTONS(x) macros to complement ACE_HTONL(x)
3051           macros.  Thanks to Balaji Srinivasan <balaji@cplane.com>
3052           for reporting this.
3054         * ace/[Hash_]Map_Manager.cpp: Postfix and prefix were inverted.
3055           They are correct now.  Thanks to Balaji Srinivasan
3056           <balaji@cplane.com> for reporting this.
3058 Thu Oct 15 18:02:51 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
3060         * ace/config-win32.h: For non-winnt systems, define
3061           ACE_LACKS_RECVMSG and ACE_LACKS_SENDMSG.  Thanks to Bill Hall
3062           <hts@gte.net> for pointing this out.
3064           [BTW, Bill was the 400th individual to contribute an ACE/TAO
3065           bug report, thanks to everyone for all their help over the years!]
3067 Thu Oct 15 16:50:09 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
3069         * ace/SOCK_Dgram_Mcast.i (set_option): Need to convert the
3070           <optval> from char to int for Win32 because the shortest length
3071           of <optval> must be at least sizeof (int) on Win32.  Thanks
3072           to Johan Lundin <johan@lundin.com> for reporting this.
3074 Thu Oct 15 16:40:41 1998  Steve Huston  <shuston@riverace.com>
3076         * tests/Thread_Manager_Test.cpp: Allow suspend/resume to be tried on
3077           pthreads, but don't allow any error other than ENOTSUP.  This
3078           catches a bug in Thread_Manager that lost the error values on an
3079           error.
3081         * ace/Thread_Manager.cpp (ACE_THR_OP macro): Don't remove a thread
3082           from the active threads list if an operation fails with ENOTSUP.
3083           This was causing calls to suspend_grp/resume_grp to erase the list
3084           of threads in a group on pthreads, then wait_grp didn't wait because
3085           it thought there weren't any more threads.
3087 Thu Oct 15 12:43:46 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
3089         * ace/Task.cpp (activate): Changed to activate new active objects
3090           using the same grp_id if this task has been activated before and
3091           no new grp_id is specified in activate method.  Also, the task's
3092           grp_id will only get updated if it has never been updated even
3093           if <force_active> is set.  This prevent the original <grp_id_>
3094           get lost but the consequence if that if users select to
3095           force_activate new tasks with a different grp_id, the new grp_id
3096           will get lost and the only way to wait for these threads is to
3097           either perform a wait for all threads, or wait for each
3098           individual thread by waiting on the thread handles returned by
3099           the activate method.  Thanks to Bob McWhirter
3100           <bob@netwrench.com> for motivating this change.
3101           (ACE_Task_Base): Changed to initialize <grp_id_> to -1.
3103 Thu Oct 15 10:07:13 1998  David L. Levine  <levine@cs.wustl.edu>
3105         * ACE version 4.5.56 released.
3107 Thu Oct 15 09:54:07 1998  David L. Levine  <levine@cs.wustl.edu>
3109         * tests/run_tests.sh: commented out MT_Reactor_Timer_Test because
3110           it doesn't halt on g++/Solaris or DU 4.0.
3112         * include/makeinclude/wrapper_macros.GNU: for g++, added
3113           -DACE_LACKS_PRAGMA_ONCE to CCFLAGS.  Thanks to Kirk Ellet
3114           <kellet@mdc.com> for pointing out that is has to be done
3115           in CCFLAGS rather than as a #define in OS.h, because
3116           ace/Synch_T.h uses the pragma before config.h is #included.
3118 Wed Oct 14 23:20:45 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
3120         * ACE version 4.5.55 released.
3122 Wed Oct 14 22:17:31 1998  David L. Levine  <levine@cs.wustl.edu>
3124         * docs/ACE-guidelines.html: added guideline for protection of
3125           header files against multiple inclusion.  Thanks to
3126           Eric C. Newton <ecn@smart.net> for pointing out the construct
3127           used by gcc/g++ to minimize unnecessary file inclusion.
3128           Fortunately, other compilers use the same method.  And,
3129           thanks to Susan Liebeskind  <shl@cc.gatech.edu> for being
3130           the last ACE user to suggest something like this, and to
3131           Pat McNerthney <pat@cartia.com> for spurring the search for
3132           such an optimization.
3134 Wed Oct 14 12:36:00 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
3136         * tests/run_tests.sh: Added the MT_Reactor_Timer_Test.
3138         * tests/MT_Reactor_Timer_Test.cpp: Fixed a number of bugs with
3139           this test.  It seems to work fine on Solaris now.
3141         * tests/MT_Reactor_Timer_Test.cpp (main): Added a test to make
3142           sure that the ACE_Reactor::handle_events() method properly
3143           counts the number of expired timers.
3145         * ace/Select_Reactor_T: Updated the various methods so that
3146           handle_events() now works as advertised, i.e., it actually
3147           returns the number of event handlers it dispatched.
3149         * ace: Added
3151           #if !defined (ACE_LACKS_PRAGMA_ONCE)
3152           #pragma once
3153           #endif /* ACE_LACKS_PRAGMA_ONCE */
3155           To all the header files in ACE.  This should speed up
3156           compilation time on platforms whose C++ compilers support
3157           #pragma once.  Thanks to Patrick J. McNerthney <pat@cartia.com>
3158           for suggesting this.
3160         * ace/Functor.h: Moved the definitions of the constructor and
3161           destructor of ACE_Command_Base into the *.i file.
3163         * ace/Select_Reactor_T: Enhanced dispatch_timer_handlers() so that
3164           it passes the number of timers dispatched as an out parameter to
3165           avoid any ambiguity.
3167 Wed Oct 14 15:30:42 1998  Steve Huston  <shuston@riverace.com>
3169         * ace/Message_Block_T.h: Removed ACE_Export from definition of template
3170           class ACE_Locked_Data_Block.
3172 Wed Oct 14 12:36:00 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
3174         * ace/config-cygwin32-common.h,
3175           ace/config-cygwin32.h,
3176           ace/OS.h:
3177           Added support for Cygwin32.  Thanks to Phil Feairheller
3178           <Phil.Feairheller@emax.com> for contributing this.
3180         * ace/config-vxworks5.x.h,
3181           ace/config-chorus.h,
3182           ace/config-psos*.h,
3183           ace/config-cygwin32-common.h,
3184           ace/OS.i:
3185           Added and used the new ACE_LACKS_MKFIFO macro.  Thanks to Phil
3186           Feairheller <Phil.Feairheller@emax.com> for reporting this.
3188 Wed Oct 14 11:03:45 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
3190         * ACE version 4.5.54 released.
3192 Wed Oct 14 00:28:10 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
3194         * ACE version 4.5.53 released.
3196 1998-10-14  Nagarajan Surendran  <naga@tango.cs.wustl.edu>
3198         * ace/Synch_T.cpp : Changed ACE_mutex_t to ACE_cond_t for CHORUS
3199         in ACE_Condition constructor.
3201 1998-10-13  Nagarajan Surendran  <naga@tango.cs.wustl.edu>
3203         * ace/Synch.i (ACE_Mutex::remove): Added a #else for non-chorus
3204           cases instead of #endif to call ACE_OS::mutex_destroy.
3206         * ace/OS.cpp : Added static member definition
3207                 KnCap ACE_OS::actorcaps_[ACE_CHORUS_MAX_ACTORS]
3208         for CHORUS.
3210         * ace/config-chorus.h: Added ACE_HAS_TSS_EMULATION.
3212 Tue Oct 13 22:40:40 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
3214         * ace/Makefile:
3215         * ace/Message_Block.h:
3216         * ace/Message_Block.i:
3217         * ace/Message_Block.cpp:
3218         * ace/Message_Block_T.h:
3219         * ace/Message_Block_T.i:
3220         * ace/Message_Block_T.cpp:
3221           Added a new variant of the ACE_Data_Block class that holds an
3222           instance of its locking strategy, this is useful because in some
3223           cases the lifetime of the lock is tied to the lifetime of the
3224           Data_Block itself.  The Message_Block class was carefullly
3225           modified to support this new feature, i.e. it does not hold a
3226           lock while removing the data block because the hold may be part
3227           of the data block itself.  Still all the features in the
3228           Message_Blocks are supported, for instance, a complete
3229           Message_Block chain ca be destroyed while holding a single lock,
3230           shared by all the Data_Blocks in the chain.
3232 Tue Oct 13 22:39:42 1998  David L. Levine  <levine@cs.wustl.edu>
3234         * tests/MM_Shared_Memory_Test.cpp (client): added an
3235           ACE_ASSERT to check that shm is non-zero.
3237         * ace/OS.h,config-chorus.h,README: added
3238           ACE_HAS_PTHREAD_PROCESS_ENUM support.  Thanks to
3239           Alberto Villarica <Alberto.Villarica.rav@nt.com> and Naga
3240           for tracking the problem with Semaphore_Test hanging.
3242         * ace/OS.h: changed default PTHREAD_PROCESS_SHARED from 0 to 1.
3243           That way, it's different than PHTREAD_PROCESS_PRIVATE.
3245 Tue Oct 13 22:09:12 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
3247         * ace/Mem_Map.cpp (map_it): One more try to get this right ;)
3248           Thanks to Jonathan Reis <reis@minniemouse.cemax.com> for the bug
3249           reports, suggested fixes, and test program.
3251 Tue Oct 13 21:17:37 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
3253         * ace/Asynch_IO.cpp:
3254         * ace/Proactor.cpp: Fixed the problem with POSIX4 implementation
3255         of Asynch_Transmit_File. Thanks to James Hu and Irfan for
3256         reporting this problem and helped me on the fixes.
3258 Tue Oct 13 18:07:21 1998  Steve Huston  <shuston@riverace.com>
3260         * ace/config-aix-4.2.x.h: Set up so it should work with gcc as well
3261           as xlC.  Rearranged defs and removed some duplicates.
3262           Enabled ACE_HAS_4_4BSD_SENDMSG_RECVMSG and removed the redefs
3263           of msgbuf fields.
3265         * tests/Thread_Pool_Reactor_Test.cpp: Moved the definition of
3266           Acceptor_Handler to a new file, Thread_Pool_Reactor_Test.h to
3267           satisfy AIX xlC's template instantiation.
3269 Tue Oct 13 15:56:09 1998  Nagarajan Surendran  <naga@cs.wustl.edu>
3271         * ace/OS.i: Fixed a few errors on CHORUS.
3273 Tue Oct 13 08:48:36 EDT 1998   James CE Johnson  <jcej@lads.com>
3275         * docs/ACE-tutorials.html
3276         * docs/ACE-FMM.html
3277           Added Bob McWhirter's <bob@netwrench.com> "Frequently Made
3278           Mistakes" list.
3280 Tue Oct 13 07:28:38 1998  David L. Levine  <levine@cs.wustl.edu>
3282         * ace/High_Res_Timer.cpp (dump): replaced ACE_static_casts with
3283           ACE_CU64_TO_CU32, because the method is const.  Thanks to Doug
3284           for reporting this.
3286         * ace/Thread_Manager.cpp (join): replaced __xlC__ test with
3287           _AIX.  That way, g++ and xlC will both use the three-arg
3288           join call on AIX.  Thanks to Ian Wright <I.Wright@elsevier.co.uk>
3289           for reporting this.
3291         * ace/Makefile,examples/Bounded_Packet_Relay/Makefile:
3292           updated dependencies.
3294         * ace/OS.[hi],config-fsu-pthread.h,config-aix-4.[12].x.h,
3295           config-mit-pthread.h,config-hpux-10.x.h,config-hpux11.h,
3296           config-irix6.x-{g++,sgic++}.h,config-mvs.h,config-tandem.h,
3297           config-osf1-3.2.h,config-osf1-4.0.h,config-sco-5.0.0-mit-pthread.h,
3298           config-irix6.x-common.h,README:
3299           removed ACE_HAS_TID_T and ACE_HAS_PTHREAD_T support.  ACE_hthread_t
3300           is now a simple typedef of pthread_t.  It was before, also, but not
3301           so simple :-)  Before, it was a typedef of tid_t on platforms
3302           that had ACE_HAS_TID_T but not ACE_HAS_PTHREAD_T.  There were
3303           no such platforms; so, it was pthread_t on all PTHREADS platforms.
3304           Thanks to Ossama, Arturo, and Steve for sorting all this out.
3305           We ended up with just a single typedef, so it was worth it.
3307         * ace/OS.i (thr_cmp): use pthread_equal with PTHREADS, same as
3308           in ACE_OS::thr_equal ().  Thanks to Ossama for pointing out that
3309           they were different, but shouldn't have been.
3311         * ace/config-aix-4.2.x.h,config-fsu-pthread.h,config-hpux-10.x.h,
3312           config-hpux11.h,config-irix6.x-{g++,sgic++}.h,config-mit-pthread.h,
3313           config-mvs.h,config-osf1-3.2.h,config-osf1-4.0.h,
3314           config-sco-5.0.0-mit-pthread.hconfig-tandem.h,README:
3315           removed ACE_HAS_PTHREAD_EQUAL because it's no longer used.  Thanks
3316           to Ossama for motivating the above change to thr_cmp, which had
3317           been the only use of ACE_HAS_PTHREAD_EQUAL.
3319         * ace/Log_Record.h,OS.h: changed C++-style comments to C-style
3320           comments in preprocessor directives.  Thanks to
3321           Fernando D. Mato Mira <matomira@acm.org> for reporting these.
3323 Tue Oct 13 00:19:42 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
3325         * ace/OS.i (sema_destroy): I believe I've fixed the rats nest of
3326           #ifdefs to get semaphores to work correctly on Chorus again.
3327           Thanks to Naga for tracking this down!
3329         * ace/High_Res_Timer.cpp: Temporarily commented out the
3330           ACE_static_casts so that this will compile with CC.
3332         * ace/Hash_Map_Manager,
3333           ace/Map_Manager:
3334           Added a public mutex() accessor that allows us to return a
3335           reference to the lock_.  This is useful for cases where we're
3336           using ACE_Process_Mutex and need to call remove().  Thanks to
3337           Bob McWhirter <bob@netwrench.com> for this suggestion.
3339 Mon Oct 12 23:03:26 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
3341         * ace/Mem_Map.cpp (map_it): Added a minor fix to handle the fact
3342           that Chorus doesn't support filesize() on a shared memory
3343           segment.  Thanks to Alberto Villarica
3344           <Alberto.Villarica.rav@nt.com> for reporting this.
3346 Mon Oct 12 22:18:03 1998  David L. Levine  <levine@cs.wustl.edu>
3348         * ace/High_Res_Timer.cpp (dump): cleaned up output so that it
3349           works and is consistent across all platforms.  (long long
3350           printing is not portable:  some platforms use %llu and
3351           others use %Lu).
3353 Mon Oct 12 18:39:09 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
3355         * ace/Mem_Map.cpp: Revised the code to take the offset into
3356           account when deciding whether to grow the backing store.
3358           Also, ACE_Mem_Map was trying to be too clever when it tries to
3359           make sure that your offset is a multiple of the allocation
3360           granularity.  It ends up messing up user offset and length
3361           calculations.  Therefore, I have taken this out of ACE_Mem_Map
3362           code.  Users is still welcome to use
3363           ACE_OS::allocation_granularity and
3364           ACE::round_to_allocation_granularity by themselves.
3366 Mon Oct 12 14:39:15 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
3368         * ace/Parse_Node.cpp: Added some ACE_const_casts to cleanup the
3369           casting going on here.
3371         * examples/ASX/CCM_App/CCM_App.cpp: We need to make sure and use
3372           the ACE_SVC_FACTORY_* macros so that the gobbler will be set
3373           correctly.  Purify rules!
3375         * ace/Makefile: Make sure to add the // $ Id: $ CVS string when
3376           recreating Svc_Conf_Tokens.h.
3378         * ace/Svc_Conf.y: Just to be paranoid, make sure to set the
3379           gobbler function to 0.  At least this way we'll get crashes
3380           rather than bizarre errors if users don't use the ACE_*FACTORY*
3381           macros.
3383 Mon Oct 12 19:19:27 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
3385         * docs/ACE-tutorials.html:
3386         Added a link to Bob McWhirter's Frequently Made Mistakes page.
3388         * docs/tutorials/014/Makefile
3389         * docs/tutorials/014/Task.{cpp|h}
3390         * docs/tutorials/014/EndTask.h
3391         * docs/tutorials/014/stream.cpp
3392         * docs/tutorials/014/page0[123456].html
3393         A slightly modified version of Bob McWhirter's ACE_Stream tutorial.
3395 Mon Oct 12 15:59:00 1998  David L. Levine  <levine@cs.wustl.edu>
3397         * ace/Message_Block.cpp (size): removed unused local "old_base".
3399 Mon Oct 12 11:24:45 PDT 1998  James Hu  <jxh@entera.com>
3401         * Asynch_IO.cpp: Minor changes to deal with FMR error.
3403         * Message_Block.{cpp,i,h}: Changed rd_ptr_ and wr_ptr_ to be
3404           byte offsets from base ().  This allows one to resize a
3405           duplicate without trashing other Message_Blocks that may be
3406           referring to the same data block.
3408         * Proactor.cpp: Made the message block 64 bytes bigger to make
3409           purify happier.
3411 Mon Oct 12 12:14:45 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
3413         * ace/Parse_Node.cpp (ACE_Stream_Node): In error cases, the strops
3414           parameter can be NULL.  Therefore, we need to protect against
3415           this case.  Thanks to David O'Farrell <dave@virgo.aersoft.ie>
3416           for reporting this.
3418 Mon Oct 12 10:43:09 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
3420         * ace/Asynch_IO.cpp (ACE_Asynch_Result): Fixed a double deletion
3421         problem. Thanks to James Hu for reporting this.
3423 Mon Oct 12 09:43:07 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
3425         * ace/Containers_T.h:
3426         * ace/Containers_T.cpp:
3427           Added a new method to modify the size of an ACE_Array.
3429 Mon Oct 12 09:23:49 1998  David L. Levine  <levine@cs.wustl.edu>
3431         * netsvcs/lib/Name_Handler.cpp (lists_entries): one more try
3432           to fix the egcs 1.1b bug:  removed the ptmf temporary entirely.
3434 Sun Oct 11 17:33:22 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
3436         * ace/Synch.cpp: Fixed a typo, s/lock_/process_lock_/.  Thanks to
3437           Naga for noticing this.
3439 Sun Oct 11 08:19:33 1998  David L. Levine  <levine@cs.wustl.edu>
3441         * ace/config-linux-common.h: re-enabled msg_* undefs and defines,
3442           but for libc5 (non-glibc) only.  Thanks to JM Strauss
3443           <jms97@club-internet.fr> for verifying that they're needed.
3445         * netsvcs/lib/Name_Handler.cpp (lists_entries): replaced
3446           switch statement with a multi-branch if statement, to
3447           avoid Internal compiler error 980331 with egcs 1.1b (2.91.57)
3448           (on Linux/alpha).
3450 Sat Oct 10 18:30:02 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
3452         * ace/Synch_T: Added a process condition abstraction for Chorus
3453           that is based on a condition variable stored in shared memory.
3454           Thanks Alberto Villarica <Alberto.Villarica.rav@nt.com> for
3455           this.
3457         * ace/Synch: Added a process mutex abstraction for Chorus that is
3458           based on a mutex stored in shared memory.  Thanks Alberto
3459           Villarica <Alberto.Villarica.rav@nt.com> for this.
3461         * ace/config-chorus.h: Updated the config file for Chorus.  Thanks
3462           Alberto Villarica <Alberto.Villarica.rav@nt.com> for this.
3464         * ace/OS.i: Added rudimentary flock support for Chorus.  Thanks
3465           Alberto Villarica <Alberto.Villarica.rav@nt.com> for this.
3467         * ace/OS.i: Added exec*() support for Chorus.  Thanks Alberto
3468           Villarica <Alberto.Villarica.rav@nt.com> for this.
3470         * ace/config-chorus.h: Added #include of file <am/wait.h>.
3472         * ace/Local_Name_Space_T.cpp (create_manager_i): Added a special
3473           case for CHORUS so that we use a base address of 0.  Thanks to
3474           Alberto Villarica <Alberto.Villarica.rav@nt.com> for reporting
3475           this.
3477         * ace/Local_Name_Space_T.cpp (create_manager_i): Don't use
3478           ACE_OS::access() if the platform lacks it.  Thanks to Alberto
3479           Villarica <Alberto.Villarica.rav@nt.com> for reporting this.
3481 Sat Oct 10 18:33:06 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
3483         * tests/Aio_Platform_Test.cpp: Comments.
3485 Sat Oct 10 17:42:18 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
3487         * ACE version 4.5.52 released.
3489 Sat Oct 10 16:44:24 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
3491         * ace/Service_Repository.cpp: Improved the documentation and added
3492           some new ACE_const_casts.  Thanks to Eric Palantir
3493           <palantir@net56.net> for motivating this.
3495         * ace/Service_Config.cpp (open): The logger key should be set to
3496           the static logger key only if the key supplied is EQUAL with the
3497           default logger key.  Thanks to Eric Palantir
3498           <palantir@net56.net> for reporting this.
3500 Sat Oct 10 16:28:00 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
3502         * ace/Synch.h:
3503         * ace/Synch.i:
3504         * ace/Synch.cpp:
3505           The ACE_Process_Mutex class was allocating one of its members
3506           from the heap, thus it could not be placed in shared memory.
3507           The problem was that the member required the creation of a
3508           unique name if the user did not provide one; making the buffer
3509           for this unique name a member of ACE_Process_Mutex allowed us to
3510           initialize the lock_ member while still allocating it as a
3511           member of the class.  Thanks to Bob McWhirter
3512           <bob@netwrench.com> for helping to track this down.
3514 Sat Oct 10 12:45:31 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
3516         * ace/Malloc_T.h: Added a documentation entry for class
3517           ACE_Cached_Allocator.  Thanks to Erik Koerber
3518           <erik.koerber@siemens.at> for reporting this.
3520 Sat Oct 10 00:40:05 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
3522         * ACE version 4.5.51 released.
3524 Fri Oct 09 23:47:42 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
3526         * ace/Mem_Map.cpp (map_it): Fixed the setting of length_ again.
3527           Hopefully, it will be right this time.
3529 Fri Oct  9 15:37:26 PDT 1998  James Hu  <jxh@entera.com>
3531         * ace/Mem_Map.cpp: Protect against assigning 0 to length_.  This
3532           was causing JAWS to fail.
3534 Fri Oct  9 16:59:26 1998  Nagarajan Surendran  <naga@cs.wustl.edu>
3536         * examples/IPC_SAP/SOCK_SAP/run_test:
3537         * examples/IPC_SAP/SOCK_SAP/summarize:
3538                 Fixed the scripts to print the results correctly.Fixed
3539         comments and usage.
3541 Fri Oct 09 16:35:00 1998  Chris Gill  <cdgill@cs.wustl.edu>
3543         * ace/Timer_Queue_Adapters.cpp
3544           ace/ace_dll.dsp
3545           examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{cpp, h}:
3546           Fixes for deferred callbacks in the BPR example on NT.
3548 Fri Oct 09 11:59:26 1998  David L. Levine  <levine@cs.wustl.edu>
3550         * include/makeinclude/wrapper_macros.GNU: removed RM override
3551           because it's not necessary.  Thanks to
3552           Tres Seaver <tseaver@palladion.com> for this suggestion.
3554         * include/makeinclude/platform_chorus_ghs.GNU,
3555           platform_irix6.x-sgic++.GNU,platform_osf1_3.2.GNU,
3556           platform_osf1_4.0.GNU,platform_osf1_4.0_rcc.GNU,
3557           platform_sunos5_sunc++.GNU:
3558           replaced hard-coded /bin/rm -f with $(RM).  Thanks to
3559           Tres Seaver <tseaver@palladion.com> for this suggestion.
3561         * ace/Containers_T.{h,cpp}: removed unecessary (and impolite)
3562           argument name.
3564 Fri Oct 09 00:44:21 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
3566         * ace/OS.i (mmap): CreateFileMapping must be created with a length
3567           of 0 (which will get translated to the size of the file).  This
3568           must not be <len> since <len> only deals with the mapping of the
3569           view and not with the file mapping object.  It is ok to use 0
3570           since we are trying to emulate UNIX's mmap.
3572         * ace/ACE.cpp (round_to_allocation_granularity):
3573           ace/OS.i (allocation_granularity):
3575           New methods.  We need allocation granularity when rounding off
3576           the offset in mmap and not the page size.  Only on Win32,
3577           allocation granularity is different from pagesize.
3579         * ace/High_Res_Timer.cpp: Added the inclusion of Object_Manager.h.
3580           Otherwise, NT was picking up the definition of
3581           ACE_Static_Object_Lock.
3583         * ace/Mem_Map.cpp (map_it): Fixed the problem where a requested
3584           length of less than the filesize was being ignored.  Also,
3585           changed round_to_pagesize() to round_to_allocation_granularity().
3586           Thanks to Jonathan Reis <reis@minniemouse.cemax.com> for
3587           pointing this bug out.
3589 Fri Oct 09 00:02:01 1998  Alexander Babu Arulanthu <alex@cs.wustl.edu>
3591         * ace/Asynch_IO.cpp: The YET another problem with doing multiple
3592           Asynch_Accepts have been fixed. Thanks very much James Hu for
3593           reporting this. I was calling reactor's resume_handlers and
3594           suspend_handlers instead of only for one handle. Thanks very
3595           much Irfan! for pointing this out.
3597 Thu Oct 08 23:06:20 1998  David L. Levine  <levine@cs.wustl.edu>
3599         * config-linux-common.h: on Alpha only, added ACE_POLL_IS_BROKEN.
3600           High_Res_Timer_Test revealed that it's necessary with
3601           glibc 2.0.7-13.  I don't think that its necessary on
3602           Pentiums, but maybe it depends on glibc version.
3604         * OS.i (gethrtime),High_Res_Timer.cpp OS.i,README:
3605           added ACE_HAS_ALPHA_TIMER support.  See the comment
3606           in ACE_OS::gethrtime about it being limited to 32 bits.
3607           I don't know why, but that severely limits the range
3608           of high res times.  Therefore, it's not enabled by default
3609           in any config files.
3611 Thu Oct 08 15:22:22 1998  Arturo Montes <mitosys@colomsat.com.co>
3613         * ace/OS.{i,cpp}: Reverted FSU thread changes for now.
3615 Thu Oct 08 15:11:34 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
3617         * ACE-INSTALL.html: Updated document about spawning new thread
3618           when ACE_HAS_MFC is defined.  CWinBeginThread is not used
3619           automatically.  Users have to explicitly ask for this.
3621 Thu Oct  8 12:11:08 1998  Nagarajan Surendran  <naga@cs.wustl.edu>
3623         * examples/IPC_SAP/SOCK_SAP/run_test:
3624         * examples/IPC_SAP/SOCK_SAP/summarize:
3626         Added these scripts to run the test and summarize the
3627         results. These scripts are modelled similar to the
3628         $TAO_ROOT/performance-tests/Cubit/TAO/MT_Cubit scripts.
3629         Thanks to David for the scripts.
3631 Thu Oct 08 08:23:09 1998  David L. Levine  <levine@cs.wustl.edu>
3633         * ace/High_Res_Timer.cpp (get_registry_scale_factor):
3634           default global_scale_factor to 1000 instead of 1,
3635           because ACE_OS::gethrtime () defaults to nanoseconds.
3636           Thanks to Peter Nordlund <petern@nada.kth.se> for
3637           reporting that High_Res_Timer_Test failed on Irix without
3638           this fix.
3640         * ace/Makefile (Svc_Conf_l.cpp): use Doug's flex to generate
3641           this file, if running on a DOC group machine, instead of
3642           using whatever flex is first on the users path.
3644         * etc/README: fixed typo.
3646         * ace/Svc_Conf_l.cpp,etc/Svc_Conf_l.cpp.diff (ACE_YY_DECL):
3647           initialize ace_yy_cp and ace_yy_bp to 0 to avoid egcs 1.1
3648           warning about possible use before initialization.
3650 Wed Oct  7 23:47:29 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
3651         * ace/Asynch_IO.cpp:
3652         * ace/Proactor.cpp : Fixed the problem with doing multiple
3653         Asynch_Accepts. Thanks to James Hu for reporting this
3654         problem. Thanks very much Irfan!!!, for helping me a lot in fixing
3655         this one.
3657 Wed Oct 07 23:14:36 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
3659         * ACE version 4.5.50 released.
3661 Wed Oct  7 21:44:20 1998  Douglas C. Schmidt  <schmidt@lambada.cs.wustl.edu>
3663         * ace/Stream.h: Added a default value of 0 for both put() and
3664           get(), which is more consistent with the underlying putq() and
3665           getq() methods on ACE_Task.  Thanks to Bob McWhirter
3666           <bob@netwrench.com> for this suggestion.
3668 Wed Oct  7 18:18:14 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
3670         * README:
3671         * ace/config-irix6.x-g++.h:
3672         * ace/config-irix6.x-common.h:
3673         * ace/config-irix6.x-sgic++-nothreads.h:
3674           Peter Nordlund <petern@nada.kth.se> kindly submitted a common
3675           configuration file for IRIX 6.X that works with both g++ and SGI
3676           MIPSPro 7.X
3678 Wed Oct  7 17:21:17 1998  Arturo Montes <mitosys@colomsat.com.co>
3680         * ace/OS.{i,cpp}: FSU pthreads is draft6, but FSU in SCO is an
3681           special port. The API is draft6 but return values is DRAFT7
3682           (really I am moving to STD).
3684 Wed Oct 07 09:30:00 CDT 1998  Chris Gill <cdgill@cs.wustl.edu>
3686         * ace/Functor.{cpp, h, i}
3687           ace/Functor_T.{cpp, h, i}
3688           ace/Makefile:
3690           Added ACE_Command_Base abstract base class and derived class
3691           template ACE_Command_Callback to ACE to support the GOF Command
3692           design pattern.
3694         * ace/Timer_Queue_Adapters.{cpp, h}:
3696           Added registration and deferred executiton of ACE_Command_Base
3697           objects to ACE_Thread_Timer_Queue_Adapter.  This is conditionally
3698           compiled if the ACE_HAS_DEFERRED_TIMER_COMMANDS symbol is defined.
3700         * examples/Bounded_Packet_Relay/BPR_Drivers.{cpp, h}
3701           examples/Bounded_Packet_Relay/BPR_Drivers_T.{cpp, h}
3702           examples/Bounded_Packet_Relay/Makefile
3703           examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{cpp, h}
3704           examples/Bounded_Packet_Relay/bpr_thread.cpp:
3706           Changed example to use ACE_Command_Callback objects, modified event
3707           handlers to register ACE_Command_Callback objects for deferred
3708           excecution of timer cancellations and registrations.
3710 Wed Oct 07 02:37:58 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
3712         * ACE version 4.5.49 released.
3714 Wed Oct  7 00:11:33 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
3716         * ACE-INSTALL.html: Added more information on using MFC with ACE,
3717           some explanations about using run-time libraries and information
3718           about VC6.
3720         * tests/version_tests/version_tests.dsw: Removed
3721           MsgQueue_Notifications_Test.dsp and added
3722           Message_Queue_Notifications_Test.
3724         * tests/*.dsp: Changed to use DLL version of run-time libraries
3725           for static builds.  Notice that user libraries are still linked
3726           in statically.  Only the run-time libraries are effected.
3728         * ace/README: Added information for ACE_USES_STATIC_MFC.
3730         * ace/config-win32-common.h: Re-structured MFC related macros
3731           (_AFXDLL and _WINDLL) so that it allows us to use MFC in static
3732           ACE libraries and the setting of MFC can propagate to
3733           applications.  By default, ACE uses MFC DLL if ACE_HAS_MFC=1.
3734           If you want to use MFC as a static library, besides
3735           ACE_HAS_MFC=1, also define ACE_USES_STATIC_MFC.  Thanks to Jason
3736           Milley <Jason.Milley.jcmilley@nt.com> for noticing the problem
3737           of compiling static ACE library with MFC.
3739 Tue Oct  6 15:06:21 1998  Steve Huston  <shuston@riverace.com>
3741         * ace/Asynch_IO.cpp (ACE_Asynch_Accept_Handler): Removed the
3742           version of the ctor with no args - it's equivalent to the one
3743           with all defaulted args, and HP aCC complained.
3745         * ace/NT_Service.{h cpp i}: New class, ACE_NT_Service.  This provides
3746           a class and supporting macros to integrate NT Services into the
3747           ACE framework at run-time.  I'll work on getting an example into
3748           the kit soon.
3750         * ace/ACE_Library.{mak mdp}:
3751           ace/ace_dll.dsp, ace_lib.dsp: Added NT_Service files.
3753 Tue Oct  6 12:49:37 EDT 1998  James CE Johnson  <jcej@lads.com>
3755         * docs/tutorials/006/client_handler.cpp
3756         * docs/tutorials/006/page05.html
3757           Susan Liebeskind discovered that invoking the baseclass
3758           close() after handle_close() in Client_Handler::close()
3759           causes the object to be destructed twice.  I've removed
3760           the call to the baseclass close().  She reports success
3761           on Solaris, Dec and AIX.  I've verified that Linux also
3762           works fine with this fix.
3764 Tue Oct 06 09:53:22 1998  David L. Levine  <levine@cs.wustl.edu>
3766         * ace/config-fsu-pthread.h,config-mit-pthread.h,config-mvs.h,
3767           config-sco-5.0.0-mit-pthread.h,config-tandem.h,README:
3768           removed ACE_HAS_YIELD_VOID_PTR because it's no longer used.
3769           Thanks to Ossama for reporting this.
3771         * config-dgux-4.x-ghs.h,config-hpux-10.x.h,config-mit-pthread.h,
3772           config-mvs.h,config-sco-5.0.0-mit-pthread.h,config-tandem.h,README:
3773           removed ACE_LACKS_KEYDELETE because it's no longer used.  Thanks to
3774           Ossama for reporting this.
3776 Tue Oct 06 03:36:22 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
3778         * ACE version 4.5.48 released.
3780 Tue Oct 06 02:53:28 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
3782         * ACE version 4.5.47 released.
3784 Tue Oct  6 02:16:01 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
3786         * ace/Asynch_Acceptor.cpp:
3787         * ace/Asynch_IO.cpp (handle_input):
3788         * ace/Proactor.cpp:
3789         In POSIX implementation of  Asynch_Accept, We dont have to read
3790         initial data to read on to the Message Block given to the
3791         Asynch_Accept. So we dont use it at all. We get local and peer
3792         address from using socket and pass back to the application.
3794 Mon Oct 05 23:58:16 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
3796         * ACE version 4.5.46 released.
3798 Mon Oct  5 23:19:30 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
3800         * ace/OS.cpp (fork): Changed to use fork1 when ACE_HAS_STHREAD is
3801           defined.  Otherwise, file descriptors get messed up and socket
3802           connections get lost after exec'ing a new program.  Generally
3803           speaking, you should not simply fork a multi-threaded program
3804           without calling exec ().  On pthread compliant platform, fork
3805           does what fork1 does on solaris thread.
3807 Mon Oct 05 21:21:42 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
3809         * ACE version 4.5.45 released.
3811 Mon Oct 05 15:59:55 1998  David L. Levine  <levine@cs.wustl.edu>
3813         * ACE version 4.5.44 released.
3815 Mon Oct 05 15:23:04 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
3817         * ACE version 4.5.43 released.
3819 Mon Oct  5 15:34:41 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
3821         * docs/tutorials/002/handler.h:  Added includes for INET_Addr.h,
3822         SOCK_Stream.h and Reactor.h.  Susan Liebeskind pointed out that
3823         AIX gets confused in processing templates if these aren't present.
3825 Mon Oct 05 10:02:37 1998  David L. Levine  <levine@cs.wustl.edu>
3827         * ace/config-chorus.h: added ACE_LACKS_TRUNCATE.  Thanks
3828           to Steve Kay <slk1@icore.ih.lucent.com> for reporting this.
3830         * tests/Semaphore_Test.cpp: added some ifdefs so that it
3831           builds cleanly with ACE_HAS_POSIX_SEM.
3833 Sun Oct 05 03:49:09 PDT 1998  James Hu <jxh@entera.com>
3835         * ace/Asynch_Accept.*
3836         * ace/Asynch_IO.*
3837           Made some small modifications to support passing in and
3838           retrieving an ACT when performing asynchronous accept.
3840 Sun Oct 04 22:07:09 1998  David L. Levine  <levine@cs.wustl.edu>
3842         * ace/config-fsu-pthread.h,config-hpux-10.x.h,config-lynxos.h,
3843           config-mit-pthread.h,config-mvs.h,config-osf1-3.2.h,
3844           config-osf1-4.0.h,config-sco-5.0.0-mit-pthread.h,config-tandem.h,
3845           README: removed ACE_HAS_PTHREAD_GETSPECIFIC_DATAPTR, because it's
3846           no longer used.  Thanks to Ossama for reporting this.
3848         * ace/config-tandem.h,README: removed ACE_HAS_PTHREAD_YIELD_VOIDPTR,
3849           because it's no longer used.  It was commented out in
3850           config-tandem.h, anyways.  Thanks to Ossama for reporting this.
3852 Sun Oct  4 20:00:44 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
3854         * bin/auto_compile:
3855           Fixed the regular expression to detect compile errors.
3856           The user can pass extra arguments to GNU make, the arguments are
3857           given as the script is invoked.
3859 Sun Oct  4 14:30:03 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
3861         * ace/TP_Reactor.cpp (handle_events): Made sure we never suspend
3862           the <notify_handler_> without holding the <token_>.  Otherwise,
3863           depend on how an OS schedules ready threads, we may have a
3864           Reactor that could never be woken up.  This leads to a very
3865           delicate race condition when other threads which need to modify
3866           Reactor's state get block on the token (because they couldn't
3867           wake up the reactor).  These threads later block the
3868           nofify_handler thread when it's ready to resume
3869           <notify_handler_.>
3870           (notify_handle): Since we don't suspend the <notify_handler_>,
3871           there's no need to resume it here.
3873 Sat Oct  3 13:11:48 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
3875         * bin/auto_compile:
3876           Removed some of the tests, they were crashing more often than
3877           not.
3879 Sat Oct  3 09:36:09 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
3881         * examples/Reactor/Proactor/test_proactor.cpp: Comments.
3883 Sat Oct 03 09:24:45 1998  Susan Liebeskind <shl@cc.gatech.edu>
3885         * ace/Task.h,Thread.h,Thread_Manager.h,Timer_Queue_Adapters.h
3886           (activate,spawn,spawn_n): added THR_JOINABLE to THR_NEW_LWP
3887           default flags.
3889           On the boxes which implement POSIX 1003.1.b (Solaris, Digital Unix)
3890           threads spawned using default flags provided by those methods were,
3891           and still are, created *joinable*.
3893           On the box which implements Draft 7 (AIX), the spawned threads were
3894           *detached*.  With this change, they'll be created *joinable*,
3895           instead.
3897           This change ensures consistent behavior across all platforms.
3899 Sat Oct 03 09:04:44 1998  David L. Levine  <levine@cs.wustl.edu>
3901         * ace/ACE.cpp (set_handle_limit): wrapped the final
3902           return statement with #ifdef __sgi.  Irix complains without
3903           this return statement.  DEC cxx (correctly) says that it's not
3904           reachable.  ACE_NOTREACHED won't work here, because it handles
3905           both platforms the same.
3907         * include/makeinclude/wrapper_macros.GNU: with quantify=1
3908           on sparcs, add -record-register-window-traps to $(PRELINK).
3909           Thanks to Andy for discovering this Quantify option, for sparcs.
3911 Fri Oct  2 23:43:51 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
3913         * ace/config-irix6.x-g++.h:
3914         * ace/config-irix6.x-sgic++-nothreads.h:
3915         * ace/OS.h:
3916           IRIX puts <xti.h> in <sys/xti.h> header of IRIX, it is only
3917           relevant for the autoconf project.
3919         * ace/ACE.cpp:
3920           Added an extra return to make IRIX compiler happy.
3922 Fri Oct  2 21:48:18 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
3924         * tests/Thread_Pool_Reactor_Test.cpp: Send the message length
3925           before each message so we don't need to use time delay to
3926           separate consecutive requests.
3928 Fri Oct 02 16:27:07 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
3930         * ace/Thread_Manager.cpp: ACEified some code.
3931           (terminate): Do not register a thread as being terminated if it
3932           is being joined by another thread.  Just remove it from
3933           Thread_Manager's thr_list_.
3935 Fri Oct  2 00:19:04 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
3937         * tests/Thread_Pool_Reactor_Test.cpp: Fixed explicit template
3938           instantiation.
3940         * ace/Strategies_T.{h,i,cpp}: Removed classes
3941           ACE_Thread_Pool_Strategy and ACE_Svc_Handler_Pool_Strategy.
3943         * tests/run_tests.{sh,bat}: Added Thread_Pool_Reactor_Test into
3944           one-buttoned test scripts.
3946 Thu Oct 01 12:04:30 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
3948         * tests/Thread_Pool_Reactor_Test.cpp: Added a command line argument
3949           parser.
3951 Thu Oct  1 08:51:00 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
3953         * tests/Thread_Pool_Reactor_Test.cpp: Reformatted the
3954           code a bit.
3956         * ace/ACE.cpp (max_handles): Added yet another fix for AIX.
3957           Thanks to Chris Lahey for this.
3959 Thu Oct 01 01:05:49 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
3961         * tests/tests.dsw:
3962         * tests/version_tests/version_tests.dsw:
3963         * tests/Thread_Pool_Reactor_Test.{cpp,dsp}: Added a new test that
3964           torture tests the new ACE_TP_Reactor.
3966 Thu Oct 01 00:09:35 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
3968         * ace/ACE.cpp: Fixed max_handles().
3970         * tests/Conn_Test: Removed template specialization for
3971           INET_Addr.hash().
3973         * ace/Addr.i (hash):
3974         * ace/INET_Addr.i (hash):
3976           Finally gave up with template specialization hell and freak'in
3977           broken compilers and simply added a hash() method to ACE_Addr
3978           and ACE_INET_Addr. ACE_Addr::hash() simply return 0 and should
3979           be overwritten by subclasses that can provide better hashing.
3981 Wed Sep 30 10:16:56 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
3983         * ace/ACE.cpp: Modified max_handles() so that it goes the right
3984           thing on platforms like AIX that don't have any predefined limit
3985           on the number of handles.  Thanks to Chris Lahey
3986           <CLahey@cccis.com> for reporting this.
3988 Wed Sep 30 01:56:54 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
3990         * ace/Strategies_T:
3992           - ACE_Refcounted_Hash_Recyclable::operator==(const T &rhs):
3993             Added new method to prevent implicit type conversions.
3995           - Changed ACE_Hash_Addr::hash_i to return u_long instead of
3996             size_t.  This makes it similar to the return value from
3997             hash().
3999           - Added hash caching ability to ACE_Hashable.
4001           - Removed the use of ACE_Hash_Addr inside the
4002             ACE_Cached_Connect_Strategy.  This allows us to reduce
4003             implicit type conversions inside connect_svc_handler().
4005             Users are now required to specialize
4006             ACE_Refcounted_Hash_Recyclable<ACE_INET_Addr>::hash_i (void) instead
4007             of ACE_Hash_Addr<ACE_INET_Addr>::hash_i(const ACE_INET_Addr&addr)
4009         * tests/Conn_Test.cpp: Changed template specialization of
4010           ACE_Hash_Addr<ACE_INET_Addr>::hash_i(const ACE_INET_Addr&addr)
4011           to ACE_Refcounted_Hash_Recyclable<ACE_INET_Addr>::hash_i (void).
4013         * ace/OS.cpp (open): Fixed a couple of things that were broken
4014           with respect to when the SetFilePointer was called and when lock
4015           was released.  Also fixed the UNICODE version of open().  BTW,
4016           these functions had to be moved from OS.i to OS.cpp since the
4017           ACE_Managed_Object is not visible from OS.i.
4019 Wed Sep 30 02:29:48 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
4021         * performance-tests/TTCP/ACE-C++/Makefile:
4022         * performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp:
4023           Hacked so it would compile, don't know anything further than
4024           that.
4026 Tue Sep 29 21:55:52 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
4028         * ace/ace.dsw: Removed Connector.cpp from the compile list since
4029           it is a files with template classes only.
4031 Tue Sep 29 21:14:02 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
4033         * ace/OS.i (open): Grab a lock from the Object_Manager when
4034           O_APPEND is defined to simulate atomic behavior on most UNIX
4035           platforms.  Thanks to Irfan.
4037 Tue Sep 29 19:16:57 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
4039         * docs/tutorials/007/thread_pool.h
4040         * docs/tutorials/007/thread_pool.cpp
4041         Added virtual methods for open() and close() that match the
4042         baseclass.  This will keep some compilers from complaining about a
4043         partial-overload attempt.  Thanks to Bob McWhirter for catching this.
4045 Tue Sep 29 16:13:10 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
4047         * ace/Strategies_T:
4048         * ace/Connector:
4050           Added accessors for the strategy.
4052 Tue Sep 29 14:04:49 EDT 1998  James CE Johnson  <jcej@lads.com>
4054         * docs/tutorials/013/page08.html:  Removed link to message_queue.
4055         Thanks to Jeff Hellzen for pointing this out.
4057 Tue Sep 29 11:05:04 1998  David L. Levine  <levine@cs.wustl.edu>
4059         * ace/README: removed ACE_HAS_ONLY_TWO_PARAMS_FOR_ASCTIME_R_AND_CTIME_R
4060           because it is no longer used.  Thanks to Ossama for reporting this.
4062         * ace/config-fsu-pthread.h,config-mit-pthread.h,config-mvs.h,
4063           config-sco-5.0.0-mit-pthread.h,config-tandem.h,README:
4064           removed ACE_HAS_PTHREAD_DSTATE_PTR because it is no longer used.
4065           Thanks to Ossama for reporting this.
4067 Mon Sep 28 20:35:49 1998  Sergio Flores  <sergio@tango.cs.wustl.edu>
4069         * ace/Containers_T.h:
4070         * ace/Containers_T.cpp: Added begin () and end () to
4071           ACE_Unbounded_Queue.
4073 Mon Sep 28 16:06:05 1998  David L. Levine  <levine@cs.wustl.edu>
4075         * ace/OS.*,Object_Manager.{h,cpp}: removed ACE_HAS_TSS_EMULATION's
4076           support for ACE_HAS_NATIVE_KEYS.  Now, if ACE_HAS_TSS_EMULATION
4077           is used and ACE_HAS_THREAD_SPECIFIC_STORAGE is #defined, then
4078           the ACE TSS emulation will use one native TSS key.
4080           ACE_TSS_EMULATION may be useful even on platforms that
4081           have native thread specific storage.  It offers these
4082           advantages:
4084           1) ACE's TSS emulation offers a configurable number of TSS
4085              keys, via ACE_DEFAULT_THREAD_KEYS.  Most (all?) native TSS
4086              implementations have a fixed number of keys.  LynxOS 3.0.0,
4087              for example, only has three keys available to applications.
4089              ACE_DEFAULT_THREAD_KEYS defaults to 64, to match the
4090              number of native keys on Windows NT.
4092           2) ACE's TSS emulation recycles deleted keys.  Some native TSS
4093              implementations, such as POSIX Draft 4, POSIX Draft 6, and
4094              Solaris, do not allow deletion of TSS keys.  Therefore,
4095              unused keys cannot be recycled.
4097           3) ACE's TSS emulation calls destructors on TSS objects in the
4098              main thread.  Solaris' native TSS, for example, does not.
4100           There is one known drawback to using ACE's TSS emulation:  it is
4101           slower than using native TSS.  The performance penalty is
4102           probably negligible for most applications, however.  It involves
4103           just an additional function call, an array index, and three numeric
4104           comparisons beyond the native TSS call.  The function call is
4105           _not_ a virtual function call.  (On MVS, there's an additional
4106           memcpy of the TSS key with TSS emulation.)
4108           TSS emulation is enabled by default in the ACE configurations
4109           for VxWorks, pSOS, and LynxOS.
4111           Many thanks to Arturo Montes <mitosys@colomsat.net.co> for
4112           expanding TSS emulation to platform that have native TSS.
4114 Sun Sep 27 20:12:13 EDT 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
4116         * docs/tutorials/index.html: Linked in Tutorial 13
4118 Sun Sep 27 18:53:25 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
4120         * tests/Map_Manager_Test.cpp:
4121           Instead of clearing the capacity and size in the
4122           free_search_structure() method we do it on the close()
4123           method. The first method is also used in other places...
4125 Sun Sep 27 18:25:57 1998  David L. Levine  <levine@cs.wustl.edu>
4127         * ace/OS.i (readdir_r): added __USE_POSIX test for three-arg
4128           ::readdir_r ().  Thanks to james@tsunami.com for providing
4129           the patch.
4131 Sun Sep 27 09:35:04 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
4133         *  docs/tutorials/013/*
4134            Completed Tutorial 013!  The code is up to date and compilable on
4135            RedHat Linux with egcs 1.1.  It may need some template help on other
4136            platforms.  The HTML is done and in synch with the code.
4138 Sun Sep 27 01:52:36 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
4140         * ace/INET_Addr.cpp:
4141           The get_host_name() method was returning the first name, and not
4142           looking up in the alias list for the right match with the
4143           address.
4145 Sun Sep 27 00:18:48 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
4147         * ace/Makefile: Updated dependency.
4149         * ace/OS.cpp (invoke):
4150         * ace/Thread_Manager.cpp (ace_thread_manager_adapter):
4151           (ACE_Thread_Exit::instance): Removed conditional macro
4152           ACE_HAS_PTHREAD_SIGMASK so the Thread_Exit instance can be place
4153           in TSS.  This was guarded by ACE_HAS_PTHERAD_1003_DOT_3 which
4154           later merged with ACE_HAS_PTHERAD_SIGMASK.  However, the
4155           origianl intension of this condition was to fix a bug in Xavier
4156           pthread implementation.  The effect of merging the two macros
4157           forces ACE_Thread_Exit be allocated from stacks which, in turn,
4158           prevent threads from exiting properly when pthread_cancel is
4159           used.
4161           Linux is the only platform that I know which uses Xavier thread
4162           library.  The bug has apparently been fixed.  If your platform
4163           segfaults while spawning threads, please let me know.  Thanks to
4164           Chris Gill for noticing the abnormal behavior when calling
4165           ACE_Thread::thr_cancel.
4167 Sat Sep 26 23:20:52 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
4169         * ace/Proactor.cpp: Fixed the g++ warnings.
4171 Fri Sep 25 23:19:52 1998  David L. Levine  <levine@cs.wustl.edu>
4173         * ace/Sched_Params.cpp: use both ACE_HAS_STHREADS and
4174           ACE_HAS_PRIOCNTL.  With just ACE_HAS_PRIOCNTL, the
4175           min/max priority values weren't right on DU 4.0.  With
4176           this change, we're back to the strict POSIX interface
4177           on DU 4.0, and SunOS if ACE_HAS_STHREADS is not #defined.
4179 Fri Sep 25 21:58:35 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
4181         * ace/ACE.cpp (set_handle_limit): Added appropriate return value.
4183 Fri Sep 25 22:10:38 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
4185         * ace/Map_Manager.cpp:
4186           Map_Manager::close() did not reset the capacity or current size
4187           of the map.
4189 Fri Sep 25 18:24:17 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
4191         * ace/Proactor.{h,cpp}: Had to allow the definition of
4192           POSIX_COMPLETION_STRATEGY for the do-nothing constructor on
4193           NT.
4195 Fri Sep 25 18:07:19 EDT 1998   James CE Johnson  <jcej@lads.com>
4197         * A few more minor changes to docs/tutorials/013.  With luck, the
4198           HTML part will be done this weekend!
4200 Fri Sep 25 14:51:54 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
4202         * ace/Asynch_IO.h:
4203         * ace/Asynch_IO.cpp:
4204         * ace/Proactor.h:
4205         * ace/Proactor.cpp:
4206           Implemented Asynch_Accept to work for AIO_CONTROL_BLOCKS strategy of
4207           completion notification.
4209           Defined an auxillary Accept_Handler called ACE_AIO_Accept_Handler in
4210           addition to the ACE_Asynch_Accept_Handler. ACE_AIO_Accept_Handler
4211           holds the notification pipe and does a read on it to handle the
4212           <ACE_Asynch_Accept::Result> coming from Asynch_Accept_handler.
4214           THANKS to Doug and Irfan for suggesting this 'notification pipe' based
4215           implementation for AIO_CONTROL_BLOCKS strategy, so that Proactor will
4216           work on platforms where POSIX4 RT_Signals are broken (Solaris 2.6 !)
4218           Note : Proactor uses AIO_CONTROL_BLOACKS strategy by default on
4219           POSIX4 platforms. Call the constructor with RT_SIGNALS to enable
4220           Real Time singal implementation.
4222           This should become very easier when we finish organizing these
4223           files according to the Bridge pattern.
4225 Fri Sep 25 12:40:45 1998  David L. Levine  <levine@cs.wustl.edu>
4227         * ace/config-sunos5.{5,6}.h: removed #define/#undef of
4228           ACE_THR_PRI_FIFO_DEF.  They're no longer needed with the
4229           hard-coded ACE_THR_PRI_* values for Solaris in ace/OS.h.
4231         * ace/OS.i: removed carriage returns.  Thanks to Darrell
4232           for noticing it.
4234         * tests/Handle_Set_Test.cpp: removed ACE_Node<ACE_HANDLE>
4235           template instantiation because it conflicted with the
4236           ACE_Node<ACE_INT32> instantiation in ace/Stats.cpp.
4238         * docs/ACE-porting.html: updated "auto configure" link.  Thanks
4239           to Ossama for reporting this.
4241         * ace/ACE.cpp (set_handle_limit): on platforms with
4242           ACE_LACKS_RLIMIT or ! RLIMIT_NOFILE, don't use
4243           ACE_NOTSUP_RETURN if the new_limit is <= the cur_limit.
4244           On those platforms, the limit can't be changed anyways,
4245           and the request was _not_ to increase the limit.  So,
4246           it's a no-op; just return 0.
4248 Fri Sep 25 12:15:00 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
4250         * ace: The following ACE_TRACE calls being made during the
4251           creation of the ACE_Log_Msg instance.  The ACE_TRACE calls then
4252           try to create the ACE_Log_Msg instance which then ends up
4253           executing the ACE_TRACE's.  Etc, etc, etc...
4255           Here are the methods with the ACE_TRACEs that I commented out to
4256           get ACE to run:
4258           ACE_IPC_SAP::~ACE_IPC_SAP
4259           ACE_SOCK::ACE_SOCK
4260           ACE_SOCK::~ACE_SOCK
4261           ACE_SOCK_IO::ACE_SOCK_IO
4262           ACE_SOCK_IO::~ACE_SOCK_IO
4263           ACE_SOCK_Stream::ACE_SOCK_Stream
4264           ACE_SOCK_Stream::~ACE_SOCK_Stream
4265           ACE_Thread::keycreate
4266           ACE_Thread::setspecific
4267           ACE_Thread::getspecific
4269           Thanks to "Patrick J. McNerthney" <pat@cartia.com> for this bug
4270           report.
4272 Fri Sep 25 10:10:12 1998  Steve Huston  <shuston@riverace.com>
4274         * ace/OS.i (cond_timedwait): Add EINTR to the list of errno values
4275           that get changed to ETIME on wait timeout. EINTR is from LynxOS.
4276           Thanks to David Levine for this fix.
4278         * tests/Semaphore_Test.cpp: Remove the assertion that a timed out
4279           semaphore will return EINTR for ACE_HAS_PTHREADS_DRAFT4.  All
4280           platforms expect ETIME, which is normalized in
4281           ACE_OS::cond_timedwait.
4283 Thu Sep 24 22:31:30 1998  David L. Levine  <levine@cs.wustl.edu>
4285         * ace/OS.h: hard-coded the ACE_THR_PRI_* values on suns.
4286           SunOS 5.6 could use sched_get_priority_min/max () for FIFO
4287           and RR.  But for OTHER, it returns negative values, which
4288           can't be used.  And, sched_get_priority_min/max () aren't
4289           supported in SunOS 5.5.1.  It would really be helpful
4290           if SunOS defined PRI_FIFO_MIN, etc., in sched.h, but
4291           it doesn't, probably because its process scheduling is
4292           so flexible.  Thanks to Russ Noseworthy
4293           <rnosewor@objectsciences.com> for helping to figure this
4294           out.
4296 Thu Sep 24 17:54:26 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
4298         * ace/Asynch_IO.cpp:
4299           Removed duplicate instantiation of a template, IRIX does not
4300           like this. Thanks to Ossama Othman
4301           <othman@astrosun.tn.cornell.edu> because his configure script
4302           detected the Asynch I/O calls on IRIX and enabled this ACE
4303           code.
4305 Thu Sep 24 16:28:32 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
4307         * ace/config-win32-common.h: ACE_HAS_TEMPLATE_TYPEDEFS was defined
4308           for VC4.1 and VC4.2.  Template typedefs in Strategies_T.cpp
4309           broke the VC4.2 compiler.  Therefore, ACE_HAS_TEMPLATE_TYPEDEFS
4310           was deprecated for VC4.1 and VC4.2. I also checked VC5.0 and it
4311           didn't work.  Therefore, for the time being, none of the VC
4312           compilers support ACE_HAS_TEMPLATE_TYPEDEFS.  I didn't try
4313           VC6.0.
4315         * ace/Strategies_T.cpp (check_hint_i ): Changed the signature so
4316           that it is identical to find_or_create_svc_handler_i().  For
4317           some strange freakin reason, the VC4.2 could not gork
4318           check_hint_i() but was able to gork
4319           find_or_create_svc_handler_i.
4321         * ace/ACE_Library.mdp: Added Select_Reactor_Base.cpp and
4322           Container.cpp to make ACE build with VC4.2.
4324 Thu Sep 24 13:30:00 CDT 1998  Chris Gill <cdgill@cs.wustl.edu>
4326         * examples/Bounded_Packet_Relay/README
4327           examples/Bounded_Packet_Relay/Bounded_Packet_Relay.{dsp,dsw}
4329           Updated README, added in MSVC++ project, workspace files.
4331 Thu Sep 24 12:48:58 1998  David L. Levine  <levine@cs.wustl.edu>
4333         * ace/Containers_T.cpp (ACE_{Bounded,Fixed}_Set_Iterator::done),
4334           ace/Map_Manager.cpp (ACE_Map_Iterator_Base::done):
4335           added ACE_CAST_CONST to the static cast.  Thanks to Ossama for
4336           reporting a compilation failure on Sun C++ 4.2/Solaris 2.6
4337           without it.
4339         * ace/High_Res_Timer.cpp (global_scale_factor): on Linux,
4340           only use BogoMips if the CPU is an alpha.  It would also
4341           work directly on Pentium Pro, but not other Pentiums.  With
4342           a little effort, it could be made to work there, see the
4343           BogoMips mini-HOWTO.  Thanks to Ossama for enlightening me
4344           on this corner of Linux.
4346         * tests/Upgradable_RW_Test.cpp (main): delete dynamically
4347           allocated reader_tasks and writer_tasks, and arrays, at end of test.
4349 Thu Sep 24 09:17:32 1998  Steve Huston  <shuston@riverace.com>
4351         * ace/Containers_T.h: Added #include "ace/Containers.h" - AIX xlC
4352           needs this when instantiating templates.
4354         * ace/Dirent.cpp: Do the HP check using only compiler-defined
4355           preprocessor macros since config.h isn't included.
4357         * ace/OS.i: Fixed comments that referenced DCE threads.
4358           Changed readdir_r #ifdefs to handle pthreads drafts 4 and 6
4359           the same, and split HP-UX 10.x off as a non-conformant player.
4360           Thanks to David Levine for sorting this out with LynxOS.
4362         * ace/Thread_Manager.cpp: Changed occurrences of
4363           ACE_HAS_DCE_DRAFT4_THREADS to ACE_HAS_PTHREADS_DRAFT4.  Corrected
4364           a call to pthread_detach.  Changed a couple of calls to
4365           pthread_detach on HP-UX 10.x to duplicate the thread handle before
4366           the call because pthread_detach on HP-UX 10.x clears the handle
4367           and it was still needed.
4368           On AIX, xlC doesn't match the call to
4369           ACE_Thread::join(ACE_hthread_t, void ** = 0) correctly when the
4370           second arg is specified.  So call the 3-arg variety on AIX, knowing
4371           that the second arg is ignored underneath on pthreads.
4373 Wed Sep 23 22:13:04 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
4375         * docs/tutorials/006/server.cpp:
4376         Wrapped !defined(ACE_HAS_GNU_REPO) around the explicit template
4377         instantiation.
4379         * docs/tutorials/005/client_handler.cpp (handle_input):
4380         * docs/tutorials/006/client_handler.cpp (svc):
4381         * docs/tutorials/006/client_handler.cpp (handle_input):
4382         * docs/tutorials/007/client_handler.cpp (svc):
4383         * docs/tutorials/007/client_handler.cpp (handle_input):
4384         Use ACE_OS::memset() instead of direct call to memset()
4386         * docs/tutorials/005/Makefile:
4387         * docs/tutorials/007/Makefile:
4388         Touch .depend if it does not exist.
4390 Wed Sep 23 22:03:19 1998  Arturo Montes  <mitosys@colomsat.net.co>
4392       * ace/config-sco-5.0.0.h: added ACE_LACKS_READDIR_R.
4394 Wed Sep 23 14:26:44 EDT 1998  James CE Johnson <jcej@lads.com>
4396       * docs/tutorials/005/server.cpp
4397         docs/tutorials/006/server.cpp
4398         docs/tutorials/007/server.cpp
4399         docs/tutorials/008/Makefile
4400         docs/tutorials/009/Makefile
4401         docs/tutorials/013/Makefile
4402         docs/tutorials/013/block.cpp
4403         docs/tutorials/013/block.h
4404         docs/tutorials/013/data.h
4405         docs/tutorials/013/message_queue.cpp
4406         docs/tutorials/013/mld.cpp
4407         docs/tutorials/013/mld.h
4408         docs/tutorials/013/page01.html
4409         docs/tutorials/013/page02.html
4410         docs/tutorials/013/page03.html
4411         docs/tutorials/013/page04.html
4412         docs/tutorials/013/task.cpp
4413         docs/tutorials/013/task.h
4414         docs/tutorials/013/work.cpp
4415         docs/tutorials/013/work.h
4417         Fixed explicit template instantiaions in
4418         tutorials 5, 6, 7.
4420         Fixed a nasty bug in 9's Makefile (and removed
4421         similar comment in 8's Makefile)
4423         Preliminary version of 013 committed.  The code
4424         worked before I began "optimizing" and should work
4425         again in a couple of days.  The HTML is not yet
4426         done but will be by the weekend (I hope).
4428 Wed Sep 23 12:15:21 1998  David L. Levine  <levine@cs.wustl.edu>
4430         * ace/Stats.*: modified standard deviation calculation to
4431           help avoid overflow.  Instead of keep running totals of
4432           the sum and sum of squares, it stores each sample in an
4433           dynamic structure.  Then, to calculate the standard
4434           deviation, each sample is compared with the mean.
4436         * ace/Sched_Params.cpp: replace ACE_HAS_STHREADS with
4437           ACE_HAS_PRIOCNTL.  Thanks to Ossama for pointing this out.
4439         * ace/Synch.h: replaced #endif /* ACE_HAS_STHREADS */ with
4440           #endif /* 0 */.
4442         * performance-tests/TTCP/{ACE-C++,C,Orbix}/Makefile: removed
4443           old Quantify LINK_COMMANDs.  They don't look like they're used
4444           anywhere.
4446         * include/makeinclude/wrapper_macros.GNU: removed -DACE_QUANTIFY
4447           and -Dquantify, with quantify=1, because they're no longer used.
4449         * ace/OS.h,README: added ACE_LACKS_CMSG_DATA_{MACRO/MEMBER} support.
4450           It will be used by autoconf, for Linux libc5 (pre-libc).  Thanks
4451           to Ossama for supplying it.
4453         * ace/config-g++-common.h: disable ACE_HAS_TEMPLATE_SPECIALIZATION
4454           with g++ 2.9.  Thanks to Andrew G. Harvey <agh@cisco.com> for a
4455           problem with compiling ace/Filecache.cpp with g++ 2.9 on SunOS 5.5.1.
4457         * tests/Upgradeable_RW_Test.h: replaced ACE_Thread_Mutex with
4458           ACE_SYNCH_MUTEX.  Thanks to Ossama for reporting this.
4460         * ace/config-linux-common.h: commented out the msg_accrights(len)
4461           #defines.  Thanks to Ossama for noticing that they just don't
4462           look right.  They no longer appear to be necessary on Linux.
4464 Wed Sep 23 11:30:00 CDT 1998  Chris Gill <cdgill@cs.wustl.edu>
4466         * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp}
4467           examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp}
4468           examples/Bounded_Packet_Relay/BPR_Drivers_T.{h,cpp}
4470           Fixed memory leaks uncovered by Purify, added large high water mark
4471           for packet relay's underlying message queue.
4473 Wed Sep 23 11:28:13 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
4475         * bin/Process_Unix.pm:
4476           If the exec() call fails we report the name and the arguments of
4477           the program.
4479 Wed Sep 23 09:27:21 1998  Steve Huston  <shuston@riverace.com>
4481         * ace/Dirent.cpp: Fixed aCC workaround from 22-Sep so that only
4482           non-g++ compilers on HP-UX see it.
4484 Wed Sep 23 02:21:24 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
4486         * ACE version 4.5.42 released.
4488 Tue Sep 22 21:34:31 1998  Steve Huston  <shuston@riverace.com>
4490         * ace/Dirent.cpp: Make aCC quit yacking about an empty translation
4491           unit.
4493         * ace/OS.i: Fix up the conditions for readdir_r on differing pthreads
4494           drafts.
4496         * ace/config-aix-4.2.x.h: Added ACE_HAS_DIRENT.
4498 Tue Sep 22 21:00:00 CDT 1998  Chris Gill <cdgill@cs.wustl.edu>
4500         * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp}
4501           examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp}
4502           examples/Bounded_Packet_Relay/BPR_Drivers_T.{h,cpp}
4503           examples/Bounded_Packet_Relay/bpr_thread.cpp:
4505           More fixes from testing on NT, added more logging features.
4507 Tue Sep 22 17:07:17 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
4509         * tests/Message_Queue_Notifications_Test.cpp (Watermark_Test):
4510           Repositioned a comma so it compiles on non-threaded platforms.
4511           Thankd to Ossama for noticing this.
4513 Tue Sep 22 17:20:53 1998  James Hu <jxh@entera.com>
4515         * ace/Containers_T.{h,i}:
4516           Added a remove method to the ACE_DLList_Iterator.  This is
4517           needed since ACE_DLList is actually an abstraction over
4518           ACE_Double_Linked_List, so the user of ACE_DLList does not hold
4519           the address of the "real" node that ACE_Double_Linked_List is
4520           managing.
4522 Tue Sep 22 16:07:53 1998  Steve Huston  <shuston@riverace.com>
4524         * bin/Makefile: Will now only build envinfo if make is invoked
4525           with "envinfo=1".  The difference is needed to allow clone to be
4526           built before ACE has been built.
4528 Tue Sep 22 13:58:06 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
4530         * ace/config-irix6.x-g++.h:
4531           Added some missing defines, thanks to JM Strauss
4532           <jms97@club-internet.fr> for pointing them out. Also fixed a
4533           test for the N32 ABI, it said _NABI32 and should be _ABIN32.
4535 Tue Sep 22 11:42:17 1998  David L. Levine  <levine@cs.wustl.edu>
4537         * ace/config-lynxos.h: added ACE_HAS_POWERPC_TIMER with
4538           __powerpc__, but commented it out because it requires an OS patch.
4540         * ace/OS.i (fstat): put a :: in front of the call to the
4541           system fstat if it's not defined as a macro.  Thanks to
4542           Ossama for reporting that MM_Shared_Memory_Test failed
4543           otherwise.
4545 Tue Sep 22 10:58:04 1998  Ossama Othman <othman@astrosun.tn.cornell.edu>
4547         * ace/OS.i (ACE_cond_t::waiters): only define this function if
4548           ACE_HAS_THREADS.
4550           Testing the autoconf integration on a Linux libc5 system w/o
4551           threads caused me problems since ACE_LACKS_COND_T gets
4552           defined by the configure script automatically since no
4553           condition variable support was found.  The ACE_cond_t class
4554           appears to only get defined if ACE_HAS_THREADS is defined,
4555           otherwise ACE_cond_t is typedefed to an int.  For
4556           this reason, I thought that it would be a good idea to make
4557           the above modification to prevent compile time errors on
4558           platforms without threads and when ACE_LACKS_COND_T is
4559           defined on those platforms.
4561 Tue Sep 22 03:09:07 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
4563         * ACE version 4.5.41 released.
4565 Tue Sep 22 00:31:26 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
4567         * ace/Log_Record.cpp (print): Make sure that the process id and
4568           timestamp are fixed width.  Thanks to Valery Arkhangorodsky
4569           <avalery@geocities.com> for this fix.
4571 Mon Sep 21 22:54:44 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
4573         * examples/Bounded_Packet_Relay: Removed a gratuitous
4574           parameterized type which was causing problems for SunC++.
4576 Mon Sep 21 21:47:12 1998  David L. Levine  <levine@cs.wustl.edu>
4578         * ace/README: added ACE_HAS_PURIFY and ACE_HAS_QUANTIFY.
4580         * include/makeinclude/wrapper_macros.GNU: added ACE_HAS_PURIFY
4581           and ACE_HAS_QUANTIFY support.  We should use these consistently.
4582           In addition, added -I support for Purify and Quantify.
4583           This support should no longer appear in individual Makefiles.
4585         * ACE-INSTALL.html: added paragraph on Purify/Quantify support
4586           details, i.e., they must be on your PATH, and ACE puts the
4587           instrumented libraries below /tmp by default.
4589 Mon Sep 21 20:46:00 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
4591         * ace/Containers_T.cpp (ACE_Double_Linked_List): Changed
4592           dynamic_cast to static_cast.
4594 Mon Sep 21 18:35:00 CDT 1998  Chris Gill <cdgill@cs.wustl.edu>
4596         * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp}
4597           examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp}
4598           examples/Bounded_Packet_Relay/BPR_Drivers_T.{h,cpp} (new)
4599           examples/Bounded_Packet_Relay/bpr_thread.cpp:
4601           Factored out templates into separate files, fixed initialization,
4602           concurrency, and deadlock problems found in NT testing.
4604 Mon Sep 21 18:27:19 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
4606         * tests/Conn_Test.cpp: g++ cannot gork templates typedefs.
4608 Mon Sep 21 15:48:34 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
4610         * ace/Acceptor: It's now possible to select if you want to reuse
4611           the PEER_ACCEPTOR addr.  Thanks to Chuck Gehr for suggesting
4612           this.
4614 Mon Sep 21 15:00:34 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
4616         * ace/Thread_Manager.{h,cpp} (join): Allow passing back of thread's
4617           exit status of the thread being joined.
4619 Mon Sep 21 11:24:33 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
4621         * docs/ACE-categories.html (HREF): Updated the links to ace/ and
4622           man/ since we moved the file around.  Thanks to Byron Harris for
4623           reporting this.
4625 Mon Sep 21 10:22:17 1998  Steve Huston  <shuston@riverace.com>
4627         * ace/Select_Reactor_T.cpp (handle_error): Check handles for all
4628           errors (not just EBADF) on Win32, in addition to MVS.  Thanks
4629           to Xu Yifeng <xuyifeng@www.kali.com.cn> for this fix.
4631 Mon Sep 21 01:27:19 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
4633         * ace/Strategies_T.cpp (find_or_create_svc_handler_i): g++ cannot
4634           gork templates...
4636         * tests/Conn_Test.cpp: Fixed template instantiations.
4638         * ace/Strategies_T.cpp (ACE_Cached_Connect_Strategy): New methods
4639           find_or_create_svc_handler_i and check_hint_i to simplify
4640           connect_svc_handler. Also added _i methods to implement
4641           non-locking versions.
4643         * ace/Strategies.h (ACE_Connection_Recycling_Strategy):
4644           New methods: mark_as_close and cleanup_hint.
4646         * ace/Strategies: Added three new classes: ACE_Recyclable,
4647           ACE_Hashable, and ACE_Refcountable.  Also added
4648           ACE_Refcounted_Hash_Recyclable. Deprecated ACE_Recyclable<T> and
4649           ACE_Hash_Recyclable<T>
4651         * ace/Svc_Handler.h (cleanup_hint): Added new method.  This can be
4652           used by users when they are through with using the svc_handler
4653           as a hint.
4655 Mon Sep 21 00:40:00 CDT 1998  Chris Gill <cdgill@cs.wustl.edu>
4657         * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp}
4658           examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp}
4659           examples/Bounded_Packet_Relay/bpr_thread.cpp
4660           examples/Bounded_Packet_Relay/README:
4662           Reorganized construction of input and output device objects
4663           and the relay object, cleaned up readme file.
4665 Sun Sep 20 22:01:00 CDT 1998  Chris Gill <cdgill@cs.wustl.edu>
4667         * examples/Bounded_Packet_Relay/BPR_Drivers.h:
4669           Made Bounded_Packet_Relay_Driver::display_menu (void) pure virtual:
4670           now it all compiles *and* links.
4672 Sun Sep 20 21:49:00 CDT 1998  Chris Gill <cdgill@cs.wustl.edu>
4674         * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp}
4675           examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp}
4677           Fourth checkin of bounded packet relay example: compiles.
4679 Sun Sep 20 20:41:29 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
4681         * ace/Acceptor.{h,cpp}: Added an extra argument to constructors of
4682           ACE_Strategy_Acceptor and open method so that we can accept only
4683           one connection request every time handle_input is called.
4685 Sun Sep 20 20:30:36 1998  Marina Igorevna Spivak  <marina@mambo.cs.wustl.edu>
4687         * ace/OS.h : added ACE_GUARD_THROW, ACE_GUARD_THROW_RETURN,
4688           ACE_NEW_TRY_THROW, ACE_NEW_TRY_THROW_RETURN macros to utilize
4689           new exceptions macros.
4691 Sun Sep 20 19:18:00 CDT 1998  Chris Gill <cdgill@cs.wustl.edu>
4693         * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp}
4694           examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp}
4695           examples/Bounded_Packet_Relay/README
4697           Third checkin of bounded packet relay example,
4698           addressed remaining coding style issues.
4699           (very rough, still does not compile)
4701 Sun Sep 20 16:38:17 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
4703         * ace/Thread_Manager.i (get_next): Changed to use static_cast.
4705         * ace/Thread_Manager.cpp: Shielded off terminated_thr_list_ from
4706           compilation on VxWorks.  Thanks to David for noticing this.
4708 Sun Sep 20 12:17:00 CDT 1998  Chris Gill <cdgill@cs.wustl.edu>
4710         * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp}
4711           examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp}
4713           Second checkin of bounded packet relay example,
4714           addressed several coding style issues.
4715           (very rough, still does not compile)
4717 Sun Sep 20 11:25:52 1998  David L. Levine  <levine@cs.wustl.edu>
4719         * ace/OS.h: with ACE_HAS_TSS_EMULATION, use u_long instead of
4720           u_int for ACE_thread_key_t.  This avoids overload ambiguity
4721           on platforms that typedef pthread_key_t to u_int.  We'll be
4722           in trouble if we try on one that uses u_long.  In that case,
4723           we could try u_short, or added an ACE_HAS.
4725         * ace/Thread_Manager.i (register_as_terminated): neutered on VxWorks,
4726           so that it will compiled.
4728         * tests/SOCK_Connector_Test.cpp (host_is_up): don't define
4729           this function ifdef ACE_LACKS_GETHOSTENT, because it isn't
4730           used in that case.
4732 Sat Sep 19 14:29:56 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
4734         * ace/OS.i (fstat): Removed the "::" in front of the fstat() call
4735           since it's implemented as a macro on some platforms.  Thanks to
4736           Frank Adcock <frank@bushlife.com.au> for reporting this.
4738         * examples/Bounded_Packet_Relay: Updated the coding style.
4740 Sat Sep 19 14:06:52 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
4742         * apps/JAWS/PROTOTYPE/JAWS/IO.cpp: Fixed typo.
4744         * apps/JAWS/PROTOTYPE/JAWS/jaws.dsp:
4745         * apps/gperf/src/gperf.dsp:
4746         * ace/ace_dll.dsp:
4747         * netsvcs/clients/Naming/Client/Client_Test.dsp:
4748         * netsvcs/lib/netsvcs.dsp:
4749           Changed behavior of all DLL projects and utilities (like
4750           gperf) to put the dll and executables in $ACE_ROOT/bin.
4752         * ace/config-win32.h: ACE_HAS_GPERF is back.
4754         * ACE-INSTALL.html: On NT, $ACE_ROOT/bin should now be in
4755           your path instead of $ACE_ROOT/ace.
4757 Sat Sep 19 12:27:31 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
4759         * ace/Asynch_IO.cpp: thread_function() is only for UNIX.
4761 Sat Sep 19 10:43:41 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
4763         * ace/Asynch_IO.cpp (open): Fixed the build errors with WIN32.
4765 Sat Sep 19 09:02:00 CDT 1998  Chris Gill <cdgill@cs.wustl.edu>
4767         * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.{h,cpp}
4768           examples/Bounded_Packet_Relay/BPR_Drivers.{h,cpp}
4769           examples/Bounded_Packet_Relay/bpr_thread.cpp
4770           examples/Bounded_Packet_Relay/Makefile
4771           examples/Bounded_Packet_Relay/README:
4773           First checkin of bounded packet relay example
4774           (very rough, does not even compile yet)
4776 Sat Sep 19 00:42:53 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
4778         * ace/Asynch_IO.cpp: Fixed NT warnings (hopefully :-)
4780 Fri Sep 18 22:50:21 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
4782         * ace/Thread_Manager.{h,i,cpp}: Added a join method to reclaim
4783           OS/ACE resources that are used to managed thread object.  I
4784           encourage all ACE programmers to use ACE_Thread_Manager::join to
4785           wait for threads spawned by ACE_Thread_Manager.  It is more
4786           portable than ACE_Thread (most significantly, wrt resource
4787           management.)
4788           (wait_grp,wait_task):  Improved and corrected the
4789           implementations.  These two methods now also clean up resources
4790           used by threads that has already terminated when the calls get
4791           invoked.
4793           Changed the terminated_thr_queue_ to terminated_thr_list_ which
4794           is now a double-linked list.  This change allows us to
4795           gather/cleanup infomation of threads belong to same group/task
4796           in one pass.
4798           ACE_Thread_Manager::exit now tests the thread status to see if
4799           ACE_THR_JOINING is set or not.  If set, it means the thread is
4800           being joined by join/wait_grp/wait_task and avoid double
4801           removing the thread resources from OS.
4803         * ace/OS.h (ACE_Thread_State): Added ACE_THR_JOINING to identify
4804           threads that are being joined by the Thread Manager.
4806         * ace/Container_T.{h,cpp} (ACE_Double_Linked_List): Added several
4807           dynamic_cast in several places so we can generate code for both
4808           base class and derived class.
4809           (ACE_Double_Linked_List_Iterator): Added a method
4810           "advance_and_delete" to allow removing double-linked list
4811           element while iterating thru the list.  The design is very
4812           intrusive and you should know what you are doing before using
4813           the method.  Notice that ACE_Double_Linked_List is _not_ a
4814           general purpose Container class.
4816         * tests/run_tests.bat: Added DLList_Test.
4818 Fri Sep 18 18:06:19 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
4820         * ace/Asynch_IO.h:
4821         * ace/Asynch_IO.cpp:
4822         * examples/Reactor/Proactor/test_proactor.cpp:
4823         Implemented Asynch_Accept for POSIX4 systems, by having only one
4824         thread doing <handle_events>. Asynch_Accept_Handler has been
4825         changed to act as Event Handler now. No problem of having threads
4826         blocking on the <accept> now.  Thanks to Irfan for this idea.
4828 Fri Sep 18 13:26:50 1998  David L. Levine  <levine@cs.wustl.edu>
4830         * tests/High_Res_Timer_Test.cpp (check): raised success
4831           threshold from 10 to 25 percent.  Ossama saw just over
4832           10 percent on an Linux box, not surprising.  Thanks to
4833           him for reporting it.
4835         * ace/SOCK_Dgram_Mcast.cpp (unsubscribe): on other than ACE_WIN32,
4836           added ACE_UNUSED_ARGs for protocol_family and protocol.  Thanks
4837           to Peter Liqun Na <liqunna@cs.sunysb.edu> for reporting this.
4839         * ace/OS.cpp (ACE_TSS_Emulation_cleanup): added ACE_UNUSED_ARG (ptr).
4841         * bin/make-release: enter version number(s) into BUG-REPORT-FORM.
4842           Thanks to Steve for this suggestion.
4844 Fri Sep 18 01:53:38 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
4846         * ACE version 4.5.40 released.
4848 Fri Sep 18 01:51:46 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
4850         * ace/ACE (open_temp_file): Changed the signature of this method
4851           to take a const char * rather than a char *.
4853 Fri Sep 18 00:07:31 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
4855         * ace/ACE.h (ACE):
4856         * ace/ACE.cpp (open_temp_file): Added this method to do open for
4857         the temp files, so that they will get deleted when they are
4858         closed.
4859         Thanks to Nanbor and Carlos.
4861 Thu Sep 17 23:01:50 1998  David L. Levine  <levine@cs.wustl.edu>
4863         * ace/Containers.i: resurrected the file properly.
4865         * ace/Containers.i (~ACE_DLList_Node): removed extraneous ;
4866           following function definition.
4868 Thu Sep 17 22:44:17 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
4870         * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: If the client
4871           doesn't connect to the server, make sure to shut down the test
4872           gracefully, rather than getting a segfault.  Thanks to
4873           Margherita Vittone Wiersma <vittone@fndaub.fnal.gov> for
4874           reporting this.
4876 Thu Sep 17 22:33:00 1998  James CE Johnson  <jcej@chiroptera.tragus.org>
4878         * docs/tutorials/index.html
4879           docs/tutorials/templates.html
4881           Added templates.html to discuss issues surrounding manual vs
4882           automatic template instantiation.
4884 Thu Sep 17 20:01:33 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
4886         * tests/tests.dsw:
4887         * tests/version_tests.dsw:
4888         * tests/[version_tests/]High_Res_Timer_Test.dsp:
4889         * tests/[version_tests/]DLList_Test.dsp: Added new project files.
4891 Thu Sep 17 19:27:11 1998  David L. Levine  <levine@cs.wustl.edu>
4893         * ace/OS.cpp (TSS_base,some ACE_PSOS_Time_t functions):
4894           removed ACE_INLINE.
4896         * examples/Shared_Malloc/test_malloc.cpp (gen_size): cast
4897           &seed to unsigned long first, to avoid warning about
4898           narrowing on Alphas (cxx/DU 4.0).
4900 Thu Sep 17 18:51:08 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
4902         * examples/Reactor/Multicast/server.cpp:
4903         * examples/Reactor/Multicast/Log_Wrapper.cpp:
4904         * examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp:
4905           Revert back to iovec instead of ACE_IO_Vector.
4907 Thu Sep 17 18:33:19 EDT 1998  James CE Johnson  <jcej@lads.com>
4909         * docs/tutorials/002/server.pp
4911           Added necessary templates for explicit instantiation.
4912           Thanks to Krishna Padmasola for providing the proper code
4913           and to Clinton Carr for reminding me to do it!
4915 Thu Sep 17 16:30:00 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
4917         * This comments were lost in a previous commit.
4919         * ace/OS.h:
4920         * ace/OS.i:
4921         * ace/ACE.cpp:
4922         * ace/ACE.h:
4923         * ace/DEV_IO.cpp:
4924         * ace/DEV_IO.h:
4925         * ace/DEV_IO.i:
4926         * ace/FIFO_Send_Msg.cpp:
4927         * ace/FILE_IO.cpp:
4928         * ace/FILE_IO.h:
4929         * ace/FILE_IO.i:
4930         * ace/LSOCK.cpp:
4931         * ace/LSOCK_Stream.cpp:
4932         * ace/LSOCK_Stream.h:
4933         * ace/SOCK_Dgram.cpp:
4934         * ace/SOCK_Dgram.h:
4935         * ace/SOCK_Dgram_Bcast.cpp:
4936         * ace/SOCK_Dgram_Bcast.h:
4937         * ace/SOCK_Dgram_Mcast.h:
4938         * ace/SOCK_Dgram_Mcast.i:
4939         * ace/SOCK_IO.cpp:
4940         * ace/SOCK_IO.h:
4941         * ace/SOCK_IO.i:
4942         * ace/SPIPE_Stream.cpp:
4943         * ace/SPIPE_Stream.h:
4944         * ace/SPIPE_Stream.i:
4945           Moved back to iovec instead of ACE_IO_Vector. Since this
4946           structure is defined by ACE we can make it binary compatible
4947           with the WSABUF structure (yet preserve the names of the UNIX
4948           iovec struct).  This allow us to simply pass arrays of iovec to
4949           routines expecting WSABUF*.
4950           But Win32 does not provide any functions to go scatter-gather
4951           over files, so this is only used for sockets, new methods:
4952           ACE_OS::sendv() and ACE_OS::recvv() were added for this
4953           purpose, the old emulation is used for the other classes. Users
4954           writing to higher-level components (such as ACE_SOCK or
4955           ACE_SOCK_Dgram) will benefit from this without any changes to
4956           their code.
4958         * ace/SOCK_Dgram.cpp:
4959         * ace/SOCK_Dgram.h:
4960         * ace/SOCK_Dgram_Bcast.cpp:
4961         * ace/SOCK_Dgram_Bcast.h:
4962         * ace/SOCK_Dgram_Mcast.h:
4963         * ace/SOCK_Dgram_Mcast.i:
4964           Added the implementation for some send() variants that were
4965           declared but not implemented.
4967         * ace/OS.h:
4968         * ace/OS.i:
4969         * ace/config-win32-common.h:
4970           Added support for sendmsg() and recvmsg() on NT, emulated over
4971           WSASendTo() and WSARecvFrom(), do data copies are made.
4973         * ace/Containers.cpp:
4974         * ace/Containers.h:
4975         * ace/Containers_T.h:
4976         * ace/Containers_T.i:
4977           Moved the non-templated code back to Containers.{h,i,cpp}, added
4978           the infamous ACE_Export macro.
4980         * ace/ace_dll.dsp:
4981           Added Containers.cpp to the project.
4983 Thu Sep 17 11:23:49 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
4985         * ace/OS: Modified ACE_THR_FUNC so that its signature is always
4986           void *(*)(void *).  We now have a new type called
4987           ACE_THR_FUNC_INTERNAL that is defined for each different OS
4988           platform, e.g., VxWorks, pSoS, et al.
4990         * examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp (run_server): Oops,
4991           we can't use ACE_THR_FUNC here since that has a different
4992           signature on VxWorks.  So we'll just expand this a bit.  Thanks
4993           to Raja Ati <rati@jupiter.montereynets.com> for reporting this.
4995 Thu Sep 17 09:54:56 1998  David L. Levine  <levine@cs.wustl.edu>
4997         * ace/Svc_Handler.cpp (new): cleaned up the ACE_ASSERT check
4998           for ACE_Dynamic::instance () not being null.
5000         * docs/ACE-guidelines.html: added guideline to define ACE_
5001           typedefs to reduce the number of #ifdefs.  Thanks to
5002           Carlos and Doug for this suggestion, and Chris for the
5003           example :-).
5005         * examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp (run_event_loop):
5006           added casts to ACE_THR_FUNC to please VxWorks.  Thanks to
5007           Raja Ati <rati@montereynets.com> for reporting this problem.
5009           It would probably be better to change the definition of
5010           ACE_THR_FUNC on VxWorks (and PSOS) to be the same as on
5011           other platforms.  That will require other changes, though.
5013         * examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp:
5014           removed trailing ; from instantiation #pragma.
5016         * ace/config-lynxos.h: added ACE_HAS_TSS_EMULATION.
5018 Thu Sep 17 09:23:01 1998  Carlos O'Ryan  <coryan@JIG>
5020         * ace/FIFO_Send_Msg.cpp:
5021           Fixed variable declaration, "struct ACE_IO_Vector_Base" is not
5022           the same as "ACE_IO_Vector_Base".
5024         * ace/OS.i:
5025           Fixed the ACE_OS::rand_r() signature for Win32.
5027         * ace/SOCK_Dgram_Mcast.cpp:
5028           Fixed some problems with the Win32 implementation of
5029           unsubscribe().
5031 Thu Sep 17 08:41:14 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
5033         * examples/Shared_Malloc/test_malloc.cpp:
5034           Fixed some problems with my changes to rand_r()
5036         * ace/Containers.i:
5037           Resurrected this file to avoid problems with dependencies in
5038           TAO.
5040 Thu Sep 17 08:41:24 1998  Steve Huston  <shuston@riverace.com>
5042         * include/makeinclude/platform_hpux_gcc.GNU: Added -L. to LDFLAGS.
5043           Thanks to Anne Blankert <anne@geodan.nl> for this fix.
5045 Thu Sep 17 07:31:13 1998  David L. Levine  <levine@cs.wustl.edu>
5047         * ace/OS.i (truncate): added ACE_UNUSED_ARGs for NOTSUP case.
5049 Thu Sep 17 02:45:53 PDT 1998  James Hu  <jxh@entera.com>
5051         * ace/Containers_T.h:
5052         * ace/Containers_T.i:
5053         * ace/Containers_T.cpp:
5054           Added these files so that I could include some explicit
5055           template instantiations inside Containers.cpp.  Removed
5056           #if guards around ACE_DLList since it no longer relies
5057           on the feature that was being guarded against.
5059         * ace/Containers.h:
5060           Simply #includes Containers_T.h.
5062         * ace/Containers.cpp:
5063           Only contains some explicit template instantiations.
5065         * ace/Containers.i:
5066           Removed, since it was no longer needed.
5068 Thu Sep 17 01:20:53 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
5070         * ace/Msg_WFMO_Reactor.cpp (dispatch_window_messages): There was a
5071           slight problem in Msg_WFMO_Reactor.cpp when ACE coexists with
5072           MFC.  Basically the dispatch_window_messages routine simply
5073           returns -1 when the WM_QUIT message is received.  However, if
5074           the WFMO_Reactor and the MFC application run on the different
5075           threads the main thread would never shut down since it just keep
5076           waiting forever for the Quit message from other threads.  The
5077           easiest way to fix the above problem to call PostQuiteMessage
5078           when WM_QUIT is received by WFMO_Reactor.
5080           Thanks to Hongbo Xu <hxu@mas.co.nz> for fixing this.
5082         * ace/OS.i (open): No need to find the file size since
5083           SetFilePointer supports FILE_END.  Also fixed the UNICODE
5084           version of ACE_OS::open().
5086 Wed Sep 16 22:52:44 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
5088         * examples/Reactor/Multicast/server.cpp:
5089         * examples/Reactor/Multicast/Log_Wrapper.cpp:
5090         * examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp:
5091           Use ACE_IO_Vector instead of iovec because it is more portable.
5093 Wed Sep 16 22:17:54 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
5095         * ace/OS.h:
5096         * ace/DEV_IO.cpp:
5097         * ace/DEV_IO.h:
5098         * ace/DEV_IO.i:
5099         * ace/FIFO_Send_Msg.cpp:
5100         * ace/FILE_IO.cpp:
5101         * ace/FILE_IO.h:
5102         * ace/FILE_IO.i:
5103         * ace/LSOCK.cpp:
5104         * ace/LSOCK_Stream.cpp:
5105         * ace/LSOCK_Stream.h:
5106         * ace/SOCK_Dgram.cpp:
5107         * ace/SOCK_Dgram.h:
5108         * ace/SOCK_Dgram_Bcast.h:
5109         * ace/SOCK_Dgram_Mcast.cpp:
5110         * ace/SOCK_Dgram_Mcast.h:
5111         * ace/SOCK_Dgram_Mcast.i:
5112         * ace/SOCK_IO.cpp:
5113         * ace/SOCK_IO.h:
5114         * ace/SOCK_IO.i:
5115         * ace/SPIPE_Stream.cpp:
5116         * ace/SPIPE_Stream.h:
5117         * ace/SPIPE_Stream.i:
5118           More iovec to ACE_IO_Vector_Base conversion.
5120         * ace/Containers.i:
5121           The ACE_DLList_Node and ACE_DLList_Iterator class are protected
5122           by a !defined (ACE_LACKS_TEMPLATE_AS_TEMPLATE_PARAMETER), so
5123           should be their inline methods.
5125         * ace/SOCK_Dgram_Mcast.cpp:
5126         * ace/SOCK_Dgram_Mcast.h:
5127         * ace/SOCK_Dgram_Mcast.i:
5128           Added a generic unsubscribe() method.
5130 Wed Sep 16 21:45:48 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
5132         * ace/ACE.{h.cpp}: Changed some iovecs to ACE_IO_Vector_Base.
5134         * ace/config-win32.h: Commented out ACE_HAS_GPERF until we get
5135           everything working with it.
5137 Wed Sep 16 21:43:07 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
5139         * ace/OS.i (open): Added SetFilePointer to move the file pointer
5140           of the opened file to end of file if _O_APPEND is specified on
5141           Win32.
5143 Wed Sep 16 20:42:16 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5145         * ace/OS: Added a typedef for ACE_IO_Vector_Base so that it will
5146           shield the differences between Win32 and UNIX.
5148 Wed Sep 16 20:09:01 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
5150         * ace/OS.h:
5151         * ace/OS.i:
5152           ACE_OS::rand_r() is easier to use now. Just define a variable of
5153           that type and invoke ACE_OS::rand_r() with it, it even works on
5154           broken platforms that define it as a non-pointer.
5155           This is a brief example on how to use it:
5156           ACE_RANDR_TYPE seed;
5157           int r1 = ACE_OS::rand_r (seed);
5158           int r2 = ACE_OS::rand_r (seed);
5160 Wed Sep 16 17:46:23 PDT 1998  James Hu <jxh@entera.com>
5162         * ace/Containers.{h,i}: Added comments to DLList as per Doug's
5163           request.
5165 Wed Sep 16 19:23:21 1998  Steve Huston  <shuston@riverace.com>
5167         * ace/config-hpux-11.x-hpc++.h: Moved ACE_HAS_DIRENT to config-hpux11.h
5169 Wed Sep 16 18:21:45 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5171         * ace/Containers.h: Reformatted the ACE_DLList* classes to conform
5172           to ACE programming conventions.
5174         * ace/config-hpux-11.x-hpc++.h: Added ACE_HAS_DIRENT and
5175           ACE_HAS_GPERF to appease John Mulhern.
5177         * ace/Asynch_Acceptor.cpp: Added ACE_reinterpret_cast()s to the
5178           sockaddr *'s to appease aCC on HP/UX 11.  Thanks to John Mulhern
5179           for reporting this.
5181 Wed Sep 16 17:16:51 EDT 1998   James CE Johnson    <jcej@lads.com>
5183         * docs/tutorials/012/Makefile
5184           docs/tutorials/012/data.h
5185           docs/tutorials/012/message_queue.cpp
5186           docs/tutorials/012/page01.html
5187           docs/tutorials/012/page02.html
5188           docs/tutorials/012/page03.html
5189           docs/tutorials/012/page04.html
5190           docs/tutorials/012/page05.html
5191           docs/tutorials/012/page06.html
5192           docs/tutorials/012/task.cpp
5193           docs/tutorials/012/task.h
5194           docs/tutorials/index.html
5196           Tutorial 12.  This corrects some of the nastyness
5197           in number 11 by specializing the ACE_Message_Block
5198           to carry around the data.
5200 Wed Sep 16 16:01:53 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
5202         * ace/Select_Reactor_T.{h,i,cpp}: Disable inlining in
5203           Select_Reactor_T.i and always include them in .cpp file.  The
5204           latest version of SunCC can't grok this particular file and we
5205           just turn it off here.  We shall turn it back on once the
5206           problem gets fixed.  Thanks to Keith Brown
5207           <kalbrown@ix.netcom.com> for providing this temporary fix.
5209 Wed Sep 16 13:41:50 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5211         * ace/OS.h: Added more protection for the semun definition, i.e.,
5212           (defined (__GLIBC__) && defined (_SEM_SEMUN_UNDEFINED)).  This
5213           fixes problems with Linux, GLIBC 2.1, and PGCC.  Thanks to
5214           Marc Lehmann <pcg@goof.com> for reporting this.
5216 Wed Sep 16 11:41:57 1998  David L. Levine  <levine@cs.wustl.edu>
5218         * ace/High_Res_Timer.cpp: added ACE_HAS_POWERPC_TIMER support.
5220         * tests/High_Res_Timer_Test.cpp: added this new test.
5222         * tests/Makefile,run_tests.{bat,psosim,sh,vxworks}:
5223           added High_Res_Timer_Test.
5225         * ace/OS.* (readPPCTimer): unlined readPPCTimer for
5226           PowerPC.  If it was called more than once in a
5227           compilation unit, when inlined, the assembler complained
5228           about multiple definitions of the aclock symbol.
5230         * ace/Malloc_T.cpp (dump): fixed typo, cb_ptr instead of
5231           cp_ptr.  Thanks to Umar Syyid <usyyid@hns.com> for reporting this.
5233         * tests/TSS_Test.cpp (worker): allow second group of TSS keys to
5234           be allocated, with TSS emulation.
5236         * ace/Svc_Handler.cpp (new): added check that
5237           ACE_Dynamic::instance () is non-null before dereferencing it.
5238           ACE_ASSERT/return 0 if it is null.
5240 Wed Sep 16 11:28:47 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
5242         * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp: In
5243           general, using iostreams in ACE causes more problems for us than
5244           it is worth since some systems do not support iostreams.  I have
5245           rewritten this file to not use iostreams but use
5246           ACE_DEBUG/ACE_ERROR instead.
5248 Wed Sep 16 10:49:34 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
5250         * bin/auto_compile: Updated to the new directory hierarchy in TAO.
5252 Wed Sep 16 09:46:31 1998  Steve Huston  <shuston@riverace.com>
5254         * ace/config-hpux-10.x.h: Added ACE_HAS_DIRENT.
5256 Tue Sep 15 20:25:23 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5258         * tests/test_config.h: Always #undef ACE_NLOGGING so the tests
5259           will produce output!  Thanks to Chuck Gehr for reporting this.
5261         * ace/OS.i: Added a new ACE_LACKS_TRUNCATE flag to work around
5262           platforms that lack the truncate() call.  Thanks to
5263           Sergio for reporting this.
5265 Tue Sep 15 17:57:26 1998  Sergio Flores  <sergio@tango.cs.wustl.edu>
5267         * ace/config-vxworks5.x.h: Added ACE_LACKS_TRUNCATE to VxWorks
5268           configuration.
5270 Tue Sep 15 16:58:18 1998  Nagarajan Surendran  <naga@cs.wustl.edu>
5272         * include/makeinclude/platform_chorus_ghs.GNU: Changed the
5273           MVME_DIR to /project/doc/mvme/mvme177.
5275         * ace/ARGV.cpp (ACE_ARGV::argv_to_string): Fixed the problem where
5276           we were allocating space only for the length of the string whereas
5277           strecpy was inserting the extra '\0' leading to Array bounds write.
5279 Tue Sep 15 16:34:47 1998  David L. Levine  <levine@cs.wustl.edu>
5281         * ace/OS.i (gethrtime): added high-res timer support with
5282           g++ and ACE_HAS_POWERPC_TIMER.
5284         * ace/OS.{h,cpp},config-vxworks5.x.h,README: changed ACE_HAS_POWERPC
5285           to ACE_HAS_POWERPC_TIMER.
5287         * ace/config-lynxos.h: added ACE_HAS_PENTIUM, to provide
5288           high-res timer support on LynxOS.
5290 Tue Sep 15 13:33:26 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
5292         * ace/config-{WinCE,g++-common}.h:
5293         * ace/OS.{h,i,cpp}: Deprecated ACE_LACKS_GETS and ACE_OS::gets (void).
5295         * apps/gperf/src/gperf_lib.dsp: Enabled c++ exception handling to
5296           avoid warning when compiling with standard c++ libraries.
5298 Tue Sep 15 11:22:53 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>
5300         * ace/OS.{h, i}:
5302           Added definition for the "stat" data structure. Also added the
5303           definition for the "truncate" function.
5305 Mon Sep 14 23:28:24 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
5307         * ACE version 4.5.39 released.
5309 Mon Sep 14 21:46:36 1998  David L. Levine  <levine@cs.wustl.edu>
5311         * ace/Containers.h: added "class" to several ACE_DLList friend
5312           declarations.
5314 Mon Sep 14 21:02:30 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
5316         * ace/Mem_Map.cpp (map_it): Removed the code for
5317           !ACE_HAS_P_READ_WRITE since we cover it in ACE_OS::pwrite.
5319         * ace/Filecache.cpp (ACE_Filecache_Object): Changed the
5320           lseek/write combo to pwrite.
5322 Mon Sep 14 17:09:04 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5324         * ace/config-win32-common.h,OS.h,README: Removed all mention of
5325           ACE_LACKS_FIFO, which was no longer necessary.  Thanks to Ossama
5326           Othman <othman@astrosun.tn.cornell.edu> for suggesting this.
5328         * ace/ACE.cpp (bind_port): Renamed sin to sock_addr to make the
5329           autoconf script happier.  Thanks to Ossama Othman
5330           <othman@astrosun.tn.cornell.edu> for suggesting this.
5332         * include/makeinclude/platform_mvs.GNU: Updated the MVS platform
5333           configuration as follows:
5335           changed:
5336             debug = 1
5337           to:
5338             debug = 0
5340           added:
5341             static_libs = 1
5343           and deleted the line:
5344             CCFLAGS       += $(CFLAGS)
5346           Thanks to Chuck Gehr <GehrCR@LOUISVILLE.STORTEK.COM> for these
5347           changes.
5349 Mon Sep 14 14:34:32 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
5351         * apps/gperf/src/gperf.dsp:
5352         * apps/gperf/src/gperf_lib.dsp:
5353           Fixed the project by removing new.cpp (which disappeared a
5354           while back) and changed the code generation to DLL.  Now
5355           seems to work on NT.
5357         * ace/config-win32.h: ACE_HAS_GPERF now on NT.
5359 Mon Sep 14 13:41:26 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5361         * ace/OS: Fixed qsort() and bsearch() so they work correctly for
5362           MVS.  Thanks to Chuck Gehr for reporting this.
5364         * ace/config-mvs.h: Added
5366           #define ACE_HAS_DIRENT
5367           #define ACE_LACKS_READDIR_R
5369           so that things will work correctly for MVS.  Thanks to Chuck
5370           Gehr for reporting this.
5372 Mon Sep 14 10:11:18 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
5374         * ace/ace_ce_dll.dsp: Added Select_Reactor_Base.cpp and removed
5375           Array.cpp from the project.  Thanks to Paul Sexton
5376           <pauls@ENTERPRISE.bt.co.uk> for noticing this.
5378         * ace/config-WinCE.h: Added ACE_LACKS_BSEARCH.
5380         * ace/OS.h: Added /**/ between #include and <ace/sys_conf.h> in
5381           pSOS section to prevent a MSVC warning.
5383         * ace/OS.i (bsearch): If the function is not supported by the
5384           platform, return NULL instead of -1 so it behaves compatibly
5385           with most common implementation.
5387 Mon Sep 14 09:37:09 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5389         * ace/Synch_T.h: Fixed a deadlock condition caused by acquiring
5390           the internal lock in multiple places during the same call.
5391           Thanks to Jorn Jensen <jornj@funcom.com> for reporting this.
5393 Mon Sep 14 01:59:51 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
5395         * ace/Strategies_T.{h,i,cpp}: Added two new classes
5396           ACE_Thread_Pool_Strategy and ACE_Svc_Handler_Pool_Strategy for
5397           activating and creating Svc_Handler.  They should be used with
5398           the new TP_Reactor.  More to come...
5400 Sun Sep 13 22:31:23 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
5402         * ACE version 4.5.38 released.
5404 Sun Sep 13 18:36:11 EDT 1998   James CE Johnson  <jcej@.lads.com>
5406         * docs/tutorials/006/notify.cpp
5407           No longer applicable.  This used spawn() to create the
5408           thread but the new version uses an ACE_Task<> derivative.
5410         * docs/tutorials/006/Makefile
5411           Removed dependency info.
5413         * docs/tutorials/007/thread_pool.cpp
5414           Removed THR_DETACHED from activate() call.  I need a
5415           better understanding of when to include this flag...
5417         * docs/tutorials/index.html
5418           Setting up new Message_Queue entry points.
5420         * docs/tutorials/010/Makefile
5421           docs/tutorials/010/block.h
5422           docs/tutorials/010/message_queue.cpp
5423           docs/tutorials/010/page01.html
5424           docs/tutorials/010/page02.html
5425           docs/tutorials/010/page03.html
5426           docs/tutorials/010/page04.html
5427           docs/tutorials/010/page05.html
5428           docs/tutorials/010/page06.html
5429           docs/tutorials/010/page07.html
5430           docs/tutorials/010/task.cpp
5431           docs/tutorials/010/task.h
5433           A tutorial showing a simple use of the ACE_Message_Queue.
5435         * docs/tutorials/011/Makefile
5436           docs/tutorials/011/block.h
5437           docs/tutorials/011/data.h
5438           docs/tutorials/011/message_queue.cpp
5439           docs/tutorials/011/page01.html
5440           docs/tutorials/011/page02.html
5441           docs/tutorials/011/page03.html
5442           docs/tutorials/011/page04.html
5443           docs/tutorials/011/page05.html
5444           docs/tutorials/011/page06.html
5445           docs/tutorials/011/task.cpp
5446           docs/tutorials/011/task.h
5448           Extension of 010 adds queue-ing of non-trivial data.
5451 Sun Sep 13 16:29:27 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
5453         * ace/Select_Reactor_T.h:
5454           Use the ACE_UNIMPLETED_FUNC to make the code work on older
5455           versions of IRIX
5457 Sat Sep 12 22:39:47 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5459         * ace/ACE.i: There was a bug with strecpy() -- it should return a
5460           pointer to 1 byte PAST the '\0'...
5462 Sat Sep 12 21:43:07 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
5464         * ace/Timer_Hash.cpp: Removed the #pragma template instantiation
5465           for ACE_Timer_Node_T<ACE_Event_Handler *> because it is already
5466           instantiated in Timer_Queue.cpp.  Thanks to Sergio for noticing
5467           this.
5469 Sat Sep 12 16:30:39 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5471         * ace/Dirent.cpp: Renamed the methods to be more "abstract" by
5472           removing the "dir" suffixes.
5474         * ACE-INSTALL.html: Fixed a broken link.  Thanks to Tom Shields
5475           <Shields@MarsHotel.CMPU.NET> for reporting this.
5477         * ace/OS.h (ACE_OS): Added wrappers for the passwd iterator.
5479         * ace/OS.h (ACE_OS): Added wrappers for qsort() and bsearch().
5481         * ace/README: Reformatted this file and also changed
5482           ACE_REQUIRES_FUNC_DEFINITIONS
5483           ACE_NEEDS_READV
5484           ACE_NEEDS_SCHED_H
5485           ACE_NEEDS_SYSTIME_H
5486           ACE_NEEDS_WRITEV
5488           to
5490           ACE_NEEDS_FUNC_DEFINITIONS
5491           ACE_LACKS_READV
5492           ACE_LACKS_SCHED_H
5493           ACE_LACKS_SYSTIME_H
5494           ACE_LACKS_WRITEV
5496           respectively.
5498 Sat Sep 12 19:18:18 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
5500         * ace/OS.i (qsort): Fixed a typo.  And removed "return" for this
5501           is a void function.
5503 Sat Sep 12 13:13:39 EDT 1998  James CE Johnson <jcej@lads.com>
5505           docs/tutorials/003/Makefile
5506           Removed dependency stuff since installations may vary
5508           docs/tutorials/003/client.cpp
5509           docs/tutorials/003/page01.html
5510           docs/tutorials/004/Makefile
5511           docs/tutorials/004/client.cpp
5512           docs/tutorials/004/page01.html
5514           Converted to new style with embedded comments instead of
5515           line-numbered comments.
5517 Fri Sep 11 22:46:54 EDT 1998  James CE Johnson <jcej@lads.com>
5519           docs/tutorials/001/Source.tgz
5520           docs/tutorials/001/acceptor.h
5521           docs/tutorials/001/logger.h
5522           docs/tutorials/001/page02.html
5523           docs/tutorials/001/page03.html
5524           docs/tutorials/001/page04.html
5525           docs/tutorials/001/page05.html
5526           docs/tutorials/001/server.cpp
5527           docs/tutorials/002/Makefile
5528           docs/tutorials/002/handler.h
5529           docs/tutorials/002/page01.html
5530           docs/tutorials/002/page02.html
5531           docs/tutorials/002/page03.html
5532           docs/tutorials/002/page04.html
5533           docs/tutorials/002/server.cpp
5535           Updated to "new style".  Corrected issues with Reactor
5536           based on recent mailing list discussions.
5538 Fri Sep 11 12:30:37 1998  Nagarajan Surendran  <naga@cs.wustl.edu>
5540         * ace/config-chorus.h: Uncommented ACE_LACKS_SYSV_SHMEM as ace
5541           didn't compile on Chorus with that commented out.
5543 Fri Sep 11 09:02:00 CDT 1998  Chris Gill <cdgill@cs.wustl.edu>
5545         * ace/OS.{h,i}
5546           ace/Containers.{cpp,h}
5547           ace/config-psos-diab.h
5548           include/makeinclude/platform_psos_diab.GNU:
5549           Fixes to compile pSOS - added #if ! defined around new templates
5550           as template parameters stuff in Config.* (Diab compiler can't
5551           grok these), played with library linkage order platform macros.
5553 Fri Sep 11 08:54:41 EDT 1998  James CE Johnson <jcej@lads.com>
5555         * docs/tutorials/001/logger.h
5556           Logging_Handler::open() should return 0 on success.
5558         * docs/tutorials/002/server.cpp
5559           docs/tutorials/002/page02.html
5560           Provide 'g_reactor' to the acceptor's open().  If you
5561           don't do this, the app will core dump on ^C
5563           Thanks to Krishna Padmasola <pkrishna@cybercash.co.in> for
5564           helping me see these.
5566 Thu Sep 10 16:53:21 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
5568         * tests/Upgradable_RW_Test.cpp:
5569           Some templates were instantiated twice if threads were enabled.
5571 Thu Sep 10 13:41:53 1998  David L. Levine  <levine@cs.wustl.edu>
5573         * config-sunos4-sun3.x.h,config-tandem.h,README: removed
5574           ACE_HAS_SYSV_SPRINTF because it's no longer used.  Thanks
5575           to Ossama for reporting this.
5577 Thu Sep 10 10:18:29 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
5579         * examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp (run_event_loop):
5580           Changed to use ACE_Handle_Set instead of FD_SET.  It is more
5581           portable this way.  Thanks to Andre Folkers
5582           <folkers@informatik.mu-luebeck.de> for noticing this.
5584 Wed Sep 09 16:29:36 1998  David L. Levine  <levine@cs.wustl.edu>
5586         * BUG-REPORT-FORM,Makefile: added BUG-REPORT-FORM.  Thanks
5587           to Susan Liebeskind <shl@cc.gatech.edu> for the form.
5589 Wed Sep  9 13:22:11 1998  James Hu  <jxh@entera.com>
5591         * ace/Containers.h:
5592         * ace/Containers.cpp: Added a new container class ACE_DLList.
5594 Tue Sep  8 23:17:11 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
5596         * tests/Thread_Mutex_Test.cpp (test):
5597         * tests/Priority_Buffer_Test.cpp (consumer): Changed the
5598           do-nothing if statements to ACE_UNUSED_ARG because NT doesn't
5599           like that.  Thanks to David for clarifying this.
5601 Tue Sep  8 21:45:32 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
5603         * *.{dsp,dsw}: Updated for VC 6.
5605 Tue Sep  8 21:31:32 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
5607         * ace/config-irix6.x-sgic++-nothreads.h:
5608           Added ACE_HAS_DIRENT and support for the envinfo tool.
5610 Tue Sep 08 18:54:28 1998  Steve Huston  <shuston@riverace.com>
5612         * ace/OS.h: Removed definitions of PTHREAD_DETACHED, PTHREAD_FLOAT,
5613           PTHREAD_INHERIT_SCHED from the ACE_HAS_PTHREADS_DRAFT6 section of
5614           mapping draft 6 names into the pthreads standard names.  The first
5615           two aren't used anywhere and the third is already defined on the
5616           known draft 6 platforms.  Thanks to Chuck Gehr and Arturo Montes for
5617           helping to straighten this out.
5619 Tue Sep  8 15:10:42 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
5621         * tests/Makefile:
5622           Updated dependencies.
5624 Tue Sep  8 13:16:37 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5626         * ace/config-sco-5.0.0.h: Added ACE_HAS_GPERF at the bequest
5627           of Arturo.
5629 Tue Sep 08 10:25:48 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
5631         * ace_{dll,lib}.dsp: Changed the process type to "Blend*" which
5632           make the project to work on any type of intel processors.
5633           However, this disable the bug-fix to get around the infamous
5634           Pentium floating point problem.
5636         * netsvcs/lib/netsvcs.dsp:
5637         * netsvcs/servers/servers.dsp: Perform VC 6 modification.
5639 Tue Sep 08 07:28:05 1998  David L. Levine  <levine@cs.wustl.edu>
5641         * ace/OS.i (readdir_r): don't use the POSIX.1c ::readdir_r on
5642           suns without _POSIX_PTHREAD_SEMANTICS.
5644         * include/makeinclude/wrapper_macros.GNU: added
5645           ACE_HAS_GNUG_PRE_2_8 macro.  Use it for determining
5646           exceptions-related flags with g++.  It can also be used to
5647           suppress builds with old (pre-2.8) versions of g++; see
5648           TAO/tests/POA/TIE/Makefile for an example.
5650         * apps/Gateway/Gateway/File_Parser.cpp (getint):
5651           egcs 1.1b can't handle the FP_RETURN_TYPE typedef.  So,
5652           use FP::Return_Type with __GNUG__.
5654         * ace/config-chorus.h: added ACE_HAS_DIRENT and
5655           ACE_LACKS_READDIR_R.
5657         * ace/config-lynxos.h: don't use ACE_HAS_STRING_CLASS with
5658           LynxOS >= 3.0.0.  It requires that libg++ be linked in
5659           to the IOStream tests.
5661         * docs/ACE-guidelines.html: notify via email if a particular
5662           individual's attention is needed to address a comment in the code.
5664         * ace/Basic_Types.h: corrected comment:  the dump method
5665           is named output, because it takes an argument.
5667 Mon Sep  7 22:12:02 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
5669         * ace/config-freebsd.h: Added ACE_HAS_SIGINFO_T,
5670           ACE_LACKS_SIGINFO_H, ACE_LACKS_UCONTEXT_H, ACE_LACKS_SI_ADDR and
5671           ACE_HAS_DIRENT.
5673         * ace/config-freebsd-pthread.h:
5674         * ace/config-linux-common.h: Added ACE_HAS_DIRENT.
5676 Mon Sep  7 12:39:10 EDT 1998  James CE Johnson <jcej@lads.com>
5678           docs/tutorials/008/page01.html
5679           docs/tutorials/008/page02.html
5680           docs/tutorials/008/page03.html
5681           docs/tutorials/008/page04.html
5682           docs/tutorials/008/page05.html
5683           docs/tutorials/009/Makefile
5684           docs/tutorials/009/broadcast_client.cpp
5685           docs/tutorials/009/directed_client.cpp
5686           docs/tutorials/009/page01.html
5687           docs/tutorials/009/page02.html
5688           docs/tutorials/009/page03.html
5689           docs/tutorials/009/page04.html
5690           docs/tutorials/009/page05.html
5691           docs/tutorials/009/server.cpp
5693           Cleanup on Tutorial 008 and creation of Tutorial 009 which expands
5694           008 by making the server more selective in who it responds to.
5696 Mon Sep  7 10:06:54 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5698         * ace/ACE.h (ACE): Moved strnew (wchar_t *) into an ACE_WIN32
5699           section to protect it properly.  Thanks to David Levine for
5700           reporting this.
5702         * ace:config-sco-*.h: Added ACE_HAS_DIRENT on the advice of Arturo
5703           Montes <mitosys@colomsat.com.co>.
5705 Mon Sep 07 09:52:12 1998  David L. Levine  <levine@cs.wustl.edu>
5707         * docs/ACE-guidelines.html: added general rule to put system
5708           call wrappers in ACE_OS, extensions in ACE.
5710         * ace/config-osf1-4.0.h: added ACE_HAS_DIRENT and
5711           _POSIX_PTHREAD_SEMANTICS.  The latter was necessary
5712           to tell ACE_OS::readdir_r () to use the three-arg
5713           ::readdir_r ().
5715         * ace/config-lynxos.h: added ACE_HAS_DIRENT.
5717         * ace/Log_Msg.cpp (log): initialized local "c" to '\0' so that
5718           egcs 1.1b won't complain that it might be used without
5719           initialization.
5721         * ace/OS.i,ace/config-osf1-4.0.h (readdir_r): use
5722           ACE_HAS_PTHREADS_STD instead of _POSIX_PTHREAD_SEMANTICS to
5723           select the three-arg ::readdir_r ().
5725         * ace/config-vxworks.h: added ACE_HAS_DIRENT.
5727         * ace/OS.i,config-vxworks5.x.h (readdir_r,rewinddir,seekdir,telldir),
5728           README:
5729           added support for ACE_LACKS_READDIR_R, ACE_LACKS_SEEKDIR, and
5730           ACE_LACKS_TELLDIR.
5732         * ace/OS.i (opendir): added const_cast to remove constness
5733           from the argument, because VxWorks' header doesn't declare
5734           it const.  This shouldn't cause a problem on other platforms.
5736 Mon Sep  7 01:02:58 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
5738         * ace/ACE.i: Changed ACE_INLINE to ASYS_INLINE.
5740         * ace/OS.h: Added a no-op type define for DIR and struct
5741           dirent so compilation can continue on NT.
5743         * ace/ace_dll.dsp:
5744         * ace/ace_lib.dsp:
5745           Added new dirent.* files and removed Array.{cpp,i} files.
5747 Sun Sep  6 15:49:46 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5749         * ace/ACE: Added several new helper string functions, which were
5750           mined from the drwho program.
5752         * ace/OS: Moved strnew() into class ACE, which is where it
5753           belongs...
5755         * ace/Containers: Merged the ACE_Array class entirely into the
5756           Containers files, which is more consistent with the general
5757           design of ACE.  Also, removed ace/Array.i and Array.cpp since
5758           they are no longer needed.  We'll keep Array.h around for a
5759           while for backwards compatibility, but it just #includes
5760           "ace/Containers.h" now...
5762         * ace/config-sunos5*.h: Added ACE_HAS_DIRENT.  We'll need help
5763           figuring this out on the other platforms...
5765         * ace/OS: Began adding "Dirent" support to ACE_OS.  This will
5766           provide the UNIX/POSIX directory iterator routines when the
5767           ACE_HAS_DIRENT macro is enabled.
5769         * ace/OS: Added fputs() to ACE_OS.  I'm not sure why this was
5770           missing...
5772         * ace/Makefile (FILES): Moved Priority_Reactor to earlier in
5773           the Makefile to maintain alphabetical order.
5775 Sun Sep  6 14:06:43 1998  Douglas C. Schmidt  <schmidt@cumbia.cs.wustl.edu>
5777         * ace/OS.h: Moved the ACE_NEW_THROW macros that Matt Braun wrote
5778           into ACE so that we can use these in all applications.
5780 Sun Sep 06 12:28:40 1998 Fred Kuhns <fredk@arl.wustl.edu>
5782         * Added a simple reactor/acceptor figure to the first tutorial
5783           docs/tutorial/001/simple.*
5785 Sun Sep 06 08:34:57 1998  David L. Levine  <levine@cs.wustl.edu>
5787         * ace/config-g++-common.h,ace/README,tests/Conn_Test.cpp:
5788           renamed ACE_HAS_OLD_GNUG to ACE_HAS_GNUG_PRE_2_8.
5790 Sat Sep  5 15:31:33 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5792         * ace: Removed ACE_HAS_IRIX_GETTIMEOFDAY and all of its uses
5793           throughout ACE.  It was no longer necessary.  Thanks to Ossama
5794           for reporting this.
5796         * ace/Synch.h: Added a "no-op" ACE_Barrier for cases where we
5797           don't have ACE_HAS_THREADS enabled.
5799 Sat Sep  5 15:25:33 EDT 1998  James CE Johnson  <jcej@lads.com>
5801           docs/tutorials/index.html
5802           docs/tutorials/008/Makefile
5803           docs/tutorials/008/server.cpp
5804           docs/tutorials/008/broadcast_client.cpp
5805           docs/tutorials/008/directed_client.cpp
5806           docs/tutorials/008/page01.html
5807           docs/tutorials/008/page02.html
5808           docs/tutorials/008/page03.html
5809           docs/tutorials/008/page04.html
5810           docs/tutorials/008/page05.html
5811           docs/tutorials/008/CVS/Root
5812           docs/tutorials/008/CVS/Repository
5813           docs/tutorials/008/CVS/Entries
5814           docs/tutorials/009/Makefile
5815           docs/tutorials/009/broadcast_client.cpp
5816           docs/tutorials/009/directed_client.cpp
5817           docs/tutorials/009/server.cpp
5818           docs/tutorials/009/CVS/Root
5819           docs/tutorials/009/CVS/Repository
5820           docs/tutorials/009/CVS/Entries
5822           Began the next set of tutorials on the topic of Datagrams.
5823           Thanks to Jeff Hellzen for this suggestion.
5825 Fri Sep  4 18:56:36 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
5827         * ace/Name_Proxy.cpp:
5828           Fixed spurious double assignment (int foo = foo = bar;), thanks
5829           to thanks to John Mulhern <9107@mn3.lawson.lawson.com> for
5830           reporting this.
5832 Fri Sep 04 18:54:32 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
5834         * ace/Select_Reactor_T.cpp (ACE_Select_Reactor_T): Made sure that
5835           all references to Select_Reactor have the template argument in
5836           them.  Thanks to Chuck Gehr <GehrCR@LOUISVILLE.STORTEK.COM> for
5837           sending the patches.
5839 Fri Sep  4 18:29:29 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
5841         * examples/Reactor/Proactor/test_proactor.cpp: Changed to use
5842         "test_proactor.cpp" as input file.
5844 Fri Sep  4 17:51:17 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
5846         * ace/Proactor.cpp:
5847         * ace/Asynch_Acceptor.cpp:
5848         * ace/Asynch_Acceptor.h:
5849         * ace/Asynch_IO.cpp:
5850         * examples/Reactor/Proactor/test_proactor.cpp:
5851                 First round of changes for ACE_Asynch_Accept. Makes use of
5852         separate thread  for each accept call, each thread blocking on the
5853         ACE_OS::accept. Thanks to Irfan, a better implementation using
5854         TP_Reactor is currently being done.
5856 Fri Sep  4 16:45:36 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5858         * ace: Removed all traces of ACE_HAS_MT_SAFE_SOCKETS -- this was a
5859           vestige from Solaris 2.2!  Thanks to Ossama Othman
5860           <othman@astrosun.tn.cornell.edu> for suggesting this.
5862         * ace/Service_Config: Changed the default value of
5863           ACE_Service_Config::debug_ from 1 to 0.  Thus, debugging is
5864           DISABLED by default.  If you want to enable debugging, pass the
5865           -d option to the constructor of ACE_Service_Config.
5867         * ace/Naming_Context.cpp,
5868           ace/Service_Config.cpp,
5869           ace/Service_Types.cpp,
5870           ace/Service_Repository.cpp: Now we only print out service config
5871           information if we're ACE::debug() is non-0.  This is more
5872           consistent with other parts of ACE.  Thanks to XuYifeng
5873           <xuyf@pop.zg169.net> for reporting this.
5875         * ace/Service_Config: Moved the debug() stuff from here and put it
5876           into class ACE so that it will be more globally visible.
5878 Fri Sep 04 15:24:44 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
5880         * ace/ACE.i: Here, we should use ASYS_INLINE which is always
5881           defined as inline on most platforms.
5883         * ace/Log_Msg.h (ACE_Log_Msg): Added a new ACE_DEBUG format
5884           character 'A' which prints out an ACE_timer_t value.  This is
5885           most useful when you want to print out the timers in
5886           ACE_Profile_Timer::ACE_Elapse_Time.  Thanks to Naga for
5887           providing the brilliant idea.
5889         * tests/XtReactor_Test.cpp (main): Removed '.cpp' from
5890           ACE_START_TEST title string.  Thanks to Ossama for reporting
5891           this.
5893         * Makefile (CONTROLLED_FILES): Removed some documents from the
5894           list because they are in docs/ now.
5896         * tests/run_tests.bat: Removed trailing '.cpp' from
5897           Message_Queue_Notifications_Test.  Thanks to Jack Erickson
5898           <JErickson@exchange.ml.com> for reporting this.
5900         * ace/OS.i (signal): Added check for ACE_WIN32 to defeat the
5901           effect of !defined (ACE_LACKS_UNIX_SIGNALS).  Although Win32
5902           does has ACE_LACKS_UNIX_SIGNALS defined, it also has limited
5903           support for signals.  Thanks to XuYifeng <wj@public.hz.zj.cn>
5904           for reporting this.
5906 Fri Sep 04 07:26:57 1998  David L. Levine  <levine@cs.wustl.edu>
5908         * include/makeinclude/rules.bin.GNU,wrapper_macros.GNU:
5909           moved VBIN definition from rules.bin.GNU to wrapper_macros.GNU.
5910           With this change, individual Makefiles need not define VBIN.
5912         * tests/run_tests.sh: removed -f so that temp file removal
5913           works properly.  Don't printout ipcs output unless it
5914           changes, for resources owned by the user.
5916 Fri Sep 04 01:01:58 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
5918         * ace/Timeprobe.h: Disable warning of using Microsoft Extensions.
5920 Fri Sep 04 02:12:03 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
5922         * ACE version 4.5.37 released.
5924 Fri Sep  4 00:07:18 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5926         * examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp (open): Added
5927           template instantiations to make GCC happy.  Thanks to David
5928           Levine for reporting this.
5930 Thu Sep 03 19:15:52 1998 Fred Kuhns <fredk@arl.wustl.edu>
5932         * docs/tutorial/006/client_acceptor.cpp: added
5933           typedef ACE_Svc_Handler <ACE_SOCK_STREAM, ACE_NULL_SYNCH > inherited;
5935 Thu Sep 03 17:03:46 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
5937         * ace/Dynamic.cpp (instance): Removed the typedef in the header
5938           file because some compiler was having problems with it.  Thanks
5939           to baksoo@dbserver.kaist.ac.kr for reporting this.
5941 Thu Sep 03 16:43:34 1998  David L. Levine  <levine@cs.wustl.edu>
5943         * ace/OS.cpp (thr_create): play the zero thread priority game
5944           on Solaris if defined (sun), not if defined (ACE_HAS_STHREADS).
5945           This allows POSIX threads to be created with a thread priority
5946           of 0 if _POSIX_C_SOURCE=199506L and _POSIX_PTHREAD_SEMANTICS
5947           are defined.  Thanks to Russ Noseworthy
5948           <rnosewor@objectsciences.com> for reporting this problem.
5950         * examples/Threads/tss2.cpp: added explicit ACE_Guard <ACE_Token>
5951           instantiation.
5953         * tests/Dynamic_Priority_Test.cpp (main): changed "not supported"
5954           to "not available" in printout that indicates that the
5955           test will be run in time-sharing class, instead of
5956           a real-time class.  The test can still run in time-sharing
5957           class.  Thanks to Ossama for reporting this.
5959 Thu Sep 03 16:14:16 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
5961         * ace/Synch.i (ACE_Process_Mutex::remove): Reset this->lock_ to 0
5962           after removing the lock so we can avoid destroying the same
5963           kernel object twice.  Thanks to Detlef Becker
5964           <Detlef.Becker@med.siemens.de> for reporting this.
5966 Thu Sep 03 15:43:22 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
5968         * tests/Upgradable_RW_Test.cpp: Fixed this file so that it works
5969           with egcs.
5971 Thu Sep  3 14:51:06 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5973         * docs: Moved ACE-{tutorials,guidelines,subsets,porting}.html
5974           into the docs directory from the etc directory.  This is
5975           a more "fitting" location...
5977 Thu Sep  3 13:23:39 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
5979         * Makefile (CONTROLLED_FILES): Added docs/ into CONTROLLED_FILES.
5981 Thu Sep 03 09:24:20 1998  David L. Levine  <levine@cs.wustl.edu>
5983         * ace/Message_Block.cpp: added ACE_Guard <ACE_Lock> instantiation.
5985         * ace/SPIPE_Stream.i (recv_handle): replaced "recvfd = recvfd" with
5986           ACE_UNUSED_ARG (recvfd) to avoid egcs 1.1 warning about a
5987           statement with no effect.
5989 Thu Sep 03 00:26:23 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
5991         * ace/Time_Request_Reply.cpp (ACE_Time_Request): The second
5992           parameter should be of type ACE_UINT32.
5994 Wed Sep  2 22:52:32 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
5996         * netsvcs/lib/Name_Handler.cpp,
5997         * ace/Time_Request_Reply.cpp: Fixed up yet another
5998           minor mismatch caused by the ACE_SUCCESS/ACE_FAILURE fixes...
5999           Thanks to David Levine for tracking these down.
6001 Wed Sep 02 20:55:18 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
6003         * ACE version 4.5.36 released.
6005 Wed Sep  2 19:21:25 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6007         * ace/Name_Request_Reply.cpp: Continued to cleanup the residue of
6008           the ACE_SUCCESS and ACE_FAILURE changes.  Thanks to David Levine
6009           for reporting this.
6011 Wed Sep 02 19:08:29 1998  David L. Levine  <levine@cs.wustl.edu>
6013         * ace/Template_Instatiations.cpp: commented text following
6014           an #endif.
6016 Wed Sep 02 16:46:45 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
6018         * ACE version 4.5.35 released.  BTW, these releases were aborted
6019           due to CVS hiccups.  We've got to figure out a better way to
6020           roll this stuff back...
6022 Wed Sep 02 16:33:25 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
6024         * ACE version 4.5.34 released.
6026 Wed Sep 02 16:31:22 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
6028         * ace/OS.h: Make sure ACE_NO_INLINE is not defined before defining
6029           it to avoid double defining the macro.  Thanks to Ossama Othman
6030           <othman@astrosun.tn.cornell.edu> for suggesting this.
6032 Wed Sep  2 11:10:08 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6034         * ace/Task.cpp (activate): Remmber to decrement the thr_count_ if
6035           spawn_n() fails.  Thanks to Russ Noseworthy
6036           <rnosewor@objectsciences.com> for reporting this fix.
6038         * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: Fixed another
6039           void * -> char * problem.  Now this stuff all seems to build
6040           fine.
6042 Wed Sep 02 10:07:15 1998  David L. Levine  <levine@cs.wustl.edu>
6044         * ace/Name_Request_Reply.{h,cpp}: reverted ACE_SUCCESS to SUCCESS
6045           because other ACE code depended on it.
6047         * ace/Object_Manager.cpp (~ACE_Object_Manager_Base): moved
6048           internal_lock_ deletion inside ACE_MT_SAFE protection.  Thanks
6049           to Dongwook Kim <baksoo@dbserver.kaist.ac.kr> for reporting this.
6051         * include/makeinclude/platform_sunos5_sunc++.GNU: updated comments
6052           to recommend not using Sun C++ 4.1.
6054 Wed Sep 02 09:34:32 1998  Oliver M. Kellogg <Oliver.Kellogg@vs.dasa.de>
6056         * ace/OS.i (sigwait): use __sigwaitd10 with g++ on DU 4.0.
6058 Tue Sep  1 20:44:15 PDT 1998  James C. Hu <jxh@entera.com>
6060         * ace/Filecache.cpp:
6061         * ace/UPIPE_Stream.cpp: I guess nobody uses GCC anymore.  Fixed
6062           some template instantiation problems in Filecache.cpp and
6063           UPIPE_Stream.cpp.  I guess, eventually all of this will be moved
6064           into the Template_Instantiations.cpp file, but until then...
6066 Tue Sep 01 20:59:11 1998  David L. Levine  <levine@cs.wustl.edu>
6068         * ace/OS.i (ts_object): commented test appearing after the #endif.
6070         * ace/OS.i (rw_trywrlock_upgrade): expanded/added comment to
6071           clarify the with/without ACE_LACKS_RWLOCK_T distinction.
6073         * ace/OS.i (sigwait): fixed indentation.
6075         * ace/ACE.cpp (get_ip_interfaces): removed trailing } after comment
6076           following #endif.
6078         * etc/ACE-guidelines.html: added section on scripts.  Added rule
6079           to prefix constants and enum values with ACE_ or TAO_.
6081 Tue Sep  1 19:05:05 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6083         * tests/XtReactor_Test.cpp: Added a new version that should work
6084           on Linux.  Thanks to Eric Newton for this fix.
6086 Tue Sep  1 19:40:03 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
6088         * tests/XtReactor_Test.cpp:
6089           If ACE_LACKS_MOTIF is defined the test can use Athena
6090           Widgets. Thanks to Eric C. Newton <ecn@smart.net> for
6091           contributing this example.
6093 Tue Sep  1 19:05:05 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6095         * examples/Shared_Malloc/test_malloc.cpp (spawn): Fixed a minor
6096           problem with conversions from const char * literals to char *'s.
6097           Thanks to John Mulhern for reporting this problem.
6099         * examples/IPC_SAP/SOCK_SAP/CPP-in{server,client}.cpp: Fixed all
6100           uses of void *request with char *request to stop ANSI C++
6101           compilers from complaining.  Thanks to John Mulhern for
6102           reporting this problem.
6104 Tue Sep 01 16:22:06 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
6106         * ace/Filecache.cpp (init and ~ACE_Filecache_Object): Changed
6107           SUCCESS to ACE_SUCCESS.
6109 Tue Sep 1 13:54:10 PDT 1998  James C. Hu <jxh@entera.com>
6111         * ace/Message_Block.h:
6112         * ace/Message_Block.i: Added a space () method that reports
6113           the amount of space remaining in the message block.
6115 Tue Sep 1 3:50:39 US/Central 1998  James CE Johnson <jcej@lads.com>
6117         * etc/tutorials/006/client_handler.cpp
6118           etc/tutorials/006/client_handler.h
6119           etc/tutorials/006/page04.html
6120           etc/tutorials/006/page05.html
6122           Added a close() method to Client_Handler so that it will be closed
6123           properly when the svc() method exits.
6125         * etc/tutorials/007/client_handler.cpp
6126           etc/tutorials/007/client_handler.h
6127           etc/tutorials/007/page05.html
6128           etc/tutorials/007/page06.html
6129           etc/tutorials/007/page09.html
6131           Added Client_Handler::close() that will be called when
6132           Client_Handler::svc() exits in the thread-per-connection model.
6133           Thread_Pool::svc() now calls the handler's handle_close() method
6134           to properly shut down the handler if handle_input() fails.
6136 Tue Sep 01 12:58:02 1998  Chris Gill <cdgill@cs.wustl.edu>
6138         * ace/ACE.cpp
6139           ace/Basic_Types.cp
6140           ace/Containers.{cpp, h}
6141           ace/Filecache.{cpp, h}
6142           ace/Hash_Map_Manager.{cpp, h}
6143           ace/INET_Addr.cpp
6144           ace/Local_Tokens.cpp
6145           ace/Log_Record.cpp
6146           ace/Map_Manager.{cpp, h}
6147           ace/Message_Block.cpp
6148           ace/Name_Request_Reply.{cpp, h}
6149           ace/OS.{cpp, h, i}
6150           ace/Object_Manager.h
6151           ace/Process.cpp
6152           ace/Remote_Name_Space.cpp
6153           ace/SOCK_Dgram_Mcast.{cpp, h}
6154           ace/Service_Types.cpp
6155           ace/Signal.cpp
6156           ace/Synch_T.{cpp, h, i}
6157           ace/Time_Hash.cpp
6158           ace/Token_Request_Reply.h
6159           ace/UPIPE_Stream.cpp
6160           ace/config-psos-diab.h
6161           ace/config-psos-tm.h:
6163           pSOS port of ACE for the Diab 4.2 and Trimedia cross compilers.
6164           Thanks to Jin Lu of Philips Research for completing the ACE pSOS
6165           port on the Trimedia cross compiler and contributing the changes
6166           back to the ACE distribution.
6168 Tue Sep  1 10:43:24 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6170         * ace/config-linux-common.h,
6171           ace/config-sco-5.0.0-mit-pthread.h,
6172           ace/config-sco-5.0.0.h,
6173           ace/README:
6174           ACE_HAS_LONG_FDMASK macro has been changed to
6175           ACE_HAS_BIG_FD_SET.  Therefore, I updated these files.  Thanks
6176           to Ossama Othman <othman@astrosun.tn.cornell.edu> for reporting
6177           this.
6179 Tue Sep 01 10:21:49 1998  David L. Levine  <levine@cs.wustl.edu>
6181         * tests/TSS_Test.cpp (cleanup, worker): with ACE_HAS_PTHREADS_DRAFT4,
6182           delete the tss instances in cleanup instead of worker.  This gets
6183           rid of the memory leaks on those platforms.
6185         * include/makeinclude/platform_osf1_4.0.GNU: added
6186           -hidden [...] -non_hidden magic.  See comments in the file;
6187           this solves a problem with mutiply defined symbols between
6188           shared libraries and DEC's libcxxstd.a.  It only affected
6189           tests/IO_Stream_Test.
6191 Tue Sep 01 10:03:55 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
6193         * ACE version 4.5.33 released.
6195 Tue Sep 01 03:46:21 1998  Steve Huston  <shuston@riverace.com>
6197         * ace/Asynch_Acceptor.{h cpp}: Enable the contents for platforms
6198           with ACE_HAS_AIO_CALLS, not just ACE_WIN32.  Thanks to John
6199           Mulhern for these fixes.
6201         * examples/Reactor/Proactor/Makefile: Removed include of
6202           platform_macros.GNU. Thanks to John Mulhern for this one too.
6204 Mon Aug 31 16:38:03 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6206         * ace/config-kcc-common.h: Added ACE_HAS_CPLUSPLUS_HEADERS to
6207           prevent warnings/errors.  Thanks to Ben Eng <ben@jetpen.com> and
6208           Todd Pack <todd@rwii.com> for reporting this.
6210         * Added a bunch of patches so that ACE compiles and passes its
6211           tests on Chorus with gcc.  Thanks to Alberto Villarica"
6212           <Alberto.Villarica.rav@nt.com> for reporting this.
6214 Mon Aug 31 14:02:34 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
6216         * ace/ace.dsw:
6217         * ace/ace_dll.dsp:
6218         * ace/ace_lib.dsp:
6219           Updated to MSVC 6, which consisted of changing the
6220           version number insde to 6.00.  This change gets it
6221           to work in both 5 and 6, without any trouble.
6223 Mon Aug 31 12:25:15 1998  David L. Levine  <levine@cs.wustl.edu>
6225         * ace/Object_Manager.*: reorganized to provide the
6226           ACE_Object_Manager_Base class.  This class contains
6227           the data structures used to support Singleton
6228           registration for destruction.
6230         * ace/ACE.{h,cpp}: added init () and fini ().  These
6231           currently just call the ACE_Object_Manager's init ()
6232           and fini ().  The might be useful for applications
6233           that use ACE_HAS_NONSTATIC_OBJECT_MANAGER and
6234           ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER, and
6235           therefore need to explicitly initialize and finalize
6236           the ACE_Object_Manager singleton.
6238         * tests/Semaphore_Test.cpp (test_timeout): a timed
6239           semaphore acquire fails on ACE_HAS_PTHREADS_DRAFT4
6240           with EINTR instead of ETIME if it times out.  That's
6241           the way it's documented, as well as the way it behaves on LynxOS.
6243         * tests/TSS_Test.cpp (cleanup): with DRAFT4 threads,
6244           don't do anything in the cleanup function.
6245           The intended use of this function doesn't apply.
6246           With Draft 4 threads, this function is called implicitly
6247           by pthread_setspecific whenever an old value is replaced.
6248           This function is intended to be used with Draft 6 and later
6249           threads, where it is called on thread termination with the
6250           thread-specific value.
6252         * tests/test_config.cpp: set ACE_MAX_PROCESSES to 4 on LynxOS,
6253           so that Process_Mutex_Test will succeed.
6255 Sun Aug 30 23:05:34 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
6257         * ace/Select_Reactor_T.cpp: Should include ace/Thread.h also.
6258           Thanks to J. Russell Noseworthy <rnosewor@objectsciences.com>
6259           for reporting this.
6261         * ace/Select_Reactor.cpp: Added explicit template instantiation
6262           for ACE_Lock_Adapter<ACE_Select_Reactor_Token_T<ACE_Noop_Token>>.
6263           Thanks to Eric C. Newton <ecn@smart.net> for reporting this.
6265 Sun Aug 30 07:44:54 1998  David L. Levine  <levine@cs.wustl.edu>
6267         * ace/config-sunos5.5.h,ace/README,
6268           include/makeinclude/platform_sunos5_sunc++.GNU:
6269           use ACE_LACKS_RTTI instead of ACE_HAS_RTTI without rtti,
6270           with Sun CC on SunOS 5.5.  That removes all use of ACE_HAS_RTTI
6271           from ACE.
6273         * netsvcs/lib/Name_Handler.h: added #include of ace/Singleton.h.
6275         * tests/run_tests.vxworks: commented out Dynamic_Priority_Test.
6276           It now causes VxWorks to go to never-never land.
6278         * ace/config-g++-common.h,ace/README,tests/Conn_Test.cpp:
6279           added ACE_HAS_OLD_GNUG.  Thanks to Doug for this suggestion.
6281         * ace/Token.cpp (ACE_Token_Queue_Entry ctor): added
6282           ACE_UNUSED_ARG (m) ifdef ACE_TOKEN_USES_SEMAPHORE.
6284 Sun Aug 30 00:14:29 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
6286         * ace/Service_Object.cpp (fini): Make sure to check the
6287           <fini_already_called_> flag before proceeding. Also
6288           ~ACE_Service_Type() now calls this->fini().
6290         * ace/Svc_Handler:
6291         * ace/Dynamic:
6293           Patrick J. McNerthney <pat@cartia.com> described this problem:
6294           ________________________________________
6296           ACE_Svc_Handler creates an
6297           ACE_TSS_Singleton<ACE_Dynamic,ACE_SYNCH_NULL_MUTEX> singleton
6298           object to determine if the ACE_Svc_Handler is a dynamically
6299           created object or not.  ACE_TSS_Singleton declares the internal
6300           single instance of the ACE_Dynamic object as a
6301           ACE_TSS<ACE_Dynamic> data type.
6303           The first time this object is "referenced",
6304           ACE_TSS<ACE_Dynamic>::ts_init() is called, which in turn calls
6305           ACE_Thread::keycreate and registers
6306           ACE_TSS<ACE_Dynamic>::cleanup with it.  Since ACE_TSS is a
6307           template class, the vtable and the code of this object resides
6308           in the dynamically loaded service DLL.
6310           During termination, the Object Manager closes down the Service
6311           Configurator, causing all services to be shutdown, and their
6312           DLLs are unloaded.
6314           The Object Manager then calls ACE_OS::cleanup_tss which attempts
6315           to call the above registered ACE_TSS<ACE_Dynamic>::cleanup
6316           method.  Since the DLL has already been unloaded, the
6317           application faults trying to access the vtable.
6318           ________________________________________
6320           My earlier solution addressed this problem but only in
6321           ~Object_Manager(), i.e., at the end of the application, by
6322           carefully ordering the cleanup of singletons, tss, and the
6323           unlinking of libraries. To solve this more generically and to
6324           address this problem when DLLs are unlinked arbitrarily (and not
6325           only at the end of applications), I moved the typedef of
6326           ACE_TSS_Singleton<ACE_Dynamic> from Svc_Handler.h to
6327           Dynamic.h. Then the access to this singleton was changed from
6328           DYNAMIC::instance() to ACE_Dynamic::instance().
6330           This will force the generation of the code for this class to be
6331           in the ACE library rather than in a user's DLL.  Hence when TSS
6332           cleanup hooks and Object Manager are trying to clean this object
6333           up from ~Object_Manager, it won't crash as the code for this
6334           class is in ACE and not in the unlinked DLL.
6336           This issue raised a couple of interesting observations about
6337           ACE_Singleton and ACE_TSS_Singleton and DLLs:
6339           It is ok to use ACE_Singleton and ACE_TSS_Singleton in DLLs that
6340           are going to be unlinked at the end of the program.  For DLLs
6341           that may get unlinked *before* the end of the program, they must
6342           not use ACE_Singleton or ACE_TSS_Singleton. ACE_Singleton
6343           registers with the Object_Manager for deletion and therefore is
6344           accessed at the end of the application.  ACE_TSS_Singleton is
6345           very similar to ACE_Singleton.  Moreover, it uses tss cleanup
6346           hooks to clean up the thread specific storage.  Therefore, if
6347           the DLL lives shorter than the thread and/or the application, it
6348           must *not* use ACE_Singleton and ACE_TSS_Singleton.
6350           This motivates the need for ACE_DLL_Singleton<T>.  As usual,
6351           contributions to ACE are always welcome ;-) Many, many thanks to
6352           Patrick J. McNerthney <pat@cartia.com> for all his help!
6354 Sat Aug 29 19:22:22 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6356         * examples/Service_Configurator/Misc/main.cpp (main): Fixed a stray
6357           l_argv[3] =  0;  I'm not sure why this was here...
6359 Sat Aug 29 17:31:06 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>
6361         * examples/IPC_SAP/SOCK_SAP/CPP-in{client,server,server-fancy}.cpp:
6362           Updated these tests to be more robust and better designed.
6364         * examples/IPC_SAP/SOCK_SAP/Makefile: Added the
6365           CPP-inserver-fancy.cpp file.  I'm not sure why I'd omitted it
6366           for so long...
6368         * examples/IPC_SAP/SOCK_SAP/CPP-in{client,server}.cpp: Cleaned up
6369           the code a bit to avoid warnings.  Thanks to David Levine for
6370           reporting these.
6372 Sat Aug 29 14:11:25 1998  David L. Levine  <levine@cs.wustl.edu>
6374         * etc/ACE-guidelines.html: added rule to not for a pointer
6375           being 0 before deleting it.  It's always safe to delete a
6376           0 pointer.  Thanks to James CE Johnson <jcej@lads.com> for
6377           pointing this out.
6379 Fri Aug 28 23:29:51 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6381         * examples/IPC_SAP/SOCK_SAP/CPP-in{client,server}.cpp: Enhanced
6382           the client and server test so that it'll be a good benchmark for
6383           the "best case" to compare TAO against.
6385 Fri Aug 28 21:53:13 1998  Steve Huston  <shuston@riverace.com>
6387         * ace/OS.h: Conditionalize setting of ACE_INFINITE on non-Win32
6388           to allow the platform config to define a value.
6390         * ace/config-hpux11.h: Define ACE_INFINITE as 10000000.  This value
6391           was empirically determined by John Mulhern.  Until we know why
6392           this had to be done, you may need to set a different value in
6393           your own config.h file.
6395 Fri Aug 28 13:14:34 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
6397         * examples/Service_Configurator/Misc/main.cpp: Made the file CE
6398           friendly.  Added "-y" to service configurator so we can still
6399           test static services.
6401 Fri Aug 28 13:45:28 1998  David L. Levine  <levine@cs.wustl.edu>
6403         * include/makeinclude/platform_lynxos.GNU: added HOST_OS
6404           support for PowerPC target.  It has a slightly different
6405           name (sunos-xcoff-ppc) than for x86 target (sunos-coff-x86).
6407         * ace/config-lynxos.h: there doesn't seem to be an
6408           alloca () for PowerPC target.  So, only enable
6409           ACE_HAS_ALLOCA and ACE_HAS_ALLOCA_H ifdef __x86__.
6411 Fri Aug 28 12:30:57 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
6413         * bin/create_ace_build:
6414           Now it will cleanup dead links on the build directory.
6416 Fri Aug 28 09:45:53 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6418         * ace/Synch: Fixed the constructor of ACE_Null_Condition so that
6419           it's consistent with ACE_Condition_Thread_Mutex.  Thanks to
6420           Mats Nilsson <mats.nilsson@xware.se> for reporting this.
6422 Fri Aug 28 08:33:20 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
6424         * ace/OS.h (FILE_FLAG_SEQUENTIAL_SCAN):  Given null definitions for
6425         FILE_FLAG_SEQUENTIAL_SCAN for Non Win32  platforms.
6427 Thu Aug 27 19:40:32 1998  Steve Huston  <shuston@riverace.com>
6429         * ace/OS.i: Changed an erroneous ACE_HAS_PTHREAD_DRAFT6 to
6430           ACE_HAS_PTHREADS_DRAFT6.  Thanks to Chuck Gehr for catching this.
6432 Thu Aug 27 15:47:34 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
6434         * ace/Proactor.cpp (handle_signal): Fixed code for looping around
6435           handle_events().  Thanks to Marc Penner <mpenner@rst.inri.com>
6436           for pointing out the problem.
6438         * ace/OS.cpp (ACE_Countdown_Time::stop): Removed the setting of
6439           errno to ETIME when we have used all of timeout.  This was
6440           necessary since this errno was interfering with errno being set
6441           by other parts of ACE.
6443 Thu Aug 27 13:45:31 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
6445         * ace/OS.h:  Added /**/ between "#include" and
6446           "<ace/sys_conf.h>".  Otherwise, MSVC spits out warnings, tons of
6447           them.
6449         * ace/Profile_Timer.h (ACE_Profile_Timer): Remove the Win32
6450           section.  Win32 (except CE) actually uses the code in
6451           ACE_HAS_GETRUSAGE.
6453 Thu Aug 27 13:12:04 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
6455         * examples/Reactor/Proactor/test_proactor.cpp :
6456         test_proactor_with_aio.cpp is removed.
6457         test_proactor.cpp should do well on Win as well as other
6458         POSIX4 compliant platforms (with some known bugs in Solaris2.6).
6460 Thu Aug 27 11:35:11 1998  David L. Levine  <levine@cs.wustl.edu>
6462         * etc/ACE-guidelines.html: added rule to declare a loop index
6463           before the loop, if it's used after the loop.
6465         * ace/OS.h,README: added ACE_LACKS_RTTI support, for use with
6466           ACE_HAS_ANSI_CASTS without dynamic_cast.
6468         * ace/config-sunos5.5.h (Sun CC only), config-osf1-4.0.h:
6469           added conditional ACE_LACKS_RTTI.
6471         * include/makeinclude/platform_osf1_4.0.GNU: added rtti=0
6472           support.
6474         * ACE-INSTALL.html,include/makeinclude/wrapper_macros.GNU:
6475           updated comments to reflect that rtti=0 is now supported on
6476           OSF1-4.0.  (It's not only supported on Sun CC/SunOS 5.)
6478         * tests/SOCK_Connector_Test.cpp (host_is_up): broke out
6479           the code to test whether a host exists, is reachable, and
6480           is up into host_is_up ().  Consider the host up if the
6481           blocking connection attempt succeeds, or down if it doesn't.
6483 Wed Aug 26 23:43:42 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
6485         * ACE version 4.5.32 released.
6487 Wed Aug 26 19:11:07 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
6489         * bin/count_lines:
6490           A nice Perl script to count lines of code.
6492 Wed Aug 26 17:35:43 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6494         * tests/Reactors_Test.cpp (close): Oops, the ACE_ASSERT() was
6495           incorrect.  It should be
6497           ACE_ASSERT (Test_Task::task_count_ >= 0);
6499           Thanks to David Levine for reporting this.
6501 Wed Aug 26 07:47:57 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
6503         * ace/Select_Reactor.h: Added template specialization for
6504           ACE_Guard<ACE_Select_Reactor_Token_T<ACE_Noop_Token>> to speed
6505           thing up when using lock-freed Select_Reactor.
6507         * ace/Select_Reactor.cpp: Removed template instantiation for
6508           ACE_Guard<ACE_Select_Reactor_Token_T<ACE_Noop_Token>> because
6509           it's been specialized in .h file.
6511 Wed Aug 26 08:51:23 1998  Steve Huston  <shuston@riverace.com>
6513         * ace/OS.cpp (thr_keycreate): On pthreads draft 6, the call is
6514           pthread_key_create, not pthread_keycreate.  Thanks to Arturo
6515           Montes <mitosys@colomsat.com.co> for this fix.
6517 Wed Aug 26 08:32:18 1998  David L. Levine  <levine@cs.wustl.edu>
6519         * tests/Reactor_Performance_Test.cpp (create_reactor):
6520           wrapped block in "if" statement with {} to prevent syntax
6521           error.  Yet another example of why we should always use
6522           {} in "if" statements :-)
6524 Wed Aug 26 07:54:49 1998  J. Russell Noseworthy <rnosewor@objectsciences.com>
6526         * ace/OS.{i,cpp} (rwlock_init): use native ::rwlock_init on Solaris,
6527           even if ACE_HAS_STHREADS isn't defined.  This avoids a nasty
6528           bug on startup with only ACE_HAS_PTHREADS defined on Solaris.
6529           The ACE_Object_Manager fails to initialize its first
6530           preallocated object, and core dumps when trying to use
6531           the ACE_Log_Msg lock, which hasn't been initialized yet.
6533 Tue Aug 25 21:26:29 1998  James CE Johnson <jcej@lads.com>
6535         * include/makeinclude/platform_linux_lxpthread.GNU:
6536           added NO_IMPLICIT_TEMPLATES support.  To disable
6537           -fno-implicit-templates, set NO_IMPLICIT_TEMPLATES
6538           to anything in either your environment or on the
6539           make command line.
6541 Tue Aug 25 20:04:09 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6543         * ace/config-hpux11.h: Added ACE_HAS_AIO_CALLS.  Thanks to John
6544           Mulhern for verifying this.
6546         * etc: Began to add the ACE tutorials.  Thanks to James CE Johnson
6547           <jcej@lads.com> for contributing this stuff.
6549         * tests/Reactor*.cpp: Fixed all the Reactor tests so that they'd
6550           abide by the appropriate design rules.  Thanks to Hans Rohnert
6551           <rohnert@scr.siemens.com> for reporting this.
6553 Tue Aug 25 19:31:37 1998  David L. Levine  <levine@cs.wustl.edu>
6555         * ace/Memory_Pool.i (~ACE_Lite_MMAP_Memory_Pool,~ACE_MMAP_Memory_Pool):
6556           swapped to avoid use of ~ACE_MMAP_Memory_Pool before its linline
6557           definition.
6559 Tue Aug 25 18:48:50 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
6561         * ace/Service_Config.cpp (parse_args): Changed the default for
6562           ACE_Service_Config::no_static_svcs_ to be 1.  This means that by
6563           default static services (ACE_Naming_Context and
6564           ACE_Service_Manager) will *not* be loaded into the Service
6565           Repository.  The -n option remains the same for backward
6566           compatibility, i.e., it sets ACE_Service_Config::no_static_svcs_
6567           to 1.  -y is a new option that sets
6568           ACE_Service_Config::no_static_svcs_ to 0.
6570           The motivation for this change was to minimize the ACE
6571           footprint, i.e., only load them if the program requires it.
6573 Tue Aug 25 18:28:11 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
6575         * ace/OS.i (strdup): Changed ::strlen to ACE_OS::strlen so we can
6576           get the actual length for UNICODE strings.  Thanks to Dana
6577           Hackman <upboms@network-one.com> for reporting this.
6579           Also, the size of the allocated memory should be
6580           (strlen(s)+1)*sizeof(wchar_t), not strlen(s)*sizeof(wchar_t)+1.
6582 Tue Aug 25 14:33:46 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
6584         * ace/XtReactor.cpp:
6585           The lock type for the ACE_XtReactor was wrong.
6587 Tue Aug 25 13:36:10 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
6589         * tests/Aio_Platform_Test.cpp (do_sysconf): Fixed the VxWorks
6590         warnings.
6592 Tue Aug 25 13:04:00 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
6594         * ace/Memory_Pool: Added virtual destructors.
6596 Tue Aug 25 10:38:52 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
6598         * bin/auto_compile:
6599           Added orbsvcs/test/Property/run_test.pl.
6600           The Simple test was moved to Simple/time.
6602 Tue Aug 25 10:45:50 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
6604         * tests/Aio_Platform_Test.cpp: Fixed the SunCC errors about
6605                 missing function prototypes. Also put the various
6606                 <sysconf> routines under "#if defined <SYMBOL>"
6607                 statements.
6609 Tue Aug 25 07:42:40 1998  David L. Levine  <levine@cs.wustl.edu>
6611         * ace/Memory_Pool.cpp: changed ACE_Auto_Basic_Array_Ptr<char *>
6612           template instantiation to ACE_Auto_Basic_Array_Ptr<char>.
6614         * examples/IPC_SAP/UPIPE_SAP/ex3.cpp (consumer): changed
6615           ACE_Auto_Basic_Ptr <char> to ACE_Auto_Basic_Array_Ptr <char>.
6617         * tests/Reactor_Performance_Test.cpp,
6618           examples/IPC_SAP/UPIPE_SAP/ex{2,3}.cpp:
6619           removed explicit ACE_Auto_Basic_Array_Ptr <char> instantiation
6620           because it's now in libACE.
6622         * include/makeinclude/wrapper_macros.GNU: added BUILD
6623           definition when building static libs only.  This was necessary
6624           to allow the TAO/orbsvcs/tests/Simulator/{EventSup,DOVEMIB}
6625           makes to work properly on both Solaris and VxWorks.
6626           It also means that BUILD is no longer necessary in most Makefiles.
6628         * tests/Message_Queue_Notification_Test.cpp (main): removed
6629           trailing ".cpp" from log file name.
6631         * ace/config-sunx86-sunc++-4.x.h: removed because it wasn't being
6632           maintained, because config-sunos5.{5,6}.h are supported on Solaris86.
6634         * include/makeinclude/wrapper_macros.GNU: fixed determination
6635           of whether the g++ version supports exception handling.  Assume
6636           that it doesn't on VxWorks.  Thanks to Margherita Vittone Wiersma
6637           <vittone@fndaub.fnal.gov> for reporting this.
6639         * include/makeinclude/platform_vxworks5.x_g++.GNU: use := instead
6640           of += to set PATH, because += seems to insert a space.
6642 Tue Aug 25 05:23:11 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
6644         * tests/Message_Queue_Notifications_Test.dsp: Fixed something....
6646         * tests/tests.dsw: Fixed a typo.
6648         * ace/ace_{dll,lib}.dsp:
6649         * ace/Makefile: Added Select_Reactor_T and Select_Reactor_Base.
6650           Rebuilt file dependencies.
6652         * ace/Select_Reactor[_Base,_T].{h,i,cpp}: Templatized
6653           ACE_Select_Reactor and gangs.  The original Select_Reactor files
6654           are splited into three sets of files.  Select_Reactor_Base
6655           defines common components used by Select_Reactor and defines
6656           Select_Reactor_Base class.  Select_Reactor_T defines the
6657           template classes.  Select_Reactor instantiates necessary
6658           template classes.  Next step is to add template specialization
6659           for ACE_Guard< ACE_Select_Reactor_Token_T <ACE_Noop_Token> >.
6661         * ace/Synch.{h,i}: Added a new class ACE_Noop_Token which is a
6662           subclass of ACE_Null_Mutex.  It supports a null renew method.
6663           This class should be called ACE_Null_Token but the name is
6664           already used.
6666 Tue Aug 25 01:38:40 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6668         * examples/Threads/task_three.cpp (main): Fixed this example so
6669           that it works portably with signals.  Thanks to Susan Liebeskind
6670           <susan.liebeskind@gtri.gatech.edu> for reporting this.
6672         * tests/Aio_Platform_Test.cpp: Removed the forward decls
6673           so that don't conflict with the use of "static" later on.
6674           Thanks to David Levine for reporting this.
6676 Mon Aug 24 22:23:33 1998  David L. Levine  <levine@cs.wustl.edu>
6678         * examples/IPC_SAP/UPIPE_SAP/ex{2,3}.cpp: removed unnecessary
6679           includes of fstream.h.
6681 Mon Aug 24 18:11:39 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
6683         * ace/Memory_Pool.cpp (ACE_Local_Memory_Pool::release): This
6684           memory pool uses "new" to create memory chunks for the Malloc
6685           class.  However, since it did not keep track of this memory,
6686           these chunks were leaked.
6688           The solution was to keep tarck of the chunks allocated and
6689           delete them in release().
6691         * ace/Object_Manager.cpp (~ACE_Object_Manager): Moved TSS cleanup
6692           *before* Service_Config::close().  We need this to happen since
6693           DLL related TSS objects need to get cleaned up *before* the DLL
6694           is unlinked.  The only downside to this order of things is that
6695           Log_Msg will also get cleaned up by TSS cleanup, and we need to
6696           make sure that we do not access Log_Msg after TSS cleanup.
6698           For this to work, we need to make sure of two things: user code
6699           is not called and ACE does not use Log_Msg after this after TSS
6700           resources have been cleaned up. The only major code that is
6701           called is Service_Config::close().  Since
6702           Service_Config::fini_svcs() has already been called,
6703           Service_Config::close() only unlinks the DLLs and does not call
6704           into user code.
6706         * ace/Service_Repository.cpp (close): Don't access Log_Msg since
6707           it has already been deleted by the time this code runs.
6709         * ace/Service_Config.cpp (close): Don't access Log_Msg since it
6710           has already been deleted by the time this code runs.
6712 Mon Aug 24 18:13:58 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6714         * tests/Aio_Platform_Test.cpp: Fixed a few problems due
6715           to the fact that we weren't carefully guarding against platforms
6716           that don't support AIO macros.  Thanks to Dana Hackman
6717           <upboms@network-one.com> for reporting this.
6719 Mon Aug 24 15:18:46 1998  David L. Levine  <levine@cs.wustl.edu>
6721         * tests/run_tests.sh: run Message_Queue_Notifications_Test
6722           instead of Message_Queue_Notifications_Test.cpp.
6724 Mon Aug 24 13:05:03 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6726         * ace/config-{chorus,WinCE,vxworks5.x}.h: Added
6727           ACE_HAS_STRDUP_EMULATION.  Thanks to Chuck Gehr for this
6728           suggestion.
6730         * ace/OS.i (strdup): Removed complicated #ifdef and replaced it
6731           with ACE_HAS_STRDUP_EMULATION.
6733 Mon Aug 24 10:41:07 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
6735         * ace/OS.h: Provided null defitions for all the <wstat> wait
6736                 status macros for ACE_WIN32 platform.
6738 Mon Aug 24 00:11:00 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6740         * examples/Reactor/Misc/pingpong.cpp (run_svc): Fixed a subtle
6741           potential "order of destruction" bug with this test.  Thanks to
6742           Hans Rohnert for reporting this.
6744 Sun Aug 23 21:09:55 1998  Arturo Montes  <mitosys@colomsat.net.co>
6746         * ace/OS.i (thr_testcancel): with ACE_HAS_PTHREAD_DRAFT6,
6747           use ::pthread_testintr () instead of pthread_testcancel ().
6748           Thats what FSU pthreads uses.  Hopefully, MVS does also.
6750 Sun Aug 23 16:28:10 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6752         * ace/Process.cpp (spawn): Removed the ACE_DEBUG messages on exec
6753           failure, etc.  If apps want to know what has failed, they need
6754           to check the return from spawn() or wait().  ACE shouldn't be
6755           generating debugging information gratuitiously...
6757 Sun Aug 23 15:42:48 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
6759         * ace/Process.cpp: Put the warning on failure on exec
6760         ("ACE_Process::spawn (); exec failed: exiting!!!!\n") under
6761         condition (ACE_Service_Config::debug_).
6763 Sun Aug 23 11:12:46 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
6765         * tests/Makefile:
6766         * tests/Message_Queue_Notifications_Test.cpp:
6767           Fixed typos.
6769 Sat Aug 22 21:52:23 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6771         * examples/IPC_SAP/UPIPE_SAP/ex[23].cpp: Changed the
6772           Auto_Basic_Ptr to the Auto_Basic_Array_Ptr to avoid compilation
6773           problems.  Thanks to David Levine for reporting this.
6775 Sat Aug 22 20:13:37 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
6777         * ACE-INSTALL.html: Added instructions for adding Alpha
6778           configurations to MSVC 5 project files.
6780 Sat Aug 22 13:24:00 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6782         * tests/Message_Queue_Notifications_Test.cpp: Surrounded the
6783           ACE_Barrier with conditional compilations for ACE_HAS_THREADS.
6784           Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this.
6786         * tests/Message_Queue_Notifications_Test.cpp: Cleaned up the
6787           formatting a bit.
6789         * tests: Renamed MsgQueue_Notifications_Test.{cpp,bpr,dsp} to
6790           Message_Queue_Notifications_Test.{cpp,bpr,dsp} to be more
6791           consistent with spelling.
6793         * ace/OS.h: Moved the ACE_timer_t down a bit in the file so that
6794           ACE_UINT is defined.  Thanks to Naga for reporting this.
6796         * ace/OS.h: Added a "no-op" typedef for ACE_Rusage for platforms
6797           that don't support it.  Thanks to David Levine for reporting
6798           this.
6800 Sat Aug 22 07:59:28 1998  David L. Levine  <levine@cs.wustl.edu>
6802         * tests/UPIPE_SAP_Test.cpp (main): removed unused local
6803           variables thr_handle_acceptor and thr_handle_connector.
6805         * tests/UPIPE_SAP_Test.cpp (connector): removed leading newline
6806           in printout at end of thread execution.
6808         * ACE-INSTALL.html: added egcs section.  Thanks to
6809           Ganesh Pai <gpai@voicetek.com> for a portion of it.
6811         * examples/IPC_SAP/UPIPE_SAP/ex1.cpp (peer1); removed spurious
6812           "new" in ACE_NEW_RETURN involcation.
6814         * examples/IPC_SAP/UPIPE_SAP/ex{2,3}.cpp: untabified.
6816         * examples/IPC_SAP/UPIPE_SAP/Makefile: updated dependencies
6817           so that the module will build, now that auto_builtin_ptr.h
6818           has been removed.
6820 Sat Aug 22 00:27:06 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
6822         * ace/Read_Buffer.i (alloc): Added new method to get to
6823           Read_Buffer's allocator.  This is necessary because we need to
6824           free up the memory that it allocates for us.
6826         * ace/Service_Object.cpp (fini): New method calls fini() on
6827           <type_> and sets the <fini_already_called_> flag.  This flag is
6828           tested in the destructor so that the <type_> is not fini'ed
6829           twice.
6831         * ace/Service_Repository.cpp (fini): New method to finalize (call
6832           fini() and possibly delete) all the services.
6834         * ace/Service_Config.cpp (fini_svcs): New method calls
6835           ACE_Service_Repository::instance ()->fini ().
6837         * ace/Object_Manager.cpp (~ACE_Object_Manager): Added a call
6838           to close and possibly delete all service instances in the
6839           Service Repository by calling ACE_Service_Config::fini_svcs.
6840           This call is made *before* the library singletons (such as
6841           the Reactor, Proactor, Thread_Manager, and Allocator) are
6842           destroyed since the service instances maybe accessing these
6843           singletons in the fini() and destructor methods.  Note that
6844           user singletons are destroyed before the services are
6845           fini'ed or closed.
6847         * ace/Service_Config.cpp (fini_svcs): Disable log messages when
6848           appropriate.
6850 Fri Aug 21 22:26:54 1998  Steve Huston  <shuston@riverace.com>
6852         * ace/OS.i (ACE_OS::gettimeofday): On Win32, instead of _ftime,
6853           use GetSystemTimeAsFileTime.  _ftime has a bug crossing from
6854           daylight time to standard time in the US.
6856 Fri Aug 21 22:13:51 1998  David L. Levine  <levine@cs.wustl.edu>
6858         * ace/OS.i (thr_cancel, thr_setcancelstate, thr_setcanceltype,
6859           thr_testcancel): added #else
6860           case, with ACE_NOTSUP (-1), to the various threads
6861           types.  It catches
6862           ACE_HAS_PTHREADS && ACE_LACKS_PTHREAD_CANCEL.  Thanks
6863           to Naga for reporting this.
6865         * ace/OS.i (thr_setcanceltype): don't support if
6866           ACE_LACKS_PTHREAD_CANCEL.  Thanks to Naga for reporting this.
6868         * ace/config-chorus.h: added ACE_LACKS_PTHREAD_CANCEL.
6869           Thanks to Naga, again.
6871 Fri Aug 21 20:23:44 1998  Douglas C. Schmidt  <schmidt@cumbia.cs.wustl.edu>
6873         * examples/IPC_SAP/UPIPE_SAP/ex[123].cpp: Updated these programs
6874           to use the ACE_Auto_Basic_Ptr instead of the bizarre
6875           auto_builtin_ptr.h file, which has been removed...  Also
6876           replaced the global thr_mgr with the ACE_Thread_Manager
6877           Singleton and moved the <fstream.h> include file until AFTER the
6878           ACE includes to avoid problems with HP/UX 11's C++ compiler.
6879           Thanks to John Mulhern for motivating these fixes.
6881         * ace/config-hpux-10.x.h: Added a check so that if threading is
6882           disabled, then timespec_t does not get defined.  This seems to
6883           work around a bug with HP/UX 10.x.  Thanks to Ganesh M. Pai
6884           <gpai@voicetek.com> for reporting this.
6886 Fri Aug 21 19:54:26 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
6888         * include/makeinclude/wrapper_macros.GNU:
6889           The ACE_HAS_EXCEPTIONS macro definition goes into CPPFLAGS now,
6890           so make depend can use it too.
6892 Fri Aug 21 18:47:40 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
6894         * ace/Process.cpp (wait): Need to check if status is non-null
6895           before accessing the exit status on NT.   Thanks to Carlos for
6896           pointing this out.
6898 Fri Aug 21 16:40:39 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
6900         * ace/config-irix6.x-sgic++.h:
6901         * ace/OS.i:
6902           Some platforms (notable IRIX 6.x) do not update the timer in
6903           pthread_cond_timedwait(), this made the Semaphore test fail for
6904           those platforms.
6905           I modified the ACE_OS::sema_wait() function to obtain the
6906           desired behavior.
6908 Fri Aug 21 15:50:05 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6910         * etc/ACE-porting.html: Updated some discussion on selecting
6911           versions of STL that work with ACE and TAO.  Thanks to Bob
6912           Laferriere <robert.laferriere@gemed.med.ge.com> for reporting
6913           this.
6915 Fri Aug 21 14:49:31 1998  Steve Huston  <shuston@riverace.com>
6917         * include/makeinclude/platform_hpux_gcc.GNU: Changed the default
6918           from build without threads to build with threads.  Thanks to Ganesh
6919           Pai <gpai@voicetek.com> for this change.
6921 Fri Aug 21 09:25:21 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6923         * ace/OS.h: Moved several #ifdefs from Profile_Timer.h into OS.h
6924           to clean up the code.
6926         * ace/Profile_Timer.h: Cleaned up the class definition to make the
6927           OSE tool happy.  Thanks to Doug Anderson <doug@clark.net> for
6928           reporting this.
6930         * etc: Moved the ACE-subsets.html file into $ACE_ROOT/etc.
6932         * ace/Synch_Options.h: Fixed a typo that was giving the OSE tool
6933           fits!  Thanks to Doug Anderson <doug@clark.net> for reporting
6934           this.
6936 Fri Aug 21 03:41:01 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
6938         * examples/OS/Process/process.cpp:
6939         * examples/OS/Process/imore.cpp: Minor bug fixes.  Print out of
6940           child processes' exit status.
6942 Thu Aug 20 23:33:15 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
6944         * ace/Process.cpp (wait): Allow passing back the exit status of
6945           the child process on NT.
6947 Thu Aug 20 19:52:21 1998  Nagarajan Surendran  <naga@cs.wustl.edu>
6949         * ace/OS.i:
6950           ACE_INLINE int
6951           ACE_OS::thr_getspecific (ACE_thread_key_t key, void **data)
6952           ...
6953           #else /* this is Draft 7 or STD */
6954           *data = pthread_getspecific (key);
6956           changed the ::pthread_getspecific to pthread_getspecific as it
6957           is a macro in Chorus. Thanks to David Levine for finding this.
6959 Thu Aug 20 17:05:28 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6961         * examples/Service_Configurator/Misc/Timer_Service.cpp: Added some
6962           ACE_SVC_FACTORY_* macros for Timer_Service_1 so that it'll
6963           compile and link properly.  Thanks to David Levine for reporting
6964           this.
6966 Thu Aug 20 14:39:53 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
6968         * ace/Process.{h,cpp} (ACE_Process::wait): Added a parameter of int* to
6969           get back the exit status of a child process.
6971 Thu Aug 20 14:33:59 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
6973         * etc/ACE-porting.html: Generalized the discussion to cover
6974           porting TAO, as well as to explain what C++ features must/can be
6975           supported to port ACE/TAO to a new platform.
6977 Thu Aug 20 05:12:24 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
6979         * ACE version 4.5.31 released.
6981 Thu Aug 20 03:10:48 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
6983         * tests/UPIPE_SAP_Test.cpp (main): Reverted back to use
6984           ACE_Thread.  Although it's considered the "Right Thing" to spawn
6985           threads using ACE_Thread_Manager, I'll keep this file to use
6986           ACE_Thread to serve as an example that you can also use
6987           ACE_Thread to do any tricks you like, and, a sanity check.
6989         * ace/OS.cpp (ACE_Thread_Adapter::invoke): Don't create the
6990           ACE_Thread_Exit object if we are not spawning the thread using
6991           ACE_Thread_Manager.  Otherwise, when a non-thread manager
6992           spawned thread exits, the TSS clean up routing gets into an
6993           infinite loop calling ~ACE_Thread_Exit recursively and
6994           eventually the stack gets overflowed and the thread then
6995           "appears" to exit normally.  But in fact, TSS cleanup does not
6996           complete at all.
6998         * ace/Thread_Manager.i:
6999         * ace/Thread_Manager.cpp (at_exit,thr_self): Moved all at_exit
7000           methods into the .i file.  All at_exit methods and thr_self
7001           don't really need to hold Thread_Manager's lock.
7003           Notice that after the newly spawned thread enters the
7004           ACE_Thread_Adapter::invoke routine, we can safely manipulate its
7005           Thread_Deacriptor because it has been registered properly.  This
7006           change should further reduce the times a thread gets started.
7008 Wed Aug 19 20:34:25 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7010         * ace/README:
7011         * ace/OS.h: Added a new macro directive
7012           "ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER".  By defining
7013           this macro, it implicitly forces ACE to use non-static object
7014           manager and _NOT_ instantiating ACE_Object_Manager for you and
7015           assumes you will take the responsibility of instantiating
7016           ACE_Object_Manager at the proper place in your programs.  This
7017           is usually used when using ACE with MFC/Windows programs.
7018           Because the main function is defined by MFC/Windows libraries,
7019           ACE has no way to instantiate object manager in these programs.
7020           For programs using MFC, a good place to instantiate Object
7021           Manger will be to define ACE_Object_Manager a member of
7022           CApplication derived classes so it gets instantiated/destructed
7023           properly.
7025         * ace/config-win32.h: Revised the comment about
7026           ACE_HAS_NONSTATIC_OBJECT_MANAGER
7028 Wed Aug 19 17:15:00 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
7030         * ace/Service_Config.cpp: Moved the registration of the SIGHUP
7031           signal from the constructor to the open() method since otherwise
7032           it'll never get called in the typical usecase...  Thanks to
7033           Susan Liebeskind <susan.liebeskind@gtri.gatech.edu> for
7034           reporting this.
7036 Wed Aug 19 14:11:22 1998  David L. Levine  <levine@cs.wustl.edu>
7038         * ACE version 4.5.30 released.
7040 Wed Aug 19 13:38:40 1998  David L. Levine  <levine@cs.wustl.edu>
7042         * ace/OS.cpp (ACE_TSS_Cleanup::detach): only declare local
7043           temp_key ifdef ACE_WIN32, because it's only used there.
7045 Wed Aug 19 10:13:36 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7047         * ace/OS.cpp (ACE_Thread_Cleanup::remove): Don't bother to check
7048           the <in_use_> status when the object manager is shutting down.
7049           Otherwise, we are creating another fresh ACE_TSS object all over
7050           again.
7051           (ACE_Thread_Cleanup::detach): When cleaning up a thread key, we
7052           must first remove it from the internal table before actually
7053           freeing the key to avoid race condition (the OS may reassigned
7054           the key to other the_keycreate requests.)
7056         * ace/Log_Msg.cpp (close): Removed the ACE_Thread::key_free
7057           statement.  This should be handled by TSS cleanup mechanism.
7059         * ace/Thread_Manager.cpp (at_exit): Moved the return statement
7060           after #endif macros to avoid the no return compiler warning.
7062         * tests/UPIPE_SAP_Test.cpp (main): Changed to use
7063           ACE_Thread_Manager to spawn and wait for threads so the TSS
7064           object gets cleanup correctly.  Using plain vanilla
7065           ACE_Thread::spawn and/or ACE_OS::thr_create no longer works.
7067 Wed Aug 19 10:06:25 1998  David L. Levine  <levine@cs.wustl.edu>
7069         * etc/ACE-guidelines.html: @added guidelines to check for
7070           success of an attempted open of an existing file, and to not
7071           release copyrighted, etc., material with ACE/TAO.
7073         * tests/SOCK_Connector_Test.cpp (find_another_host): check to see
7074           if the other host is up, by attempting a blocking connection with
7075           it.  Only return another host if the connection succeeds.
7076           Also, cache the other host so that multiple calls will not
7077           have to repeat the connection attempt.
7079 Wed Aug 19 08:25:20 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
7081         * examples/Service_Configurator/Misc/Timer_Service.cpp: Changed
7082           Timer_Service_2 to Timer_Service_1 since it was a typo.  Thanks
7083           to Irfan for reporting this.
7085 Tue Aug 18 22:10:43 1998  David L. Levine  <levine@cs.wustl.edu>
7087         * ace/config-fsu-pthread.h,config-hpux-10.x.h,config-mit-pthread.h,
7088           config-mvs.h,config-osf1-{3.2,4.0}.h,config-sco-5.0.0-mit-pthread.h,
7089           config-sunos5.{5,6}.h,config-tandem.h:
7090           removed ACE_HAS_ONEARG_SIGWAIT.  It's no longer used.
7092 Tue Aug 18 16:50:28 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
7094         * ace/Thread.i (sigsetmask): Renamed parameter name since it
7095           conflicts with STL class name.  Thanks to Kent Watsen
7096           <kent@watsen.net> for pointing this out.
7098         * examples/Reactor/Proactor/test_proactor.cpp (handle_write_stream):
7099           Fixed incorrect unary minus operator application.
7101 Tue Aug 18 16:43:00 1998  David L. Levine  <levine@cs.wustl.edu>
7103         * ACE version 4.5.29 released.
7105 Tue Aug 18 14:15:23 1998  Steve Huston  <shuston@riverace.com>
7107         * include/makeinclude/platform_aix4.2.GNU: Don't link programs
7108           against libACE.a - just against libACEshr.a (the shared lib).
7110         * include/makeinclude/platform_hpux_aCC.GNU:
7111         * include/makeinclude/platform_hpux_gcc.GNU: Switch support for threads
7112           on and off using "make threads=0" or "make threads=1".  The default
7113           for aCC is to use threads, and for gcc is to not.  I deduced the
7114           defaults from the old lib settings.  Sorry if the gcc one is wrong.
7116         * ace/config-hpux-10.x.h:  Added ACE_HAS_SIGISMEMBER_BUG, plus...
7117         * ace/config-hpux11.h:  Set threads things based on the setting
7118           of ACE_HAS_THREADS, which gets set in platform_macros.GNU (see above)
7119           to build with threads support.
7121 Tue Aug 18 10:57:32 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
7123         * include/makeinclude/rules.nested.GNU:
7124           Removed extra enter/leave messages at each directory, GNUmake
7125           does it for you.
7127 Tue Aug 18 08:15:30 1998  David L. Levine  <levine@cs.wustl.edu>
7129         * tests/Aio_Platform_Test.cpp (do_sysconf): on VxWorks, don't
7130           call ACE_OS::sysconf () because it's not supported.
7132         * bin/make_release: added -P to cvs checkout command, to ignore
7133           empty diretories.
7135 Mon Aug 17 22:56:17 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7137         * tests/version_tests/version_tests.dsw:
7138         * tests/version_tests/Dynamic_Priority_Test.dsp: Added a new
7139           project (as shown) into the workspace.
7141 Mon Aug 17 17:17:52 1998  Steve Huston  <shuston@riverace.com>
7143         * ace/Makefile: Removed IO_Cntl_Msg from files to build.  It's empty.
7145         * include/makeinclude/platform_hpux_aCC.GNU: Added '302' to warnings
7146           to suppress; changed LIBS from '=' to '+=' to work better with TAO
7147           builds.   Thanks to John Mulhern for these fixes.
7149 Mon Aug 17 17:04:31 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7151         * tests/Env_Value_Test.cpp (main): Changed to use ASYS_TCHAR* for
7152           arguments in main.
7154 Mon Aug 17 15:51:30 1998  David L. Levine  <levine@cs.wustl.edu>
7156         * ace/OS.i (thr_sigsetmask): with ACE_HAS_PTHREADS_DRAFT4 or
7157           ACE_HAS_PTHREADS_DRAFT6, added :: in front of sigprocmask ()
7158           call.  Without it, g++ on LynxOS was warning about use of
7159           sigprocmask () before definition.
7161 Mon Aug 17 14:59:13 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
7163         * etc: Added a new file, ACE-porting.html, which explains how to
7164           port ACE to new OS platforms.  Thanks to Gabriel Lima
7165           <gali@enea.se> for submitting this.
7167         * ace/FILE_Connector.h: Changed ACE_FILE_Connector so that it no
7168           longer inherits from ACE_FILE.  This relationship is unnecessary
7169           and was not used.  Thanks to Byron Harris for reporting this.
7171 Mon Aug 17 12:14:13 1998  Steve Huston  <shuston@riverace.com>
7173         Large number of small changes (all listed below) to begin aligning
7174         the large number of Pthreads-related definitions around the 4 supported
7175         drafts: 4, 6, 7, as well as the standard (also known as draft 10).
7176         The notation for "DCE threads" is gone.  DCE threads are primarily
7177         draft 4, plus platform-specific modifications.  Now all code must
7178         declare the pthreads draft, and handle any platform/implementation
7179         oddities as such.
7180         As time goes on, I will remove more of the ACE_HAS_... and ACE_LACKS...
7181         things that are actually changes with the pthreads drafts.
7182         I tested these on Solaris 2.5.1 (CC), HP-UX 10.20 and 11.00, AIX 4.2.1,
7183         and sanity-tested on NT/MSVC (though no changes affected the WTHREADS
7184         parts).
7186         * ace/README: Clarified use of Pthreads macros.
7188         * ace/config-hpux-10.x.h:
7189         * ace/config-lynxos.h:
7190         * ace/config-osf1-3.2.h:
7191         * ace/config-osf1-4.0.h:
7192           Changed from DCE threads to ACE_HAS_PTHREADS_DRAFT4.
7194         * ace/config-fsu-pthread.h:
7195         * ace/config-m88k.h:
7196         * ace/config-mvs.h:  Added ACE_HAS_PTHREADS_DRAFT6.
7198         * ace/config-aix-4.1.x.h:
7199         * ace/config-aix-4.2.x.h: Added ACE_HAS_PTHREADS_DRAFT7.
7201         * ace/config-chorus.h:
7202         * ace/config-dgux-4.x-ghs.h:
7203         * ace/config-hpux11.h:
7204         * ace/config-irix6.x-g++.h:
7205         * ace/config-irix6.x-sgic++.h:
7206         * ace/config-linux-lxpthreads.h:
7207         * ace/config-linux-pthread.h:
7208         * ace/config-mit-pthread.h:
7209         * ace/config-osf1-4.0.h:
7210         * ace/config-sco-5.0.0-mit-pthread.h:
7211         * ace/config-sunos-5.5.h: (also remove ACE_HAS_STHREADS if
7212           _POSIX_PTHREAD_SEMANTICS is defined by user).
7213         * ace/config-sunos5.6.h:
7215           Changed to / added ACE_HAS_PTHREADS_STD.
7217         * ace/config-hpux-10.x-g++.h: Changed over to use the base file
7218           config-hpux-10.x.h.
7220         * ace/OS.h:
7221         * ace/OS.i:
7222         * ace/OS.cpp:
7223           Unified the compile ifdefs for pthreads around ACE_HAS_PTHREADS,
7224           ACE_HAS_PTHREADS_DRAFT{4, 6, 7} and ACE_HAS_PTHREADS_STD.
7225           Removed all use of ACE_HAS_DCETHREADS; put in platform-specific
7226           settings where needed.
7228         * ace/Sched_Params.cpp:
7229         * ace/Synch.cpp: Removed the use of ACE_HAS_DCETHREADS.
7231 Mon Aug 17 12:10:54 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7233         * ace/ace_{dll,lib}.dsp: Removed Message_Queue_T.cpp from and included
7234           Message_Queue.cpp into source files that get build.  Hmm, I
7235           thought I made this change long ago.
7237         * ace/ace_ce_dll.dsp:  Changed the DLL output directories for some
7238           configurations.
7240 Mon Aug 17 11:25:18 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
7242         * ace/Strategies_T.h:
7243           In some platforms we need to include "ace/Thread_Manager.h"
7244           because its definition is used in the inline methods of some
7245           templates, and a few platform actually check the syntax of
7246           template code, even if the template is not used.
7248 Mon Aug 17 10:06:01 1998  David L. Levine  <levine@cs.wustl.edu>
7250         * netsvcs/lib/Server_Logging_Handler_T.cpp: replaced
7251           #include <string.h> with #include "ace/OS.h", so that
7252           _REENTRANT gets defined with g++.
7254         * apps/Gateway/Peer/Peer.{h,cpp} (Peer_Connector::open): added
7255           (unused) arguments to this function.  They are only provided to
7256           avoid a compiler warning about hiding the virtual function
7257           ACE_Connector<Peer_Handler, ACE_SOCK_CONNECTOR>::open (ACE_Reactor *,
7258           int).
7260         * tests/Dynamic_Priority_Test.cpp (run_performance_test):
7261           added delete of time_offsets array.  The test Purifies
7262           cleanly now.
7264 Mon Aug 17 00:05:02 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
7266         * examples/Reactor/ReactorEx/test_removals.cpp (main): Fixed
7267           signed/unsigned mismatch.
7269         * examples/Reactor/ReactorEx/test_talker.cpp (handle_read_stream):
7270           Fixed incorrect unary minus operator application.
7272 Sun Aug 16 20:57:12 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7274         * ace/OS.i (dlerror): Fixed a typo.  Thanks to Ossama Othman
7275           <othman@astrosun.tn.cornell.edu> for reporting this.
7277 Fri Aug 14 18:58:29 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
7279         * tests/Aio_Platform_Test.cpp   :       Changed <sysconf>'s to
7280         ACE_OS::sysconf's.
7282 Fri Aug 14 11:41:23 1998  Steve Huston  <shuston@riverace.com>
7284         * ace/OS.i (ACE_OS::dlclose): On HP-UX 10.x and 32-bit 11.00, do
7285           not actually call shl_unload if the library's ref count is more than
7286           1.  If shl_unload is called, it unloads the library, regardless of
7287           the reference count.  This has the affect of never unloading a
7288           library that's been loaded more than once, until the OS unloads it
7289           at process run-down.  Better than invalidating references to it,
7290           though.  The wonder of wrappers at work for you...
7292 Fri Aug 14 10:01:05 1998  David L. Levine  <levine@cs.wustl.edu>
7294         * ace/Basic_Types.h (ACE_UINT64_DBLCAST_ADAPTER): with
7295           ACE_LACKS_LONGLONG_T, only use low 32 bits.  We could devise
7296           a conversion from ACE_U_LongLong to double that uses all
7297           64 bits; but, it's probably easier for users to upgrade
7298           their hardware and/or compilers to ones that support 64
7299           bit ints :-)
7301 Thu Aug 13 19:29:33 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
7303         * ace/Message_Queue_T.i: Changed the is_empty_i() method to check
7304           if this->tail_ == 0 rather than this->cur_bytes_ <= 0 &&
7305           this->cur_count_ <= 0.  Thanks to Dirk Broer
7306           <Dirk.Broer@gsfc.nasa.gov> for suggesting this.
7308 Thu Aug 13 17:45:00 1998  Chris Gill  <cdgill@cs.wustl.edu>
7310         * ace/Basic_Types.h: added ACE_UINT64_DBLCAST_ADAPTER macro
7311           to patch unimplemented UINT64 to double casts
7313 Thu Aug 13 13:34:52 1998  David L. Levine  <levine@cs.wustl.edu>
7315         * os-patches/linux-patches.html: the af_inet.c patch is only
7316           needed through Linux kernel version 2.0.34.
7318         * tests/Conn_Test.cpp: disabled ACE_Hash_Addr template
7319           specialization on non-egcs g++.
7321         * tests/Process_Strategy_Test.{h,cpp} (~Process_Strategy):
7322           added an explicit destructor.  g++ 2.7.2.3 got very
7323           confused ("Internal compiler error") without it, apparently
7324           when generating it implicitly.
7326         * tests/ MsgQueue_Notifications_Test.cpp (producer): removed
7327           unused local "result".
7329 Wed Aug 12 22:45:50 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7331         * tests/MsgQueue_Notifications_Test.cpp: Added an explicit
7332           template instantiation.
7334 Wed Aug 12 21:32:05 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
7336         * ace/Message_Block.h:
7337         * ace/Message_Block.i:
7338         * ace/Message_Block.cpp:
7339           Enabled the base() method, it replaces the internal buffer and
7340           resets the Message_Block. There were other ways to do this (like
7341           calling data_block->base()), but some users find it convenient.
7342           I also modified the Data_Block::base() method to release any
7343           memory held by the class before the method is called. Thanks to
7344           Peter.Gorgia@libnet.com for pointing this out.
7346 Wed Aug 12 17:43:33 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7348         * tests/MsgQueue_Notifications_Test.cpp: The watermark test which
7349           uses cv's signaling to notify other threads is also merged into
7350           this file.
7352         * tests/MsgQueue_Water_Mark_Test.{dsp,cpp}: Removed.
7354 Wed Aug 12 17:12:57 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
7356         * APC.DSP:
7357         * Abondoned.dsp:
7358         * Console_Input.dsp:
7359         * Directory_Changes.dsp:
7360         * Exceptions.dsp:
7361         * Multithreading.dsp:
7362         * Network_Events.dsp:
7363         * Prerun_State_Changes.dsp:
7364         * Registration.dsp:
7365         * Registry_Changes.dsp:
7366         * Removals.dsp:
7367         * Talker.dsp:
7368         * Timeouts.dsp:
7369         * Window_Messages.dsp:
7370         * test_abandoned.cpp:
7371         * test_apc.cpp:
7372         * test_window_messages.cpp:
7373           Added updated versions of project files (with correct include
7374           directories).  Also changed the <main>'s to take in argc and
7375           argv.  Thanks to Jeff Hellzen <JHellzen@hwdcsaws.cahwnet.gov>
7376           for submitting these changes.
7378 Wed Aug 12 16:16:38 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7380         * tests/MsgQueue_Notifications_Test.cpp: Since this test doesn't
7381           use threads at all, I removed the #if ACE_HAS_THREADS macro.
7383 Wed Aug 12 14:57:51 1998  Jonathan Biggar  <jon@floorboard.com>
7385         * ace/config-sunos5.5.h: wrapped thread-related defines with
7386           "#ifdef _REENTRANT".
7388         * include/makeinclude/platform_sunos5_sunc++.GNU,wrapper_macros.GNU,
7389           ACE-INSTALL.html: added support for "threads" make option.
7391 Wed Aug 12 02:06:02 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7393         * tests/test_config.h (ACE_Test_Output): It seemed like redirecting
7394           the Log_Msg output back to stderr in close was a bit too early
7395           and some messages popped out after some tests ran successfully.
7396           Moved the redirecting code into the destructor.
7398 Tue Aug 11 22:47:49 1998  David L. Levine  <levine@cs.wustl.edu>
7400         * ace/TP_Reactor.cpp (dispatch_io_set): added
7401           ACE_UNUSED_ARG (ready_mask).
7403         * tests/test_config.h: added
7404           ACE_Singleton<ACE_Test_Output, ACE_Null_Mutex> template
7405           instantiation.  This shouldn't be done in a header, and
7406           I wouldn't be surprised if it breaks somewhere.  But, we
7407           don't have any other need for a .cpp file to link into all tests.
7409 Tue Aug 11 17:30:32 1998  Steve Huston  <shuston@riverace.com>
7411         * tests/test_config.h: Fixed ACE_Test_Output to get torn down clean
7412           in all cases by changing it from a static to an ACE_Singleton.
7413           Re-enabled it for Win32, non-WinCE.
7415 Tue Aug 11 15:51:47 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
7417         * ace/XtReactor.h (ACE_XtReactor): Changed the constructor so that
7418           the XtAppContext can be passed later.  This scheme allows for a
7419           default constructor.  Thanks to J-M Strauss
7420           <strauss@limeil.cea.fr> for suggesting this.
7422 Tue Aug 11 12:35:10 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7424         * ace/OS.i (fopen): On WinCE, reset the handle to 0 if CreateFile
7425           fails so we can detect errors when using the emulated FILE
7426           pointer on CE.
7428         * tests/test_config.h (~ACE_Test_Output): Changed !defined
7429           (ACE_HAS_WINCE) to !defined (ACE_WIN32).  When using non-static
7430           object manager, the singleton ACE_Log_Msg may no longer exist
7431           here and the reseting here just causes access violations.  Other
7432           platforms which use non-static might suffer the same sympton.
7434 Tue Aug 11 12:29:03 1998  David L. Levine  <levine@cs.wustl.edu>
7436         * os-patches/linux-patches.html: the gas patch on alphas
7437           isn't necessary with binutils-2.9.1.
7439 Tue Aug 11 12:23:09 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7441         * ace/ARGV.{h,cpp}: Made a series of changes to make the file CE
7442           friendly.
7444         * ace/Message_Queue_T.cpp: Adjusted the indentation.
7446 Tue Aug 11 02:06:55 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
7448         * ace/WFMO_Reactor.cpp (dispatch_handles): Because dispatch_index
7449           is absolute, nCount should be set to
7450           (max_handlep1 - dispatch_index) instead of (nCount -
7451           dispatch_index). Thanks to Alberto Villarica
7452           <Alberto.Villarica.rav@nt.com> for pointing this out.
7454 Mon Aug 10 20:12:21 1998  Steve Huston  <shuston@riverace.com>
7456         * ace/Log_Msg.cpp: On HP-UX 10.x, display thread's readable number
7457           rather than an int represenation of a pointer.
7459         * tests/test_config.h (ACE_Test_Output): When destroying
7460           ACE_Test_Output, make sure to remove all traces of it from
7461           ACE_Log_Msg instance.
7463         * tests/Dynamic_Priority_Test.cpp: Don't try to set process-wide
7464           scheduling if it's not supported on the platform.
7466         * tests/Thread_Manager_Test.cpp: Don't do a kill on pthreads draft
7467           4 platforms.  This is a NOP for now - it will make a difference when
7468           I check in more threads-related changes later.
7470 Mon Aug 10 10:35:26 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
7472         * Added the ACE-subsets.html file to the ACE directory so that
7473           we can all modify it.
7475 Mon Aug 10 10:29:29 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7477         * ace/OS.i (shm_open): There's no need to mess with the security
7478           attribute here.
7480 Mon Aug 10 01:09:05 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7482         * ace/OS.{h,i}: Added a new function
7483           "default_win32_security_attributes" to return the defualt
7484           security setting of kernel objects.  By default, this function
7485           is a no-op.  You must define
7486           ACE_DEFINES_DEFAULT_WIN32_SECURITY_ATTRIBUTES for this function
7487           to return a SECURITY_ATTRIBUTES object that has no access
7488           restriction.
7490           Modified all functions that use Win32 kernel objects to invoke
7491           this new function to get the appropriate security attributes.
7492           Thanks to Ivan Murphy <Ivan.Murphy@med.siemens.de> for
7493           suggesting this.
7496 Sun Aug 09 23:26:39 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
7498         * ACE version 4.5.28 released.
7500 Sun Aug  9 23:08:51 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
7502         * Checked in a bunch of files/directories that I'd neglected
7503           to check in before.
7505 Sun Aug 09 23:02:24 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
7507         * ACE version 4.5.27 released.
7509 Sun Aug  9 15:04:41 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
7511         * netsvcs/clients/Tokens/manual/manual.cpp: Changed all instances
7512           of "#if (ACE_WIN32)" to "#if defined (ACE_WIN32)"
7514         * netsvcs/netsvcs.dsw: Added this workspace which contains all the
7515           netsvcs projects.
7517         * netsvcs/clients/Tokens/collection/collection.dsp:
7518         * netsvcs/clients/Tokens/collection/collection.dsw:
7519         * netsvcs/clients/Tokens/deadlock/deadlock.dsp:
7520         * netsvcs/clients/Tokens/deadlock/deadlock.dsw:
7521         * netsvcs/clients/Tokens/invariant/invariant.dsp:
7522         * netsvcs/clients/Tokens/invariant/invariant.dsw:
7523         * netsvcs/clients/Tokens/manual/manual.dsp:
7524         * netsvcs/clients/Tokens/manual/manual.dsw:
7525         * netsvcs/clients/Tokens/mutex/mutex.dsp:
7526         * netsvcs/clients/Tokens/mutex/mutex.dsw:
7527         * netsvcs/clients/Tokens/rw_lock/rw_lock.dsp:
7528         * netsvcs/clients/Tokens/rw_lock/rw_lock.dsw:
7529           Added these MSVC projects and workspaces.  Thanks to Jeff
7530           Hellzen <JHellzen@hwdcsaws.cahwnet.gov> for submitting these.
7532         * netsvcs/clients/Logger/direct_logging.dsp:
7533         * netsvcs/clients/Logger/indirect_logging.dsp:
7534         * netsvcs/clients/Naming/Client/Client_Test.dsp:
7535         * netsvcs/clients/Naming/Client/main.dsp:
7536         * netsvcs/lib/netsvcs.dsp:
7537         * netsvcs/servers/servers.dsp:
7538           Mainly just updated all of these and made sure that they worked.
7540 Sun Aug  9 09:17:16 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
7542         * ace/Strategies_T.cpp (connect_svc_handler): Changed the call to
7543           this->CONNECT_STRATEGIES::connect_svc_handler() to avoid compile
7544           problems with GCC on LynxOS.  Thanks to Sergio for reporting
7545           this.
7547 Sat Aug  8 09:37:27 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
7549         * ace/INET_Addr.cpp:
7550           Reverted the operator== optimization, it turns out that the
7551           definition of struct in_addr is not portable after all. Maybe
7552           there is a set of macros to make it portable?
7554         * ace/ACE.h:
7555         * ace/ACE.cpp:
7556           Returning <const char* const> is unnecesary; and gives no more
7557           guarantees that <const char*>, plus it gives warnings in
7558           IRIX/MIPSPro compilers.
7560         * ace/Synch.cpp:
7561           Removed explicit instantiations of ACE_Guard<ACE_Null_Mutex>,
7562           the class is specialized so no instantiation is necessary. Same
7563           thing for ACE_Write_Guard and ACE_Read_Guard.
7565 Fri Aug  7 23:18:53 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
7567         * ace/config-sunos5.5.h:
7568           Updated the new ACE_CC_NAME macros (and friends) so they work
7569           with egcs (and hopefully g++).
7571         * tests/MT_SOCK_Test.cpp:
7572           Removed double comma in function call.
7574 Fri Aug  7 21:39:26 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
7576         * ace/INET_Addr.cpp:
7577           Compare the fields of in_addr instead of calling memcmp.
7579         * ace/Message_Block.cpp:
7580         * ace/Message_Block.h:
7581         * ace/Message_Block.i:
7582           The Message_Block can receive an allocator for the data block,
7583           so instead of creating them on the heap they can be allocated
7584           from a TSS allocator or other memory pool. By default we use
7585           ACE_New_Allocator.
7587         * apps/gperf/Makefile:
7588           The Id was wrong.
7590         * bin/auto_compile:
7591           Added gperf to the default list of directories.
7593 Fri Aug  7 13:58:58 1998  Gonzalo Diethelm  <gonzo@tango.cs.wustl.edu>
7595         * bin/envinfo.cpp:
7596         Added this program, which will print the version information for
7597         ACE, the OS and C++ compiler. The idea is to use this when posting
7598         to the ACE mailing list.
7600         * ace/ACE.h:
7601         * ace/ACE.cpp:
7602         Added static methods to retrieve compiler information (name, major
7603         version, minro version, beta version).
7605         * ace/config-sunos5.5.h:
7606         Defined the compiler information macros for this platform.
7608         * bin/Makefile:
7609         Modified the Makefile to support multiple binaries in the
7610         directory (according to tests/Makefile).
7612         * bin/clone.cpp:
7613         Added RCS Id.
7615 Fri Aug  7 12:46:42 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
7617         * ace/Activation_Queue.h: Updated the documentation to indicate
7618           the need for absolute rather than relative time values.  Thanks
7619           to Johannes Gutleber <Johannes.Gutleber@cern.ch> for reporting
7620           this.
7622 Fri Aug 07 02:06:54 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7624         * tests/MsgQueue_Water_Mark_Test.{dsp,cpp}: Added a new test to
7625           make sure the water mark stuff works.  It still needs to be
7626           clean up to compile with g++.
7628 Fri Aug 07 01:00:55 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
7630         * ace/Strategies_T.i (operator==): Added a method to compare a
7631           ACE_Hash_Recyclable and a ACE_Recyclable. Also inlined a shit
7632           load of small methods.
7634         * ace/Strategies_T.cpp (connect_svc_handler): If <sh> is not
7635           connected to the correct address or is busy, we will not use it.
7636           Therefore we need to set it to zero.
7638         * ace/Synch: Added template specializations for
7639           ACE_Guard<ACE_Null_Mutex>, ACE_Write_Guard<ACE_Null_Mutex>, and
7640           ACE_Read_Guard<ACE_Null_Mutex>.
7642 Thu Aug 06 14:59:22 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
7644         * ace/Thread_Manager.cpp: Updated all uses of cancel_thr for the
7645           various apply*() methods so that they pass along the
7646           async_cancel flag.
7648         * ace/Thread_Manager.cpp: Added a new ARG to the ACE_EXECUTE_OP
7649           macro.  Believe it or not, this change actually reduced the
7650           amount of special-case code because we can now treat kill_thr()
7651           just like the other *_thr() methods.  Irfan was amazed ;-).
7653         * ace/Thread_Manager: Added a new flag called "async_cancel" to
7654           all the Thread Manager cancel*() methods.  This flag is disabled
7655           by default (hence, there are no changes to the ACE Thread
7656           Manager semantics).  If it is enabled, however, it will attempt
7657           to perform an asychronous thread cancellation on the
7658           corresponding thread id(s).
7660 Thu Aug  6 17:44:50 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
7662         * tests/Priority_Task_Test.cpp: Enhanced this test so that it runs
7663           correctly on platforms where you must be root to muck around
7664           with thread priorities.  Thanks to John Mulhern
7665           <9107@mn3.lawson.lawson.com> for reporting this.
7667         * tests/MT_SOCK_Test.cpp: Reformatted the code to make it more
7668           readable and also to remove a C-style cast.
7670         * ace/Message_Queue_T.h: Improved the documentation of the low
7671           water mark and high water marks.  Thanks to Umar for encouraging
7672           this.
7674 Thu Aug  6 20:41:44 1998  James C Hu  <jxh@cs.wustl.edu>
7676         * ace/Filecache.cpp: Avoided a deadlock detected by Tom Dobridge
7677           <dobridge@persimmon.com> (thanks!).
7679 Thu Aug 06 14:59:22 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
7681         * ace/Strategies_T.cpp (connect_svc_handler): If <sh> is not
7682           connected to the correct address or is busy, we will not use it.
7683           Therefore we need to set it to zero.
7685         * ace/Synch: Added template specializations for
7686           ACE_Guard<ACE_Null_Mutex>, ACE_Write_Guard<ACE_Null_Mutex>, and
7687           ACE_Read_Guard<ACE_Null_Mutex>.
7689 Thu Aug  6 14:30:11 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
7691         * ace/config-irix6.x-sgic++-nothreads.h:
7692           Use template specializations instead of pragmas if the compiler
7693           is 7.2 or better.
7695         * ace/config-irix6.x-sgic++.h:
7696           The <sched.h> is not necessary in IRIX 6.4
7698 Thu Aug 06 14:11:15 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7700         * ace/Message_Queue_T.cpp: Make sure to check if the cur_bytes_ is
7701           <= to the low_water_mark before signaling threads trying to
7702           enqueue a Message_Block.
7704         * ace/Message_Queue_T.cpp: Fixed a bunch of code to use the
7705           ACE_NEW_RETURN macro to ensure that errno is set correctly.
7707         * ace/Message_Queue.h: Changed the DEFAULT_LWM to be the same as
7708           the DEFAULT_HWM since that's the "Right Way"[TM] to handle
7709           this...  Thanks to Umar Syyid <usyyid@hns.com> for helping to
7710           track this down.
7712         * ace/Message_Queue_T.i (is_empty_i): Removed the low water mark
7713           logic entirely because this isn't the right place to put it.
7714           Also reverted back to using && rather than || since we need
7715           to handle "0-sized" messages.
7717 Thu Aug  6 09:41:22 1998  Nagarajan Surendran  <naga@cs.wustl.edu>
7719         * ace/ARGV.{h,cpp} : Added a new
7720         ACE_ARGV(ASYS_TCHAR *first_argv,ASYS_TCHAR *second_argv,int)
7721         which creates a new ARGV which is the concatenation of the 2 argvs.
7723         Also added a new private method argv_to_string
7724         which converts an argv to a string.
7726 Thu Aug  6 08:56:02 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
7728         * ace/Module.h: Pointed out that ACE_Module should't be subclassed
7729           -- ACE_Task should be subclasses.  Thanks to Barney Dalton
7730           <barneyd@cyllene.uwa.edu.au> for pointing this out.
7732 Wed Aug 05 23:57:16 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
7734         * ace/Reactor.cpp (end_event_loop): Changed the code so that *all*
7735           threads are woken up.  Thanks to Olivier Lau
7736           <olivier_lau@srtelecom.com> for pointing this bug out.
7738         * examples/Reactor/ReactorEx/test_multithreading.cpp (main):
7739           Changed Reactor->close() to Reactor::end_event_loop().
7741 Wed Aug  5 23:12:54 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
7743         * include/makeinclude/wrapper_macros.GNU: Changed
7744           PURE_CACHE_DIR = $(PURE_CACHE_BASE_DIR)-$(LOGNAME)-$(CXX)
7746           to
7748           PURE_CACHE_DIR = $(PURE_CACHE_BASE_DIR)-$(LOGNAME)-$(notdir $(CXX) )
7750           Thanks to John Mulhern <9107@mn3.lawson.lawson.com> for this.
7752 Wed Aug 05 14:53:18 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
7754         * ace/Strategies_T.cpp (connect_svc_handler): When using this
7755           method, the user was required to pass us a zero for the
7756           svc_handler. We would either find them a non-busy one, or will
7757           create a new one.
7759           Unfortunately, the svc_handler lookup was taking too long.
7760           Therefore, the following change was made to the
7761           connect_svc_handler algorithm: the user is now allowed to pass
7762           in the svc_handler that they used last as a "hint".  The
7763           algorithm first checks to see if the "hint" svc_handler is
7764           connected to the correct address and is recyclable.  If it is,
7765           then it recycles the "hint" svc_handler and gives it back to the
7766           user.  This should improve the lookups in most cases.
7768         * ace/Svc_Handler.cpp (recycling_act): Added accessor to get the
7769           <recycling_act_>.
7771         * tests/Conn_Test.cpp (idle): Added method so that we can tell
7772           when a Svc_Handler is being set to idle.  Also changed the test
7773           so that it can use the new "hint" mechanism in the cached
7774           connector.
7776 Wed Aug  5 16:12:34 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7778         * ace/Log_Msg.cpp: Replaced usage of ACE_OS::thr_* with
7779           ACE_Thread::*.  Thanks to Arturo Montes
7780           <mitosys@colomsat.net.co> for sending the patches.
7782 Wed Aug  5 11:07:12 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
7784         * ace/Service_Manager: Cleaned up the documentation and formatting
7785           a bit.
7787         * ace/Message_Queue_T.i: Changed the computation of is_empty_i()
7788           so that it's
7790           return this->cur_bytes_ <= this->low_water_mark_ || this->cur_count_ <= 0;
7792           i.e., we use an || rather than a &&.  Thanks to Umar for
7793           reporting this.
7795         * ace/Message_Queue_T.i: Changed the computation of is_empty_i() so
7796           that it doesn't consider the queue to be empty unless the
7797           cur_bytes_ <= the low_water_mark_ (which defaults to 0 so that
7798           no existing code is affected).  This change makes it possible
7799           for producer/consumer threading applications to avoid the "silly
7800           window syndrome."  Thanks to Umar Syyid <usyyid@hns.com> for
7801           suggesting this.
7803 Wed Aug 05 00:10:27 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
7805         * ace/OS.i (strnstr (both Unicode and Multibyte versions)):
7806         * ace/SString.cpp (strstr):
7807           Fixed "off by one error" in searching algorithm.  Thanks to
7808           Byron Harris <harris_b@ociweb.com> for pointing this out.
7810         * tests/SString_Test.cpp (main): Added new test cases.
7812 Tue Aug  4 21:56:16 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7814         * tests/TSS_Test.cpp:
7815         * examples/Thread/thread_specific.cpp: Replaced ACE_OS::thr_* with
7816           ACE_Thread::*.  Thanks to Arturo Montes
7817           <mitosys@colomsat.net.co> for sending the patches.
7819 Tue Aug  4 18:44:54 1998  Gonzalo Diethelm  <gonzo@tango.cs.wustl.edu>
7821         * ACE-INSTALL.html:
7822         Updated the file to recommend the creation of config.h as a
7823         regular file that includes the appropriate platform config file,
7824         instead of setting it to be a symlink. This is more flexible and
7825         allows the user to redefine some of the ACE configuration
7826         parameters.
7828         * ace/config-linux-common.h:
7829         As an example of the above, now the user can #define
7830         ACE_HAS_IP_MULTICAST in his config.h file to 0, and he won't be
7831         using multicast under linux. This is clearer than having to edit
7832         the config-linux-common.h file, which will now respect the user's
7833         settings (if any)..
7835 Tue Aug  4 17:39:12 1998  Steve Huston  <shuston@riverace.com>
7837         * ace/ACE_Library.{mak mdp}: Added TP_Reactor.cpp to the project.
7839         * tests/Aio_Platform_Test.cpp: Don't try to sysconf() for the AIO
7840           values if there's no chance of AIO on the system (_POSIX_ASYNC_IO
7841           not defined at compile time).
7843         * examples/OS/Process/Process.dsp: Link against ace.lib for Release,
7844           aced.lib for Debug (these were reversed).
7846 Tue Aug  4 12:09:51 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
7848         * ace/OS.h: Clarified the fact that the ACE_DEFAULT_MUITCAST_ADDR
7849           must be within the range for host group addresses: 224.0.0.0 to
7850           239.255.255.255.  Thanks to Christa Schwanninger
7851           <christa.schwanninger@mchp.siemens.de> for reporting this.
7853 Tue Aug 04 11:01:18 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
7855         * bin/GenExportH.BAT: Moved from TAO/TAO_IDL/.
7857         * ace/Token.{h,cpp} (signal_all_threads): Added this method which
7858           changes the return values of all acquire method to 2.  The last
7859           thread waiting for the token will reset the signal state
7860           (therefore, there's NO cancel_signal_all_threads method.)
7861           (shared_acquire): Return 2 if the token is signaled after
7862           acquiring the token successfully.
7863           (release):  If the token is signaled and there's no other thread
7864           waiting to acquire the token, reset the signal state.
7866         * ace/TP_Reactor.{h,i,cpp} (wakeup_all_threads): Added
7867           implementation for this virtual function.  It "signals" the
7868           token threads are waiting on and wake them up by notifying the
7869           reactor.
7870           (handle_events): Check to see if the reactor token is signaled
7871           after acquiring it.  If the the token is signaled, it will not
7872           proceed to handle events (by calling select) but instead return
7873           successfully.  This allow the thread the chance to check if it's
7874           time to shut down the event loop.
7876 Mon Aug  3 17:53:48 1998  Gonzalo Diethelm  <gonzo@tango.cs.wustl.edu>
7878         * performance-tests/Makefile:
7879         * performance-tests/Misc/basic_func.cpp:
7880         * performance-tests/Misc/basic_perf.cpp:
7881         * performance-tests/Misc/childbirth_time.cpp:
7882         * performance-tests/Misc/context_switch_time.cpp:
7883         * performance-tests/Misc/preempt.cpp:
7884         * performance-tests/Misc/test_mutex.cpp:
7885         * performance-tests/Misc/test_naming.cpp:
7886         * performance-tests/Misc/test_singleton.cpp:
7887         * performance-tests/Synch-Benchmarks/Benchmark_Base.cpp:
7888         * performance-tests/Synch-Benchmarks/Benchmark_Performance.cpp:
7889         * performance-tests/Synch-Benchmarks/Options.cpp:
7890         * performance-tests/Synch-Benchmarks/Performance_Test.cpp:
7891         * performance-tests/Synch-Benchmarks/condb_test.cpp:
7892         * performance-tests/Synch-Benchmarks/conds_test.cpp:
7893         * performance-tests/Synch-Benchmarks/context_test.cpp:
7894         * performance-tests/Synch-Benchmarks/memory_test.cpp:
7895         * performance-tests/Synch-Benchmarks/mutex_test.cpp:
7896         * performance-tests/Synch-Benchmarks/pipe_proc_test.cpp:
7897         * performance-tests/Synch-Benchmarks/pipe_thr_test.cpp:
7898         * performance-tests/Synch-Benchmarks/recursive_lock_test.cpp:
7899         * performance-tests/Synch-Benchmarks/rwrd_test.cpp:
7900         * performance-tests/Synch-Benchmarks/rwwr_test.cpp:
7901         * performance-tests/Synch-Benchmarks/sema_test.cpp:
7902         * performance-tests/Synch-Benchmarks/synch_driver.cpp:
7903         * performance-tests/Synch-Benchmarks/sysvsema_test.cpp:
7904         * performance-tests/Synch-Benchmarks/token_test.cpp:
7905         * performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp:
7906         * performance-tests/TTCP/C/new-ttcp.cpp:
7907         * performance-tests/TTCP/ORBeline/ttcp_i.cpp:
7908         * performance-tests/TTCP/Orbix/ttcpC.cpp:
7909         * performance-tests/TTCP/Orbix/ttcpS.cpp:
7910         * performance-tests/TTCP/Orbix/ttcp_i.cpp:
7911         * performance-tests/UDP/udp_test.cpp:
7912         Added ACE_RCSID to these files.
7914 Sun Aug  2 19:43:04 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
7916         * tests/Reactor_Performance_Test.cpp:  Made a change suggested by
7917           Irfan to allow this test to work in Windows 95.
7919 Sat Aug  1 20:35:32 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
7921         * ace:
7922           include/makeinclude:
7923           Added new config/platform files for SCO.  These files enable the
7924           following:
7926           - TAO_IDL work newly in SCO OpenServer.
7927           - Fixed a compilation problem with EventService in TAO.
7928           - Fixed a problem with ACE and TAO shared libraries.
7929           - Some test with TSS_Emulation and recent changes in Thread_Manager.
7931           Thanks to Arturo for these changes.
7933 Sat Aug 01 13:34:12 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
7935         * ace/OS.i (flock_wrlock): LockFileEx() and UnLockFileEx() are not
7936           implemented on Win32.  Therefore, the flock methods were changed
7937           to use the non-Ex versions on Win95.  Thanks to XuYifeng
7938           <xuyf@pop.zg169.net> for pointing this out.
7940           While making the changes, I found that there were a couple bugs
7941           in the code: (a) the <whence> parameter was being ignored and
7942           (b) the adjustment for <len> == 0 was incorrect.  I think I have
7943           fixed both of these also in ACE_OS::adjust_flock_params().
7945           One last thing: I changed flock_unlock() to use UnLockFile()
7946           instead of UnLockFileEx(). UnLockFileEx() is also not supported
7947           on Win95.  Hopefully, it is ok to lock with LockFileEx() and
7948           unlock with UnLockFile() instead of UnLockFileEx().
7950         * ace/OS.cpp (pread): Changed bytes_written to bytes_read.
7952 Fri Jul 31 23:47:50 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
7954         * bin/auto_compile:
7955           We now run several on-button tests in TAO, though it is still
7956           hard to detect any errors.
7958 Fri Jul 31 21:33:22 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
7960         * ace/Select_Reactor.cpp (open): Changed the code to ignore the
7961           return value from ACE::set_handle_limit().  Thanks to Zheng Han
7962           <zhan@glenvan.glenayre.com> for reporting this and to Arturo for
7963           suggesting the fix.
7965         * ace/ARGV.cpp: Enhanced the implemenation of string_to_array() so
7966           that it should always work correctly even if there are a large
7967           number of bytes in the original buf string.
7969         * ace/ARGV.cpp: Renamed string_to_array() to string_to_argv(),
7970           which is more intuitive.
7972         * ace/OS.h: Added a new macro called ACE_DEFAULT_ARGV_BUFSIZ,
7973           which is used as the default size of all the "argv" contents in
7974           ACE_ARGV.  This defaults to 4 kbytes.
7976 Fri Jul 31 19:55:10 1998  Gonzalo Diethelm  <gonzo@tango.cs.wustl.edu>
7978         * netsvcs/clients/Logger/direct_logging.cpp:
7979         * netsvcs/clients/Logger/indirect_logging.cpp:
7980         * netsvcs/clients/Naming/Client/Client_Test.cpp:
7981         * netsvcs/clients/Naming/Client/main.cpp:
7982         * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp:
7983         * netsvcs/clients/Naming/Dump_Restore/createfile.cpp:
7984         * netsvcs/clients/Naming/Dump_Restore/main.cpp:
7985         * netsvcs/clients/Tokens/collection/collection.cpp:
7986         * netsvcs/clients/Tokens/collection/rw_locks.cpp:
7987         * netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp:
7988         * netsvcs/clients/Tokens/invariant/invariant.cpp:
7989         * netsvcs/clients/Tokens/manual/manual.cpp:
7990         * netsvcs/clients/Tokens/mutex/test_mutex.cpp:
7991         * netsvcs/clients/Tokens/rw_lock/rw_locks.cpp:
7992         * netsvcs/lib/Base_Optimizer.cpp:
7993         * netsvcs/lib/Client_Logging_Handler.cpp:
7994         * netsvcs/lib/Log_Message_Receiver.cpp:
7995         * netsvcs/lib/Logging_Strategy.cpp:
7996         * netsvcs/lib/Name_Handler.cpp:
7997         * netsvcs/lib/Server_Logging_Handler.cpp:
7998         * netsvcs/lib/Server_Logging_Handler_T.cpp:
7999         * netsvcs/lib/TS_Clerk_Handler.cpp:
8000         * netsvcs/lib/TS_Server_Handler.cpp:
8001         * netsvcs/lib/Token_Handler.cpp:
8002         * netsvcs/servers/main.cpp:
8003         Added ACE_RCSID to these files.
8005 Fri Jul 31 19:15:58 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
8007         * ace/OS.cpp (pwrite and pread): There were many bugs in these two
8008           methods.
8010           - It was assumed that it is ok to call WriteFile/ReadFile with
8011             an OVERLAPPED structure.  This is not true on Windows95.
8012             Therefore, code had to be added to make sure that on
8013             Windows95, WriteFile and ReadFile were called without an
8014             OVERLAPPED struct.
8016           - We were assuming that if we used the OVERLAPPED struct, the
8017             file pointer would not move.  It turns out that the OVERLAPPED
8018             struct has nothing with whether the file pointer moves or not.
8019             It has to do with whether the file was opened with
8020             FILE_FLAG_OVERLAPPED or not.  Since it is not possible to
8021             figure whether the file handle we got was opened with this
8022             flag or not, we have to program defensively and reset the file
8023             pointer in any case.
8025           - Also the !ACE_HAS_P_READ_WRITE implementation was not
8026             restoring the file pointer to its original position.  This was
8027             also fixed.
8029 Fri Jul 31 18:33:39 1998  Gonzalo Diethelm  <gonzo@tango.cs.wustl.edu>
8031         * apps/Gateway/Gateway/Concrete_Connection_Handlers.cpp:
8032         * apps/Gateway/Gateway/Config_Files.cpp:
8033         * apps/Gateway/Gateway/Connection_Handler.cpp:
8034         * apps/Gateway/Gateway/Connection_Handler_Acceptor.cpp:
8035         * apps/Gateway/Gateway/Connection_Handler_Connector.cpp:
8036         * apps/Gateway/Gateway/Event_Channel.cpp:
8037         * apps/Gateway/Gateway/Event_Forwarding_Discriminator.cpp:
8038         * apps/Gateway/Gateway/File_Parser.cpp:
8039         * apps/Gateway/Gateway/Gateway.cpp:
8040         * apps/Gateway/Gateway/Options.cpp:
8041         * apps/Gateway/Gateway/gatewayd.cpp:
8042         * apps/Gateway/Peer/Options.cpp:
8043         * apps/Gateway/Peer/Peer.cpp:
8044         * apps/Gateway/Peer/peerd.cpp:
8045         * apps/Orbix-Examples/Event_Comm/Consumer/Input_Handler.cpp:
8046         * apps/Orbix-Examples/Event_Comm/Consumer/Notification_Receiver_Handler.cpp:
8047         * apps/Orbix-Examples/Event_Comm/Consumer/consumer.cpp:
8048         * apps/Orbix-Examples/Event_Comm/Supplier/Input_Handler.cpp:
8049         * apps/Orbix-Examples/Event_Comm/Supplier/Notifier_Handler.cpp:
8050         * apps/Orbix-Examples/Event_Comm/Supplier/supplier.cpp:
8051         * apps/Orbix-Examples/Event_Comm/libsrc/Event_CommC.cpp:
8052         * apps/Orbix-Examples/Event_Comm/libsrc/Event_CommS.cpp:
8053         * apps/Orbix-Examples/Event_Comm/libsrc/Notification_Receiver_i.cpp:
8054         * apps/Orbix-Examples/Event_Comm/libsrc/Notifier_i.cpp:
8055         * apps/Orbix-Examples/Logger/Logger.cpp:
8056         * apps/Orbix-Examples/Logger/client.cpp:
8057         * apps/Orbix-Examples/Logger/loggerS.cpp:
8058         * apps/Orbix-Examples/Logger/logger_i.cpp:
8059         * apps/Orbix-Examples/Logger/server.cpp:
8060         Added ACE_RCSID to these files.
8062 Fri Jul 31 17:50:01 1998  Gonzalo Diethelm  <gonzo@tango.cs.wustl.edu>
8064         * ace/TP_Reactor.cpp:
8065         Added ACE_RCSID to this file, and all the .cpp files in examples,
8066         listed below.
8068         * examples/ASX/CCM_App/CCM_App.cpp:
8069         * examples/ASX/CCM_App/SC_Client.cpp:
8070         * examples/ASX/CCM_App/SC_Server.cpp:
8071         * examples/ASX/Event_Server/Event_Server/Consumer_Router.cpp:
8072         * examples/ASX/Event_Server/Event_Server/Event_Analyzer.cpp:
8073         * examples/ASX/Event_Server/Event_Server/Options.cpp:
8074         * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp:
8075         * examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp:
8076         * examples/ASX/Event_Server/Event_Server/event_server.cpp:
8077         * examples/ASX/Event_Server/Transceiver/transceiver.cpp:
8078         * examples/ASX/Message_Queue/bounded_buffer.cpp:
8079         * examples/ASX/Message_Queue/buffer_stream.cpp:
8080         * examples/ASX/Message_Queue/priority_buffer.cpp:
8081         * examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp:
8082         * examples/ASX/UPIPE_Event_Server/Event_Analyzer.cpp:
8083         * examples/ASX/UPIPE_Event_Server/Options.cpp:
8084         * examples/ASX/UPIPE_Event_Server/Peer_Router.cpp:
8085         * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp:
8086         * examples/ASX/UPIPE_Event_Server/event_server.cpp:
8087         * examples/CORBA/Test_i.cpp:
8088         * examples/CORBA/client.cpp:
8089         * examples/CORBA/server.cpp:
8090         * examples/Connection/blocking/SPIPE-acceptor.cpp:
8091         * examples/Connection/blocking/SPIPE-connector.cpp:
8092         * examples/Connection/blocking/test_spipe_acceptor.cpp:
8093         * examples/Connection/blocking/test_spipe_connector.cpp:
8094         * examples/Connection/misc/Connection_Handler.cpp:
8095         * examples/Connection/misc/test_upipe.cpp:
8096         * examples/Connection/non_blocking/CPP-acceptor.cpp:
8097         * examples/Connection/non_blocking/CPP-connector.cpp:
8098         * examples/Connection/non_blocking/test_lsock_acceptor.cpp:
8099         * examples/Connection/non_blocking/test_lsock_connector.cpp:
8100         * examples/Connection/non_blocking/test_sock_acceptor.cpp:
8101         * examples/Connection/non_blocking/test_sock_connector.cpp:
8102         * examples/Connection/non_blocking/test_spipe_acceptor.cpp:
8103         * examples/Connection/non_blocking/test_spipe_connector.cpp:
8104         * examples/Connection/non_blocking/test_tli_acceptor.cpp:
8105         * examples/Connection/non_blocking/test_tli_connector.cpp:
8106         * examples/IOStream/client/iostream_client.cpp:
8107         * examples/IOStream/server/iostream_server.cpp:
8108         * examples/IPC_SAP/DEV_SAP/reader/reader.cpp:
8109         * examples/IPC_SAP/DEV_SAP/writer/writer.cpp:
8110         * examples/IPC_SAP/FIFO_SAP/FIFO-Msg-client.cpp:
8111         * examples/IPC_SAP/FIFO_SAP/FIFO-Msg-server.cpp:
8112         * examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp:
8113         * examples/IPC_SAP/FIFO_SAP/FIFO-server.cpp:
8114         * examples/IPC_SAP/FIFO_SAP/FIFO-test.cpp:
8115         * examples/IPC_SAP/FILE_SAP/client.cpp:
8116         * examples/IPC_SAP/SOCK_SAP/C-inclient.cpp:
8117         * examples/IPC_SAP/SOCK_SAP/C-inserver.cpp:
8118         * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp:
8119         * examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp:
8120         * examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp:
8121         * examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp:
8122         * examples/IPC_SAP/SOCK_SAP/CPP-unclient.cpp:
8123         * examples/IPC_SAP/SOCK_SAP/CPP-unserver.cpp:
8124         * examples/IPC_SAP/SOCK_SAP/FD-unclient.cpp:
8125         * examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp:
8126         * examples/IPC_SAP/SPIPE_SAP/NPClient.cpp:
8127         * examples/IPC_SAP/SPIPE_SAP/NPServer.cpp:
8128         * examples/IPC_SAP/SPIPE_SAP/client.cpp:
8129         * examples/IPC_SAP/SPIPE_SAP/consumer_msg.cpp:
8130         * examples/IPC_SAP/SPIPE_SAP/consumer_read.cpp:
8131         * examples/IPC_SAP/SPIPE_SAP/producer_msg.cpp:
8132         * examples/IPC_SAP/SPIPE_SAP/producer_read.cpp:
8133         * examples/IPC_SAP/SPIPE_SAP/server.cpp:
8134         * examples/IPC_SAP/TLI_SAP/CPP-client.cpp:
8135         * examples/IPC_SAP/TLI_SAP/CPP-server.cpp:
8136         * examples/IPC_SAP/TLI_SAP/db-client.cpp:
8137         * examples/IPC_SAP/TLI_SAP/db-server.cpp:
8138         * examples/IPC_SAP/TLI_SAP/ftp-client.cpp:
8139         * examples/IPC_SAP/TLI_SAP/ftp-server.cpp:
8140         * examples/IPC_SAP/UPIPE_SAP/ex1.cpp:
8141         * examples/IPC_SAP/UPIPE_SAP/ex2.cpp:
8142         * examples/IPC_SAP/UPIPE_SAP/ex3.cpp:
8143         * examples/Log_Msg/test_log_msg.cpp:
8144         * examples/Logger/Acceptor-server/server_loggerd.cpp:
8145         * examples/Logger/client/logging_app.cpp:
8146         * examples/Logger/simple-server/Logging_Acceptor.cpp:
8147         * examples/Logger/simple-server/Logging_Handler.cpp:
8148         * examples/Logger/simple-server/server_loggerd.cpp:
8149         * examples/Map_Manager/test_hash_map_manager.cpp:
8150         * examples/Mem_Map/IO-tests/IO_Test.cpp:
8151         * examples/Mem_Map/IO-tests/test_io.cpp:
8152         * examples/Mem_Map/file-reverse/file-reverse.cpp:
8153         * examples/Misc/test_XtReactor1.cpp:
8154         * examples/Misc/test_XtReactor2.cpp:
8155         * examples/Misc/test_dump.cpp:
8156         * examples/Misc/test_get_opt.cpp:
8157         * examples/Misc/test_profile_timer.cpp:
8158         * examples/Misc/test_read_buffer.cpp:
8159         * examples/Misc/test_set.cpp:
8160         * examples/Misc/test_sstring.cpp:
8161         * examples/Misc/test_trace.cpp:
8162         * examples/Naming/test_multiple_contexts.cpp:
8163         * examples/Naming/test_non_existent.cpp:
8164         * examples/Naming/test_open.cpp:
8165         * examples/Naming/test_writers.cpp:
8166         * examples/OS/Process/imore.cpp:
8167         * examples/OS/Process/process.cpp:
8168         * examples/Reactor/Dgram/CODgram.cpp:
8169         * examples/Reactor/Dgram/Dgram.cpp:
8170         * examples/Reactor/FIFO/client.cpp:
8171         * examples/Reactor/FIFO/server.cpp:
8172         * examples/Reactor/Misc/notification.cpp:
8173         * examples/Reactor/Misc/pingpong.cpp:
8174         * examples/Reactor/Misc/test_demuxing.cpp:
8175         * examples/Reactor/Misc/test_event_handler_t.cpp:
8176         * examples/Reactor/Misc/test_reactors.cpp:
8177         * examples/Reactor/Misc/test_signals_1.cpp:
8178         * examples/Reactor/Misc/test_signals_2.cpp:
8179         * examples/Reactor/Misc/test_time_value.cpp:
8180         * examples/Reactor/Misc/test_timer_queue.cpp:
8181         * examples/Reactor/Multicast/Log_Wrapper.cpp:
8182         * examples/Reactor/Multicast/client.cpp:
8183         * examples/Reactor/Multicast/server.cpp:
8184         * examples/Reactor/Ntalker/ntalker.cpp:
8185         * examples/Reactor/Proactor/test_multiple_loops.cpp:
8186         * examples/Reactor/Proactor/test_proactor.cpp:
8187         * examples/Reactor/Proactor/test_proactor_with_aio.cpp:
8188         * examples/Reactor/Proactor/test_timeout.cpp:
8189         * examples/Reactor/ReactorEx/test_abandoned.cpp:
8190         * examples/Reactor/ReactorEx/test_apc.cpp:
8191         * examples/Reactor/ReactorEx/test_console_input.cpp:
8192         * examples/Reactor/ReactorEx/test_directory_changes.cpp:
8193         * examples/Reactor/ReactorEx/test_exceptions.cpp:
8194         * examples/Reactor/ReactorEx/test_multithreading.cpp:
8195         * examples/Reactor/ReactorEx/test_network_events.cpp:
8196         * examples/Reactor/ReactorEx/test_prerun_state_changes.cpp:
8197         * examples/Reactor/ReactorEx/test_registration.cpp:
8198         * examples/Reactor/ReactorEx/test_registry_changes.cpp:
8199         * examples/Reactor/ReactorEx/test_removals.cpp:
8200         * examples/Reactor/ReactorEx/test_talker.cpp:
8201         * examples/Reactor/ReactorEx/test_timeouts.cpp:
8202         * examples/Reactor/ReactorEx/test_window_messages.cpp:
8203         * examples/Registry/test_registry_iterator.cpp:
8204         * examples/Registry/test_registry_update.cpp:
8205         * examples/Service_Configurator/IPC-tests/client/broadcast_client_test.cpp:
8206         * examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp:
8207         * examples/Service_Configurator/IPC-tests/client/local_fifo_client_test.cpp:
8208         * examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp:
8209         * examples/Service_Configurator/IPC-tests/client/local_spipe_client_test.cpp:
8210         * examples/Service_Configurator/IPC-tests/client/local_stream_client_test.cpp:
8211         * examples/Service_Configurator/IPC-tests/client/remote_dgram_client_test.cpp:
8212         * examples/Service_Configurator/IPC-tests/client/remote_service_directory_test.cpp:
8213         * examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp:
8214         * examples/Service_Configurator/IPC-tests/client/remote_thr_stream_client_test.cpp:
8215         * examples/Service_Configurator/IPC-tests/server/Handle_Broadcast.cpp:
8216         * examples/Service_Configurator/IPC-tests/server/Handle_L_CODgram.cpp:
8217         * examples/Service_Configurator/IPC-tests/server/Handle_L_Dgram.cpp:
8218         * examples/Service_Configurator/IPC-tests/server/Handle_L_FIFO.cpp:
8219         * examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.cpp:
8220         * examples/Service_Configurator/IPC-tests/server/Handle_L_SPIPE.cpp:
8221         * examples/Service_Configurator/IPC-tests/server/Handle_L_Stream.cpp:
8222         * examples/Service_Configurator/IPC-tests/server/Handle_R_Dgram.cpp:
8223         * examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.cpp:
8224         * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp:
8225         * examples/Service_Configurator/IPC-tests/server/Handle_Timeout.cpp:
8226         * examples/Service_Configurator/IPC-tests/server/server_test.cpp:
8227         * examples/Service_Configurator/Misc/Timer_Service.cpp:
8228         * examples/Service_Configurator/Misc/main.cpp:
8229         * examples/Shared_Malloc/Malloc.cpp:
8230         * examples/Shared_Malloc/Options.cpp:
8231         * examples/Shared_Malloc/test_malloc.cpp:
8232         * examples/Shared_Malloc/test_multiple_mallocs.cpp:
8233         * examples/Shared_Malloc/test_persistence.cpp:
8234         * examples/Shared_Memory/test_MM.cpp:
8235         * examples/Shared_Memory/test_SV.cpp:
8236         * examples/System_V_IPC/SV_Message_Queues/MQ_Client.cpp:
8237         * examples/System_V_IPC/SV_Message_Queues/MQ_Server.cpp:
8238         * examples/System_V_IPC/SV_Message_Queues/TMQ_Client.cpp:
8239         * examples/System_V_IPC/SV_Message_Queues/TMQ_Server.cpp:
8240         * examples/System_V_IPC/SV_Semaphores/Semaphores_1.cpp:
8241         * examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp:
8242         * examples/System_V_IPC/SV_Shared_Memory/SV_Shared_Memory_Test.cpp:
8243         * examples/Threads/auto_event.cpp:
8244         * examples/Threads/barrier1.cpp:
8245         * examples/Threads/barrier2.cpp:
8246         * examples/Threads/cancel.cpp:
8247         * examples/Threads/future1.cpp:
8248         * examples/Threads/future2.cpp:
8249         * examples/Threads/manual_event.cpp:
8250         * examples/Threads/process_manager.cpp:
8251         * examples/Threads/process_mutex.cpp:
8252         * examples/Threads/process_semaphore.cpp:
8253         * examples/Threads/reader_writer.cpp:
8254         * examples/Threads/recursive_mutex.cpp:
8255         * examples/Threads/task_five.cpp:
8256         * examples/Threads/task_four.cpp:
8257         * examples/Threads/task_one.cpp:
8258         * examples/Threads/task_three.cpp:
8259         * examples/Threads/task_two.cpp:
8260         * examples/Threads/thread_manager.cpp:
8261         * examples/Threads/thread_pool.cpp:
8262         * examples/Threads/thread_specific.cpp:
8263         * examples/Threads/token.cpp:
8264         * examples/Threads/tss1.cpp:
8265         * examples/Threads/tss2.cpp:
8266         * examples/Threads/wfmo.cpp:
8267         * examples/Timer_Queue/Async_Timer_Queue_Test.cpp:
8268         * examples/Timer_Queue/Driver.cpp:
8269         * examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp:
8270         * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp:
8271         * examples/Timer_Queue/main_async.cpp:
8272         * examples/Timer_Queue/main_reactor.cpp:
8273         * examples/Timer_Queue/main_thread.cpp:
8275 Fri Jul 31 12:07:16 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
8277         * ace/XtReactor.cpp (XtWaitForMultipleEvents): The first select()
8278           is made with the correct width.  In XtAppProcessEvent(), the
8279           descriptor set may change, so the underlying handle_max may also
8280           have changed. The second select() is made with an incorrect
8281           value for the width.  The solution is to reinitialize width
8282           before calling select() again. Thanks to J-M Strauss
8283           <strauss@limeil.cea.fr> for suggesting this change.
8285 Fri Jul 31 11:18:24 1998  Steve Huston  <shuston@riverace.com>
8287         * ACE-INSTALL.html: Removed the direction to set global include/library
8288           paths in MSVC 4.2.
8290 Fri Jul 31 08:23:14 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
8292         * examples/Misc/test_XtReactor[12].cpp: Updated these files so
8293           they will work correctly with the "new" Reactor structure.  Boy,
8294           it's been a long time since anyone actually tried to use this
8295           stuff... ;-) Thanks to J-M Strauss <strauss@limeil.cea.fr> for
8296           reporting this.
8298 Thu Jul 30 21:25:31 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
8300         * ace/Svc_Conf_y.cpp: This file didn't get patched with our
8301           routine patch.  Applied $ACE_ROOT/Svc_Conf_y.cpp.diff manually.
8302           This change eliminates some warnings from g++.
8304 Thu Jul 30 19:03:12 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
8306         * examples/Timer_Queue/Thread_Timer_Queue_Test.h: Changed the type
8307           to class Thread_Timer_Queue_Test_Driver from
8308           Timer_Queue_Test_Driver <Thread_Timer_Queue, Input_Task,
8309           Input_Task::ACTION> to work around a bug with MSVC++.  Thanks to
8310           Gonzo for pointing this out.
8312         * examples/Connection/blocking/SPIPE-{connector,acceptor}.cpp:
8313           Added #include "ace/Proactor.h".  Thanks to Gonzo for reporting
8314           this.
8316 Thu Jul 30 17:54:14 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
8318         * tests/test_config.h: Added /**/ between #include and <condefs.h>
8319           to avoid MSVC warnings.
8321         * tests/WinCE/ce_tests.dsw: Renamed project
8322           Message_Queue_Notifications_Test to MsgQueue_Notifications_Test.
8324         * tests/WinCE/Reactor_Performance_Test.dsp: This project file was
8325           somehow missing.
8327         * tests/TSS_Test.cpp:
8328         * tests/Reader_Writer_Test.cpp:
8329         * tests/Message_Queue_Test.cpp: Added numerous ASYS_TEXT macros to
8330           make sure we use the right strings on CE.
8332 Thu Jul 30 14:56:59 1998  Gonzalo A. Diethelm  <gonzo@cs.wustl.edu>
8334         * ace/ACE.h:
8335         * ace/ACE.cpp:
8336         * ace/Event_Handler.h:
8337         * ace/Event_Handler.cpp:
8338         Moved the following static functions:
8340           register_stdin_handler
8341           remove_stdin_handler
8342           read_adapter
8344         from class ACE to class ACE_Event_Handler. That breaks a
8345         dependency from ACE to higher-level classes.
8347         * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp:
8348         * netsvcs/clients/Naming/Client/Client_Test.cpp:
8349         * examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp:
8350         * examples/Timer_Queue/Async_Timer_Queue_Test.dsp:
8351         * examples/Timer_Queue/Reactor_Timer_Queue_Test.dsp:
8352         * examples/Timer_Queue/Thread_Timer_Queue_Test.dsp:
8353         * examples/Reactor/Ntalker/ntalker.cpp:
8354         * examples/Reactor/Misc/test_demuxing.cpp:
8355         * examples/Reactor/Misc/notification.cpp:
8356         * examples/Connection/blocking/SPIPE-connector.cpp:
8357         * examples/ASX/UPIPE_Event_Server/event_server.cpp:
8358         * examples/ASX/Event_Server/Transceiver/transceiver.cpp:
8359         * examples/ASX/Event_Server/Event_Server/event_server.cpp:
8360         * apps/Gateway/Peer/Peer.cpp:
8361         * apps/Gateway/Gateway/Gateway.cpp:
8362         All these were modified by the above change.
8364         * ace/OS.h:
8365         * ace/OS.i:
8366         Added a strnew function that works as strdup but uses new instead
8367         of malloc to allocate memory.
8369 Thu Jul 30 16:54:20 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
8371         * ACE version 4.5.26 released.
8373 Thu Jul 30 13:01:12 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
8375         * ace/Task.h (ACE_Task_Base): Changed the spelling of
8376           ACE_Task_Exit to ACE_Thread_Exit, which is correct.
8377           Thanks to Daniel Winder <Daniel.Winder@cern.ch> for
8378           reporting this.
8380 Thu Jul 30 08:43:41 1998  Steve Huston  <shuston@riverace.com>
8382         * tests/tests.(mdp mak): Made include and library paths relative.
8384 Thu Jul 30 02:22:49 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
8386         * ace/Synch_T.cpp (ts_init): Casted away constness of key_.
8387           Changed to cast away constness of the pointer to once_.
8389 Thu Jul 30 01:12:30 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
8391         * ace/TP_Reactor.i (notify_handle): Added an ASYS_TEXT where it
8392           was missing.  Thanks to Dieter Quehl for reporting this.
8394         * ace/Synch_T.cpp: It wasn't possible to call ts_object() to set
8395           an initial zero pointer value.  The solution is to give
8396           ts_object() the same ability to initialize the key as ts_get().
8397           I also factored out some common code into a new method called
8398           ts_init().  Thanks to Bob McWhirter <bob@netwrench.com> for
8399           reporting this.
8401 Wed Jul 29 23:58:04 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
8403         * examples/Reactor/Ntalker: Added a README file and made some
8404           stylistic changes to the ntalker.cpp example.
8406 Wed Jul 29 18:38:17 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
8408         * ACE version 4.5.25 released.
8410 Wed Jul 29 17:46:21 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
8412         * ace/Task_T.h: Updated documentation to explain that
8413           ACE_Time_Values are ABSOLUTE rather than relative.  Thanks to
8414           James Johnson for reporting this.
8416 Wed Jul 29 16:05:16 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
8418         * bin/Process_Unix.pm:
8419           Use SIGTERM instead of SIGHUP to kill a process, it is the Right
8420           Thing and SIGHUP will not work in some cases because it is usual
8421           to catch this signal.
8423 Wed Jul 29 14:04:49 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
8425         * ace/Asynch_Acceptor.cpp (open): Added
8426           <number_of_initial_accepts> as an extra parameter to
8427           open(). <number_of_initial_accepts> is the number of
8428           asynchronous accepts that are started at the end of <open>.  If
8429           <number_of_initial_accepts> is -1, then
8430           <number_of_initial_accepts> is set to <backlog> and hence
8431           <backlog> number of asynchronous accepts are started.
8433           (get_handle): New method to get the underlying handle.
8435           (set_handle): New method to set the underlying listen handle. It
8436           is the user's responsibility to make sure that the old listen
8437           handle has been appropriately closed and the all outstanding
8438           asynchronous operations have either completed or have been
8439           canceled on the old listen handle.
8441 Wed Jul 29 12:49:09 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
8443         * ace/Makefile (FILES): Added TP_Reactor to the build list.
8444           Updated dependency.
8446         * ace/TP_Reactor.{h,i} (handle_events,notify_handler): Added two
8447           dummy methods to avoid warnings from SunCC.  Thanks to Carlos
8448           for noticing this.
8450 Wed Jul 29 09:41:23 1998  David L. Levine  <levine@cs.wustl.edu>
8452         * ace/config-linux-common.h: added #define
8453           ACE_DEFAULT_SELECT_REACTOR_SIZE 256 so that the
8454           ACE_Select_Reactor works with this fix:
8456           if (size > (size_t) ACE::max_handles ())
8457             return ACE::set_handle_limit (size);
8459           On Linux (2.0.34), only root can set RLIMIT_NOFILE above 256.
8461 Wed Jul 29 04:19:05 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
8463         * Integrate TP_Reactor into ACE.  Major framwork designed by
8464           Irfan.  Here's his changelog:
8466           * ace/TP_Reactor.h (ACE_TP_Reactor): One of the short comings of
8467             the Select_Reactor in ACE was that it did not support a thread
8468             pool based event dispatching model, similar to the one in
8469             WFMO_Reactor.  In Select_Reactor, only thread can be blocked
8470             in handle_events() at any given time.
8472             A new Reactor has been added to ACE that removes this
8473             short-coming.  TP_Reactor is a specialization of Select
8474             Reactor to support thread-pool based event dispatching. This
8475             Reactor takes advantage of the fact that events reported by
8476             select() are persistent if not acted upon immediately.  It
8477             works by remembering the event handler that just got
8478             activated, releasing the internal lock (so that some other
8479             thread can start waiting in the event loop) and then
8480             dispatching the event handler outside the context of the
8481             Reactor lock.
8483             This Reactor is best suited for situations when the callbacks
8484             to event handlers can take arbitrarily long and/or a number of
8485             threads are available to run the event loops.
8487             Note that callback code in Event Handlers
8488             (e.g. Event_Handler::handle_input) does not have to be
8489             modified or made thread-safe for this Reactor.  This is
8490             because an activated Event Handler is suspended in the Reactor
8491             before the upcall is made and resumed after the upcall
8492             completes.  Therefore, one Event Handler cannot be called by
8493             multiple threads simultaneously.
8495           * ace/Reactor.cpp (ACE_Reactor):
8496             ACE_USE_TP_REACTOR_FOR_REACTOR_IMPL can be used to make the
8497             TP_Reactor the default Reactor implementation that will be
8498             used by ACE_Reactor.
8500           I still need to add the reliable shutdown method and a
8501           TP_Reactor_Test.
8503         * ace/Select_Reactor.{h,i,cpp} (renew): Moved decision of renew
8504           supression from ACE_Select_Reactor_Notify::handle_input to this
8505           method, which is a more appropriate place.
8507         * ace/Token.h (ACE_Token): Added more comprehensive comments about
8508           the recent changes of reader/writer semantic.
8510 Tue Jul 28 12:36:18 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
8512         * ace/Service_Config.cpp (~ACE_Service_Config): Removed the call
8513           to ACE_Service_Config::close () from the destructor.  This will
8514           be called by the Object Manager upon destruction.
8516 Tue Jul 28 11:34:15 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
8518         * ace/OS.{h,i} (strpbrk): Added a const wchar_t version of this
8519           function.  Thanks to Ivan Murphy <Ivan.Murphy@med.siemens.de>
8520           for providing the fix.
8522 Tue Jul 28 09:52:08 1998  David L. Levine  <levine@cs.wustl.edu>
8524         * ace/Thread_Manager.cpp (exit): only declare local close_handle
8525           if ACE_USE_ONE_SHOT_AT_THREAD_EXIT.  (ACE_Thread_Descriptor):
8526           reordered initializers to match declaration order.
8528         * ace/Dynamic.cpp,Thread_Manager.cpp: moved
8529           ACE_TSS_Singleton<ACE_Dynamic, ACE_Null_Mutex> instantiation
8530           from Thread_Manager.cpp to Dynamic.cpp.
8532 Mon Jul 27 16:31:27 1998  Arturo Montes  <mitosys@colomsat.net.co>
8534         * ace/Thread_Manager.{h,i,cpp}:
8535         * ace/Log_Msg.cpp: The Thread_Manager::at_exit method now provides a
8536           list of at_exit functions to be invoked to at thread termination
8537           code. If you want to maintain previous compatibility use
8538           ACE_USE_ONE_SHOT_AT_THREAD_EXIT. The new code maintaing
8539           compatibility with the old code, ACE_Task::svc_run has not been
8540           altered.
8542           We resolve a problem with ACE_TSS_cleanup, some platform
8543           using Thread_Manager could be experimenting memory corruption because
8544           of ACE_TSS_cleanup was being invoked before Thread_Manager exit
8545           code. Now, if ACE_TSS_cleanup is called before of Thread_Manager
8546           exit code, ACE_TSS_cleanup delegate ACE_Log_Msg delete instance
8547           to Thread_Descriptor.
8549           Really, at_exit code is implemented in ACE_Thread_Descriptor, I
8550           strongly recommend use at_exit code from Thread_Descriptor,
8551           however in ACE_Thread_Manager we provide at_exit hook.
8553           Use of at_exit(void* object,ACE_CLEANUP_FUNC cleanup_hook,void*
8554           param) is deprecated. We maitain it for compatibility and it
8555           will be forever, however if you want implement new at_exit hook,
8556           look into Thread_Manager.h and specialize ACE_At_Thread_Exit
8557           class for your needs.
8559           If you want to allocate an ACE_At_Thread_Exit hook in stack, you
8560           can do it. The at_exit code use at_exit overloading to take care
8561           of this. Equally dynamic creation of at_exit hook is supported
8562           too.
8564 Mon Jul 27 14:25:15 1998  Chris Gill  <cdgill@cs.wustl.edu>
8566         * tests/Dynamic_Priority_Test.cpp: Changed C-Style casts to
8567           ACE_static_casts, documented argument structure members
8569 Mon Jul 27 12:23:55 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
8571         * ace/Select_Reactor.cpp (open): Changed a erroneous comparison
8572           to
8574           if (size > (size_t) ACE::max_handles ())
8575             return ACE::set_handle_limit (size);
8577           Thanks to Avi Nash <anash@RedBrick.COM> for reporting this.
8579 Sat Jul 25 20:26:21 1998  Steve Huston  <shuston@riverace.com>
8581         * ace/SPIPE_Acceptor.(h cpp): Modified Win32 part to start the
8582           ConnectNamedPipe at open() time, in overlapped mode.  Now also
8583           processes the timeout in accept(), if specified.
8585 Sat Jul 25 16:18:30 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
8587         * ace/Malloc_T.i (addr):
8588           Sun/CC does not like a reinterpret cast here, but only when T is
8589           a char[20]. Use a couple of static casts and added a comment.
8591 Sat Jul 25 11:34:25 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
8593         * ace/Typed_SV_Message_Queue.i (send): Fixed this call to use a
8594           const cast AND a reinterpret cast.  Thanks to David Levine for
8595           reporting this.
8597 Fri Jul 24 23:14:09 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
8599         * examples/Threads/thread_specific.cpp (cleanup): Added an
8600           ACE_reinterpret_cast().  Thanks to John Mulhern
8601           <9107@mn3.lawson.lawson.com> for this.
8603         * ace/Typed_SV_Message_Queue.i: Added some necessary
8604           ACE_reinterpret_cast()s.  Thanks to John Mulhern
8605           <9107@mn3.lawson.lawson.com> for this.
8607         * ace/Malloc_T.i (addr): Changed (T *) cast to
8608           ACE_reinterpret_cast().  Thanks to John Mulhern
8609           <9107@mn3.lawson.lawson.com> for this.
8611         * ace/SOCK_Dgram_Bcast.cpp: Added an ACE_reinterpret_cast() macro
8612           to make the HP/UX 11 C++ compiler happy.  Thanks to John Mulhern
8613           <9107@mn3.lawson.lawson.com> for this.
8615         * ace/config-hpux11.h: Added ACE_HAS_BROKEN_XTI_MACROS and
8616           ACE_HAS_SIGISMEMBER_BUG.
8618         * ace/OS.i (sigismember): Sigismember works correctly in most
8619           respects but the Sigset_Ops_Test tests the sigismember function
8620           with an out-of-range signal number expecting it to fail with a
8621           minus one result.  On HPUX 11.0 it doesn't fail; it correctly
8622           reports that the signal is not in the sigset.  This happens
8623           because HP, bless their hearts, thought that it should only
8624           return out of range when the signal value was greater than the
8625           capacity of the sigset; if ACE_NSIG is forced to 257 then the
8626           test works as expected.  But the real maximum signal is 45.
8627           Added a fix for this courtesy of John Mulhern
8628           <9107@mn3.lawson.lawson.com>.
8630         * ace/OS.h: Added a workaround for broken XTI header files on
8631           HP/UX.  Thanks to John Mulhern <9107@mn3.lawson.lawson.com> for
8632           reporting this.
8634         * tests/Dynamic_Priority_Test.cpp: Reformatted this just a bit.
8636 Fri Jul 24 21:42:39 1998  David L. Levine  <levine@cs.wustl.edu>
8638         * ace/OS.{h,cpp},Message_Block.{h,cpp}: renamed ACE_Time_Value::max
8639           to ACE_Time_Value::max_time, because VxWorks #defines max.
8641         * tests/Message_Queue_Test.cpp: rearranged declarations so
8642           that the test will build on non-threaded platforms.
8644         * tests/Dynamic_Priority_Test.cpp: changed ACE_MT_SYNCH to
8645           ACE_SYNCH, so that we have a chance of building on non-threaded
8646           platforms.
8648 Fri Jul 24 15:15:28 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
8650         * Updated the manual pages to reflect recent changes.
8652         * ace/Svc_Conf.h: Change from yyerror (char *) to yyerror (const
8653           char *).
8655 Fri Jul 24 14:36:30 1998  Chris Gill  <cdgill@cs.wustl.edu>
8657         * ace/OS.{cpp, h} (ACE_Time_Value): Added ACE_Time_Value::max,
8658           for the value at the other end of the time spectrum that can
8659           be represented as a normalized ACE_Time_Value (LONG_MAX seconds,
8660           ACE_ONE_SEC_IN_USECS - 1 microseconds).
8662         * ace/Message_Block.{cpp, h} (ACE_Message_Block): Changed default
8663           parameters so message deadlines default to ACE_Time_Value::max
8664           instead of ACE_Time_Value::zero - this ensures the assigned
8665           static priority order is preserved in a dynamic message queue
8666           if deadlines are not set.
8668         * ace/Message_Queue_T.{cpp, h} (ACE_Dynamic_Message_Queue): Changed
8669           enqueue_tail and enqueue_head to call overloaded enqueue_prio
8670           instead of static message queue base class methods (fixes bug
8671           EC_Multiple_Test uncovered where a tail-enqueued zero length
8672           message is still seen in the queue by the base class, but the
8673           derived dynamic message queue class thinks the queue is empty)
8675         * DOC-way.html: added one on chess and sleep
8677 Fri Jul 24 12:35:12 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
8679         * ace/Token.{h,cpp}: Fixed warnings from gcc and SunCC.
8681 Fri Jul 24 09:05:24 1998  David L. Levine  <levine@cs.wustl.edu>
8683         * ace/OS.cpp (thr_create): with ACE_HAS_DCE_DRAFT4_THREADS and
8684           ACE_LACKS_SETDETACH (LynxOS and HP/UX 10.x), call
8685           ::pthread_detach () on the newly spawned thread.  Only do
8686           it if the THR_DETACHED flag is enabled.
8688         * ace/Thread_Manager.cpp (join_thr,wait,wait_grp,wait_task):
8689           with ACE_HAS_DCE_DRAFT4_THREADS and ACE_LACKS_SETDETACH
8690           (LynxOS and HP/UX 10.x), call ::pthread_detach () on joined
8691           threads.  Only do it if the THR_DETACHED flag is not enabled.
8693         Thanks to Dave Mayerhoefer <davem@lynx.com> for diagnosing the
8694         lack of ::pthread_detach () calls in ACE.
8696 Fri Jul 24 00:39:47 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
8698         * ace/ace_dll.dsp (Message_Queue_T.cpp): This file contains
8699           template definitions and should not be included while building
8700           ACE library.
8702         * ace/config-win32.h (ACE_HAS_NONSTATIC_OBJECT_MANAGER): Use
8703           non-static object manager by default on Win32 (except CE.)  This
8704           at least fixed the problem of WSACleanup getting called too late.
8706           To disable this, define ACE_HAS_NONSTATIC_OBJECT_MANAGER to 0.
8708 Thu Jul 23 22:17:41 1998  Arturo Montes  <mitosys@colomsat.net.co>
8710         * ace/OS.cpp,Task.cpp,Thread_Manager.cpp: unify the Thread
8711           Adapter use between general ACE threads and threads spawned
8712           with a Thread_Manager.
8714           With this patch we add a new flag: ACE_USE_THREAD_MANAGER_ADAPTER.
8715           If you set this flag in your config file, ACE will use the
8716           ace_thread_manager_adapter in Thread_Manager, matching the current
8717           behaviour.  If you omit this flag, ACE will use ace_thread_adapter.
8718           This change save a lot of source code and will let in the future
8719           incorporate ACE_Thread at_exit.
8721 Thu Jul 23 15:30:41 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
8723         * ace/Token.{h,i,cpp}: On platforms that support timed acquire
8724           semaphores, changed to use semaphores for signaling mechanism
8725           for better performance.
8726           (shared_acquire,renew): Give priority to acquire_write over
8727           acquire_read.
8729 Thu Jul 23 14:05:20 1998  David L. Levine  <levine@cs.wustl.edu>
8731         * performance-tests/Misc/context_switch_test.cpp:
8732           helped yield test on VxWorks by timing each yield.
8733           Added half-second delay between outer interations to give
8734           LynxOS (w/ ACE_LACKS_SETDETACH) a chance to cleanup exited threads.
8736         * ace/config-sunos5.5.h: added support for _POSIX_PTHREAD_SEMANTICS.
8737           If it is #defined, then #define ACE_HAS_PTHREADS_1003_DOT_1C
8738           instead of ACE_HAS_STHREADS.  Thanks to Doug Anderson
8739           <doug@clark.net> for investigating this and providing the
8740           update.
8742         * ace/High_Res_Timer.cpp (elapsed_time (ACE_hrtime_t &nanoseconds)):
8743           simplified the calculation.  Thanks to Tom Dobridge
8744           <dobridge@persimmon.com> for the fix.
8746 Wed Jul 22 19:20:43 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
8748         * ace/Proactor.h (ACE_Proactor): Since <completion_strategy> is a
8749           valid constructor parameter for all platforms,
8750           POSIX_COMPLETION_STRATEGY should be defined for all platforms.
8752         * ace/Proactor.cpp (ACE_Proactor): Only use the
8753           completion_strategy when ACE_HAS_AIO_CALLS is defined.
8755         * ace/Asynch_IO.cpp (ACE_Asynch_Result): Only delete
8756           this->aiocb_ptr_ when ACE_HAS_AIO_CALLS is defined.
8758 Wed Jul 22 17:58:27 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
8760         * ace/OS.h: Updated the comments.
8762 Wed Jul 22 17:55:46 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
8764         * performance-tests/Synch-Benchmarks/token_test.cpp: A new test.
8766 Wed Jul 22 17:50:58 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
8768         * ace/OS.h: Defiend ACE_SIG_AIO to be SIGRTMIN. This is the only
8769         signal used for all the <Asynch_Operation>s.
8771 Wed Jul 22 17:46:45 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
8773         * ace/Asynch_IO.h,Asynch_IO.cpp Proactor.h Proactor.cpp :
8775                 First round of changes for sigtimedwait () based approach
8776         of completion querying.
8778                 Added one more parameter to the Proactor contructor to
8779         decide the <aio> completion strategy for the POSIX implementation,
8780         either <aiocb> control blocks or the RT signals. The default is RT
8781         signals.
8783                 Fixed Transmit file. Proactor's handle_events () is done
8784         with in the ACE_Asynch_Transmit_Handler so that control does not
8785         return to the user's application before the whole file is
8786         transmitted. Otherwise the user's application might start writing
8787         to the same socket and this might change the order of the file
8788         that is being transmitted.
8790 Wed Jul 22 15:51:48 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
8792         * performance-tests/Synch-Benchmarks/Benchmark_Base.h
8793           (Benchmark_Method_Base): Passing the test item into pre_run_test
8794           so the thread can be setup correctly.  Duh!
8796         * performance-tests/Synch-Benchmarks/Performance_Test.{h,cpp}
8797           (pre_run_test): Added code so that it iterates thru test items
8798           in svc.conf properly.  Duh**2!
8800 Wed Jul 22 15:48:25 1998  David L. Levine  <levine@cs.wustl.edu>
8802         * ACE version 4.5.24 released.
8804 Wed Jul 22 11:45:44 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
8806         * tests/Aio_Platform_Test.cpp: Added <aio_> calls test for
8807           platforms with ACE_HAS_AIO_CALLS defined.
8809 Wed Jul 22 11:32:33 1998  David L. Levine  <levine@cs.wustl.edu>
8811         * tests/Dynamic_Priority_Test.cpp: VxWorks only, fixed a few
8812           minor things so that it builds now.
8814         * ace/config-linux-common.h: added ACE_HAS_GPERF.
8816 Tue Jul 21 23:09:31 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
8818         * performance-tests/Synch-Benchmarks/{Synch_Tests,synch_driver}.dsp:
8819           Updated proejct source files and renamed debug version dll.
8821         * performance-tests/Synch-Benchmarks/Performance_Test.cpp: Added
8822           ACE_Svc_Export directive.
8824 Tue Jul 21 20:17:31 1998  Steve Huston  <shuston@riverace.com>
8826         * ace/ACE_Library.{mdp mak}: Removed ..\STL from include directories.
8828 Tue Jul 21 12:34:11 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
8830         * ace/config-lynxos.h: Defined ACE_HAS_AIO_CALLS.
8832 Mon Jul 20 19:35:21 1998  Steve Huston  <shuston@riverace.com>
8834         * ace/config-aix-4.1.x.h: Added ACE_LACKS_RLIMIT.  Thanks to Zheng
8835           Han <zhan@glenvan.glenayre.com> for finding this problem.
8837         * ace/ACE_Library.{mdp mak}: Set up ".." as an include file directory
8838           so that $ACE_ROOT doesn't have to be added to MSVC's global options.
8839           Allows working on more than one ACE version.
8841         * netsvcs/lib/netsvcs4.{mdp mak}: Made paths to ACE components relative
8842           and made Debug build netsvcsd.dll - this will work with Nanbor's new
8843           DLL search method (from 19-July).
8845         * netsvcs/servers/servers4.{mdp mak}:
8846         * netsvcs/clients/Logger/Logger.{mdp mak}:
8847           Made paths to ACE components relative.
8849 Mon Jul 20 11:12:44 1998  David L. Levine  <levine@cs.wustl.edu>
8851         * ace/Object_Manager.{h,cpp}: added ACE_TSS_BASE_LOCK, to
8852           support ACE_HAS_TSS_EMULATION with ACE_USE_NATIVE_KEYS.
8854         * include/makeinclude/rules.lib.GNU: (INSTALL): use += to
8855           define INSTALL instead of =, so that applications' INSTALL
8856           won't be overwritten.
8858         * ace/config-osf1-4.0.h,config-linux-common.h: added
8859           ACE_HAS_GPERF.
8861 Mon Jul 20 11:06:44 1998  Arturo Montes  <mitosys@colomsat.net.co>
8863         * ace/OS.*: added support for TSS emulation with Pthreads.
8864           It uses one native TSS key for its internal implementation.
8865           All other TSS keys, both within the ACE library and in
8866           applications, use keys managed by ACE.
8867           To enable, add these #defines to your config.h:
8868           #define ACE_HAS_TSS_EMULATION
8869           #define ACE_USE_NATIVE_KEYS
8871 Sun Jul 19 22:21:17 1998  David L. Levine  <levine@cs.wustl.edu>
8873         * ace/OS.h: added ACE_THROW_SPEC definition.
8875 Sun Jul 19 00:48:42 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
8877         * ace/ACE.cpp (ldfind): Re-enabled searching for *d.dll before
8878           *.dll for debug version of ACE.  There was a premature return
8879           error in the logic.  This is now the default behavior and has to
8880           be disabled explicitly by defining ACE_DISABLE_DEBUG_DLL_CHECK.
8882 Sat Jul 18 22:51:59 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
8884         * ACE version 4.5.23 released.
8886 Sat Jul 18 22:48:52 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
8888         * There was a typo in the Makefile where CE-status should have
8889           been CE-status.txt.  Thanks to Nanbor for fixing this.
8891 Sat Jul 18 22:14:07 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
8893         * ACE version 4.5.22 released.
8895 Sat Jul 18 21:11:52 1998  Steve Huston  <shuston@riverace.com>
8897         * include/makeinclude/platform_hpux_aCC.GNU: Added +W829 to suppress
8898           "string literal to char * is deprecated".  I was going to fix these
8899           in ACE, but TAO just wore me down... ;-)
8901 Sat Jul 18 Michael Kircher  <mk1@cs.wustl.edu>
8903         * tests/Upgradable_RW_Test.cpp: Changed the time measurement
8904           completely. Before we meassured end-to-end. Now we meassure
8905           only the time spend in actual doing things. At the end
8906           all the time spend is summarized.
8908         * tests/Upgradable_RW_Test.h: Added this file, which contains
8909           definitions for the test.
8911 Sat Jul 18 19:47:45 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
8913         * ace/ACE.cpp: Looks like we are having some trouble with the
8914           loading of *d.dll before *.dll on NT, so it is now disabled
8915           by default (until the problem is solved).  To enable use:
8916           ACE_USE_DEBUG_DLL_CHECK.
8918 Sat Jul 18 13:51:49 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
8920         * apps/Makefile: Always compile the gperf directory by default
8921           now.
8923         * ace/config-sunos5.5.h: Added a new flag called ACE_HAS_GPERF,
8924           which should be enabled if the OS/compiler platform can compile
8925           GPERF.  This will determine if we can use perfect hashing in
8926           TAO!
8928 Sat Jul 18 10:52:49 1998  Gonzalo Diethelm  <gonzo@tango.cs.wustl.edu>
8930         * ace/Svc_Conf_l.cpp:
8931         * ace/Svc_Conf_y.cpp:
8932         Move the Id and added ACE_RCSID.
8933         The #line commands changed their line numbers.
8935         * ace/Svc_Conf.l:
8936         * ace/Svc_Conf.y:
8937         Added an ACE_RCSID, and erased a few white spaces at the end.
8939         * etc/Svc_Conf_l.cpp.diff:
8940         * etc/Svc_Conf_y.cpp.diff:
8941         Got rid of a couple of RCS Ids that were being "replaced" by the
8942         patches. These were probably a maintenance problem and didn't
8943         really add much. I also cleaned up the patches: there were a
8944         couple of useless replacements (lines with white spaces at the
8945         ends, etc.), and some of the line offsets were wrong (but patch
8946         could still catch them with its fuzz factors). Now the patches
8947         apply cleanly.
8949 Sat Jul 18 9:00:00 1998  Douglas C. Schmidt  <schmidt@mambo.cs.wustl.edu>
8951         * DCS: Born 36 years ago, at this moment.  Yow, I've now become
8952           a "perfect square" ;-)
8954 Fri Jul 17 18:30:10 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
8956         * ace/Strategies_T.cpp (connect_svc_handler): The activation of
8957           the newly created handler is moved outside the scope of the lock
8958           of the cached connector.  This is necessary to avoid subtle
8959           deadlock conditions with this lock and the Reactor lock.  Thanks
8960           to Micheal for finding this race condition.
8962 Fri Jul 17 13:53:54 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
8964         * examples/Threads/barrier2.cpp (ACE_MT_SYNCH>): Cleaned up the
8965           coding style in this example.
8967         * ace/TTY_IO.cpp (control): Added entries for 300 baud.  Thanks to
8968           the ever vigilant Arturo Montes <mitosys@colomsat.com.co> for
8969           reporting this.
8971 Fri Jul 17 14:51:55 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
8973         * Makefile (CONTROLLED_FILES): Added CE-status to distribution.
8974           Thanks to David for reminding this.
8976 Fri Jul 17 12:48:26 1998  Steve Huston  <shuston@riverace.com>
8978         * tests/Semaphore_Test.cpp: Removed unused variable, and disabled the
8979           test for platforms with POSIX semaphores since POSIX semaphores
8980           don't do timeouts (which this test stresses).
8982 Fri Jul 17 07:32:26 1998  David L. Levine  <levine@cs.wustl.edu>
8984         * Makefile (CONTROLLED_FILES): added ACE-inheritance.{pdf,ps}.gz
8985           to distribution.  Thanks to Gabriel Lima <gali@enea.se> for
8986           reporting their absence.  Also, added COPYING to distribution.
8988         * ace/IO_SAP.cpp (enable): removed unreachable break statement.
8990         * ace/OS.i (sema_wait w/time): on VxWorks and pSoS, subtract
8991           the current time from the time argument to get the relative
8992           time that the systems calls expect.  Thanks to Steve Huston
8993           for recommending this change.  Also, removed ACE_ADAPT_RETVAL
8994           wrap so that errno isn't disturbed.  On VxWorks, convert
8995           S_objLib_OBJ_TIMEOUT errno to ETIME.
8997         * tests/run_tests.{sh,vxworks}: added Semaphore_Test.
8999         * ACE-INSTALL.html: updated multicast on Linux discussion.
9001 Thu Jul 16 18:28:31 1998  Steve Huston  <shuston@riverace.com>
9003         * ace/OS.i (ACE_OS::sema_wait(ACE_sema_t*, ACE_Time_Value&)):
9004           Changed WinCE version to use time as absolute and update it if
9005           the semaphore is acquired.  Changed Win32 version to update the
9006           time if semaphore is acquired.
9008         * tests/Semaphore_Test.cpp: Added sanity checks for time that the
9009           semaphore waits take and for the updated time values on acquiring
9010           a semaphore.
9012 Thu Jul 16 15:41:08 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
9014         * examples/IPC_SAP/UPIPE_SAP/ex2.cpp,
9015           examples/Service_Configurator/IPC-tests/server/Handle_L_CODgram.i,
9016           examples/Service_Configurator/IPC-tests/server/Handle_L_Dgram.i,
9017           examples/Service_Configurator/IPC-tests/server/Handle_Broadcast.i,
9018           examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.i,
9019           examples/Service_Configurator/IPC-tests/server/Handle_L_Stream.i,
9020           examples/Service_Configurator/IPC-tests/server/Handle_R_Dgram.i,
9021           examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.i:
9022           Changed all uses of SIGIO to ACE_SIGIO.
9025         * ace/IPC_SAP: Cleaned up the enable() and disable() methods and
9026           documentation so they correctly use the new ACE_* macros
9027           described in the following bullet.
9029         * ace/OS.h: Added new ACE_SIGIO, ACE_SIGURG, and ACE_CLOEXEC flags
9030           that should be used instead of the SIGIO or SIGURG, etc., in
9031           order to ensure uniqueness.  However, legacy code will continue
9032           to work.
9034         * ace/IO_SAP.cpp: Added new ACE_SIGIO, ACE_SIGURG, and ACE_CLOEXEC
9035           flags that should be used instead of the SIGIO or SIGURG, etc.,
9036           in order to ensure uniqueness.  However, legacy code will
9037           continue to work.
9039 Thu Jul 16 15:02:55 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
9041         * ace/Synch_T.h: Use ACE_Condition_Thread_Mutex instead of
9042           ACE_Condition<ACE_Thread_Mutex> as the default condition
9043           variable (ACE_SYNCH_CONDITION), this removes some headaches wrt
9044           template instantiation.
9046         * ace/IPC_SAP.cpp: Added support for the close-on-exec flag. We
9047           use the new ACE_CLOEXEC macro for this.
9049 Thu Jul 16 12:50:42 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
9051         * netsvcs/lib/netsvcs.dsp:
9052         * netsvcs/servers/servers.dsp:  Updated DLL names.
9054         * ace/ACE.cpp (ldfind): Conventionallly, Win32 platforms
9055           distinguish debug version DLL from release version DLLs by
9056           suffixing debug version DLL names with 'd'.  (E.g., aced.dll
9057           v.s. ace.dll.)  This was causing some problem in managing the
9058           svc.conf files because we need to link the matching DLL with the
9059           executables regarding of how they get compiled.
9061           I modified the ldfind so that when a debug version ACE is
9062           searching for a DLL file, it will first try to find the debug
9063           version of that DLL by suffixing the name with 'd'.  If it can't
9064           be found, it then searches for the name specified.  The release
9065           version doesn't try to do this.  Now, we can specify only the
9066           "normal" dll names in svc.conf files and ACE can pick up the
9067           right dlls for you without changing svc.conf files.  However,
9068           you need to follow the Win32 DLL naming convention as described
9069           above.
9071           I don't expect this feature to cause any backward compatibility
9072           problem.  However, if in the rare event, it does cause you
9073           problem, you can disable it by defining
9074           ACE_DISABLE_DEBUG_DLL_CHECK in your config.h file.  Notice that
9075           this change only affects Win32 platforms.
9077 Thu Jul 16 08:55:48 1998  David L. Levine  <levine@cs.wustl.edu>
9079         * ace/Dynamic_Service.cpp (instance): removed const-ness
9080           from local void * obj, because the function return value
9081           isn't const.  Sun C++ caught this.
9083         * STL,Makefile: removed STL from ACE, for good this time.  There
9084           are no more STL dependencies in TAO's AVStreams.  However, if
9085           you still want to use the version of STL that was in ACE, you
9086           can obtain it at www.cs.wustl.edu/~schmidt/ACE_wrappers/STL.
9088         * ACE-INSTALL.html: added note on enabling multicast on Linux for
9089           TAO's NameService.  And, added note on adding a routing table
9090           entry to enable multicast on Linux.  Thanks to Nanbor for
9091           discovering that.
9093 Wed Jul 15 19:00:33 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
9095         * ace/Dynamic_Service.cpp (instance): Made the error reporting
9096           less verbose.  Thanks to Darrell for suggesting this.  In
9097           addition, changed the use of (SERVICE *) to
9098           ACE_reinterpret_cast().
9100 Wed Jul 15 16:16:40 1998  Chris Gill  <cdgill@cs.wustl.edu>
9102         * ace/Message_Queue_T.cpp: Fixed message/byte counting bugs.
9104 Wed Jul 15 15:42:44 1998  James C Hu  <jxh@cs.wustl.edu>
9106         * ace/OS.h: Added a copy constructor for ACE_Thread_ID.
9108 Wed Jul 15 14:33:15 1998  Steve Huston  <shuston@riverace.com>
9110         * ace/Select_Reactor.cpp: Added some MVS-specific behavior in the
9111           error checking/recovery code so that bad handles are properly
9112           located and removed on MVS Open Edition.  Thanks to Chuck Gehr
9113           for his hard work in tracking these down.
9115 Tue Jul 14 14:00:00 1998  Michael Kircher  <mk1@cs.wustl.edu>
9117         * ace/Select_Reactor.cpp: Changed the handling
9118           of the state_changed flag. Now, it is set to "changed" (=1)
9119           after each run of the event loop. This fixed a nested
9120           upcalls bug, which was caused by overwriting this
9121           flag each time entering the event loop. So that,
9122           when poping one level of the handle_events call
9123           stack information was lost about changes. Now, we
9124           assume that information has changed and
9125           propagate this knowlegde down in the call
9126           stack. No performance overhead is caused by that.
9128 Tue Jul 14 12:02:15 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
9130         * examples/IPC_SAP/SOCK_SAP/C-inserver.cpp:
9131         * examples/IPC_SAP/SOCK_SAP/C-inclient.cpp:
9132         * ace/SOCK_Dgram_Mcast.cpp:
9133         * ace/SOCK_Acceptor.cpp:
9134         * ace/ACE.cpp:
9135           Use ACE_reinterpret_cast in several conversions address type
9136           conversions (like from sockaddr* to sockaddr_in*).
9137           Some compilers (HP/aCC) give a warning if the old C-style cast
9138           operators are used; using the proper cast operator removes the
9139           warning. Thanks to John Mulhern <9107@mn3.lawson.lawson.com> for
9140           pointing out this problem.
9142 Tue Jul 14 11:26:40 1998  David L. Levine  <levine@cs.wustl.edu>
9144         * Makefile: added STL back in, because TAO's AVStreams still uses it.
9145           Thanks to Hans Rohnert <hans.rohnert@mchp.siemens.de> for
9146           reporting this.
9148         * ace/Message_Queue_T.cpp (refresh_{late,pending}_queue): removed some
9149           breaks following ACE_ERROR_RETURNs, to avoid compiler warnings about
9150           unreachable statements.
9152         * tests/Dynamic_Priority_Test.cpp: commented out unused global
9153           FIFO_receipt_order.
9155         * ace/Basic_Types.h: added ACE_UINT64_LITERAL macro.  Thanks to
9156           Nanbor for suggesting it.
9158         * ace/Stats.cpp: use ACE_UINT64_LITERAL to replace platform-specific
9159           code.
9161 Mon Jul 13 22:29:20 1998  David L. Levine  <levine@cs.wustl.edu>
9163         * tests/Dynamic_Priority_Test.cpp: swapped "const" and "static"
9164           qualifiers so that "static" appears first.
9165           (run_performance_test): initialized random_int to 0 to avoid
9166           g++ warning.
9168         * ace/Message_Queue_T.h: on VxWorks, added forward declaration
9169           of class ACE_Message_Queue_Vx.
9171         * ace/Message_Queue_T.cpp (create_Vx_message_queue): added
9172           template <ACE_SYNCH_DECL>.
9174 Mon Jul 13 16:37:07 1998  Chris D. Gill  <cdgill@tango.cs.wustl.edu>
9176         * Message_Queue_T.cpp:
9177         refined dynamic queues based on performance test results
9179 Mon Jul 13 16:35:50 1998  Chris Gill  <cdgill@cs.wustl.edu>
9181         * ace/Message_Block.{cpp, h, i}
9182           ace/Message_Queue_T.{cpp, h}:
9184           Removed automatic deletion of beyond messages, replaced this
9185           with a remove_messages method to be called by an external
9186           "reaper" if at all.  Reorganized dynamic message queues
9187           to remove sources of overhead, especially in checking
9188           message status while refreshing the queue: added separate
9189           head and tail pointers for pending, late, and beyond late
9190           protions of queue: only move these pointers, not messages
9191           (except at enqueue).
9193         * tests/Dynamic_Priority_Test.cpp:
9195           Added performance tests for static and dynamic queues
9196           which do best case, worst case, and randomized ordering
9197           of messages, presenting each ordering to all queues
9198           and clocking enqueue and dequeue performance.
9200 Mon Jul 13 11:11:56 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
9202         * ace/Svc_Handler.h (ACE_SYNCH_USE>): Changed type of member
9203           <dynamic_> to int.  Thanks to Zoran Ivanovic
9204           <zorani@pathcom.com> for pointing this out.
9206 Sun Jul 12 13:25:04 1998  David L. Levine  <levine@cs.wustl.edu>
9208         * ACE-INSTALL.html: Separated the Linux RedHat 5.1 and 5.0
9209           discussions into different paragraphs.
9211 Sat Jul 11 14:25:58 1998  David L. Levine  <levine@cs.wustl.edu>
9213         * ace/Timer_Queue_Adapter.cpp: moved the ACE_RCSID inside the
9214           ifndef ACE_TIMER_QUEUE_ADAPTERS_C protection, because this
9215           file gets multiply included with g++.
9217         * ace/config-lynxos.h: added #define ACE_USE_RCS_ID 0.
9219 Sat Jul 11 03:44:00 1998  Gonzalo Diethelm  <gonzo@tango.cs.wustl.edu>
9221         * ace/inc_user_config.h:
9222         Defined an ACE_RCSID macro to add RCS Id keywords to .cpp
9223         files. Also defined an ACE_USE_RCSID macro that allows turning
9224         this feature on and off.
9226         * ace/config-chorus.h:
9227         * ace/config-psosim-g++.h:
9228         * ace/config-vxworks5.x.h:
9229         These files have the RCS Id keywords off by default.
9230         I hope these are all (and the only) real-time OSs that could be
9231         impacted by the extra 40K or so of space.
9233         * ace/ACE.cpp:
9234         * ace/ACED.cpp:
9235         * ace/ACER.cpp:
9236         * ace/ARGV.cpp:
9237         * ace/Acceptor.cpp:
9238         * ace/Activation_Queue.cpp:
9239         * ace/Addr.cpp:
9240         * ace/Arg_Shifter.cpp:
9241         * ace/Array.cpp:
9242         * ace/Asynch_Acceptor.cpp:
9243         * ace/Asynch_IO.cpp:
9244         * ace/Auto_Ptr.cpp:
9245         * ace/Basic_Types.cpp:
9246         * ace/CORBA_Handler.cpp:
9247         * ace/CORBA_Ref.cpp:
9248         * ace/Connector.cpp:
9249         * ace/Containers.cpp:
9250         * ace/DEV.cpp:
9251         * ace/DEV_Addr.cpp:
9252         * ace/DEV_Connector.cpp:
9253         * ace/DEV_IO.cpp:
9254         * ace/Date_Time.cpp:
9255         * ace/Dump.cpp:
9256         * ace/Dump_T.cpp:
9257         * ace/Dynamic.cpp:
9258         * ace/Dynamic_Service.cpp:
9259         * ace/Env_Value_T.cpp:
9260         * ace/Event_Handler.cpp:
9261         * ace/Event_Handler_T.cpp:
9262         * ace/FIFO.cpp:
9263         * ace/FIFO_Recv.cpp:
9264         * ace/FIFO_Recv_Msg.cpp:
9265         * ace/FIFO_Send.cpp:
9266         * ace/FIFO_Send_Msg.cpp:
9267         * ace/FILE.cpp:
9268         * ace/FILE_Addr.cpp:
9269         * ace/FILE_Connector.cpp:
9270         * ace/FILE_IO.cpp:
9271         * ace/Filecache.cpp:
9272         * ace/Free_List.cpp:
9273         * ace/Future.cpp:
9274         * ace/Get_Opt.cpp:
9275         * ace/Handle_Set.cpp:
9276         * ace/Hash_Map_Manager.cpp:
9277         * ace/High_Res_Timer.cpp:
9278         * ace/INET_Addr.cpp:
9279         * ace/IOStream.cpp:
9280         * ace/IOStream_T.cpp:
9281         * ace/IO_Cntl_Msg.cpp:
9282         * ace/IO_SAP.cpp:
9283         * ace/IPC_SAP.cpp:
9284         * ace/LOCK_SOCK_Acceptor.cpp:
9285         * ace/LSOCK.cpp:
9286         * ace/LSOCK_Acceptor.cpp:
9287         * ace/LSOCK_CODgram.cpp:
9288         * ace/LSOCK_Connector.cpp:
9289         * ace/LSOCK_Dgram.cpp:
9290         * ace/LSOCK_Stream.cpp:
9291         * ace/Local_Name_Space.cpp:
9292         * ace/Local_Name_Space_T.cpp:
9293         * ace/Local_Tokens.cpp:
9294         * ace/Log_Msg.cpp:
9295         * ace/Log_Record.cpp:
9296         * ace/Malloc.cpp:
9297         * ace/Malloc_T.cpp:
9298         * ace/Managed_Object.cpp:
9299         * ace/Map_Manager.cpp:
9300         * ace/Mem_Map.cpp:
9301         * ace/Memory_Pool.cpp:
9302         * ace/Message_Block.cpp:
9303         * ace/Message_Queue.cpp:
9304         * ace/Message_Queue_T.cpp:
9305         * ace/Method_Object.cpp:
9306         * ace/Module.cpp:
9307         * ace/Msg_WFMO_Reactor.cpp:
9308         * ace/Multiplexor.cpp:
9309         * ace/Name_Proxy.cpp:
9310         * ace/Name_Request_Reply.cpp:
9311         * ace/Name_Space.cpp:
9312         * ace/Naming_Context.cpp:
9313         * ace/OS.cpp:
9314         * ace/Object_Manager.cpp:
9315         * ace/Obstack.cpp:
9316         * ace/Parse_Node.cpp:
9317         * ace/Pipe.cpp:
9318         * ace/Priority_Reactor.cpp:
9319         * ace/Proactor.cpp:
9320         * ace/Process.cpp:
9321         * ace/Process_Manager.cpp:
9322         * ace/Profile_Timer.cpp:
9323         * ace/RB_Tree.cpp:
9324         * ace/Reactor.cpp:
9325         * ace/Read_Buffer.cpp:
9326         * ace/Registry.cpp:
9327         * ace/Registry_Name_Space.cpp:
9328         * ace/Remote_Name_Space.cpp:
9329         * ace/Remote_Tokens.cpp:
9330         * ace/SOCK.cpp:
9331         * ace/SOCK_Acceptor.cpp:
9332         * ace/SOCK_CODgram.cpp:
9333         * ace/SOCK_Connector.cpp:
9334         * ace/SOCK_Dgram.cpp:
9335         * ace/SOCK_Dgram_Bcast.cpp:
9336         * ace/SOCK_Dgram_Mcast.cpp:
9337         * ace/SOCK_IO.cpp:
9338         * ace/SOCK_Stream.cpp:
9339         * ace/SPIPE.cpp:
9340         * ace/SPIPE_Acceptor.cpp:
9341         * ace/SPIPE_Addr.cpp:
9342         * ace/SPIPE_Connector.cpp:
9343         * ace/SPIPE_Stream.cpp:
9344         * ace/SString.cpp:
9345         * ace/SV_Message.cpp:
9346         * ace/SV_Message_Queue.cpp:
9347         * ace/SV_Semaphore_Complex.cpp:
9348         * ace/SV_Semaphore_Simple.cpp:
9349         * ace/SV_Shared_Memory.cpp:
9350         * ace/Sched_Params.cpp:
9351         * ace/Select_Reactor.cpp:
9352         * ace/Service_Config.cpp:
9353         * ace/Service_Manager.cpp:
9354         * ace/Service_Object.cpp:
9355         * ace/Service_Repository.cpp:
9356         * ace/Service_Types.cpp:
9357         * ace/Shared_Memory.cpp:
9358         * ace/Shared_Memory_MM.cpp:
9359         * ace/Shared_Memory_SV.cpp:
9360         * ace/Shared_Object.cpp:
9361         * ace/Signal.cpp:
9362         * ace/Singleton.cpp:
9363         * ace/Stats.cpp:
9364         * ace/Strategies.cpp:
9365         * ace/Strategies_T.cpp:
9366         * ace/Stream.cpp:
9367         * ace/Stream_Modules.cpp:
9368         * ace/Svc_Handler.cpp:
9369         * ace/Synch.cpp:
9370         * ace/Synch_Options.cpp:
9371         * ace/Synch_T.cpp:
9372         * ace/System_Time.cpp:
9373         * ace/TLI.cpp:
9374         * ace/TLI_Acceptor.cpp:
9375         * ace/TLI_Connector.cpp:
9376         * ace/TLI_Stream.cpp:
9377         * ace/TTY_IO.cpp:
9378         * ace/Task.cpp:
9379         * ace/Task_T.cpp:
9380         * ace/Thread.cpp:
9381         * ace/Thread_Manager.cpp:
9382         * ace/Time_Request_Reply.cpp:
9383         * ace/Timeprobe.cpp:
9384         * ace/Timeprobe_T.cpp:
9385         * ace/Timer_Hash.cpp:
9386         * ace/Timer_Hash_T.cpp:
9387         * ace/Timer_Heap.cpp:
9388         * ace/Timer_Heap_T.cpp:
9389         * ace/Timer_List.cpp:
9390         * ace/Timer_List_T.cpp:
9391         * ace/Timer_Queue.cpp:
9392         * ace/Timer_Queue_Adapters.cpp:
9393         * ace/Timer_Queue_T.cpp:
9394         * ace/Timer_Wheel.cpp:
9395         * ace/Timer_Wheel_T.cpp:
9396         * ace/Token.cpp:
9397         * ace/Token_Collection.cpp:
9398         * ace/Token_Invariants.cpp:
9399         * ace/Token_Manager.cpp:
9400         * ace/Token_Request_Reply.cpp:
9401         * ace/Trace.cpp:
9402         * ace/Typed_SV_Message.cpp:
9403         * ace/Typed_SV_Message_Queue.cpp:
9404         * ace/UNIX_Addr.cpp:
9405         * ace/UPIPE_Acceptor.cpp:
9406         * ace/UPIPE_Connector.cpp:
9407         * ace/UPIPE_Stream.cpp:
9408         * ace/WFMO_Reactor.cpp:
9409         * ace/XtReactor.cpp:
9410         * ace/gethrtime.cpp:
9411         * tests/Aio_Platform_Test.cpp:
9412         * tests/Atomic_Op_Test.cpp:
9413         * tests/Barrier_Test.cpp:
9414         * tests/Basic_Types_Test.cpp:
9415         * tests/Buffer_Stream_Test.cpp:
9416         * tests/Conn_Test.cpp:
9417         * tests/Dynamic_Priority_Test.cpp:
9418         * tests/Enum_Interfaces_Test.cpp:
9419         * tests/Env_Value_Test.cpp:
9420         * tests/Future_Test.cpp:
9421         * tests/Handle_Set_Test.cpp:
9422         * tests/Hash_Map_Manager_Test.cpp:
9423         * tests/IOStream_Test.cpp:
9424         * tests/MM_Shared_Memory_Test.cpp:
9425         * tests/MT_Reactor_Timer_Test.cpp:
9426         * tests/MT_SOCK_Test.cpp:
9427         * tests/Map_Manager_Test.cpp:
9428         * tests/Mem_Map_Test.cpp:
9429         * tests/Message_Block_Test.cpp:
9430         * tests/Message_Queue_Test.cpp:
9431         * tests/MsgQueue_Notifications_Test.cpp:
9432         * tests/Naming_Test.cpp:
9433         * tests/Notify_Performance_Test.cpp:
9434         * tests/OrdMultiSet_Test.cpp:
9435         * tests/Pipe_Test.cpp:
9436         * tests/Priority_Buffer_Test.cpp:
9437         * tests/Priority_Reactor_Test.cpp:
9438         * tests/Priority_Task_Test.cpp:
9439         * tests/Process_Mutex_Test.cpp:
9440         * tests/Process_Strategy_Test.cpp:
9441         * tests/Reactor_Exceptions_Test.cpp:
9442         * tests/Reactor_Notify_Test.cpp:
9443         * tests/Reactor_Performance_Test.cpp:
9444         * tests/Reactor_Timer_Test.cpp:
9445         * tests/Reactors_Test.cpp:
9446         * tests/Reader_Writer_Test.cpp:
9447         * tests/Recursive_Mutex_Test.cpp:
9448         * tests/SOCK_Connector_Test.cpp:
9449         * tests/SOCK_Test.cpp:
9450         * tests/SPIPE_Test.cpp:
9451         * tests/SString_Test.cpp:
9452         * tests/SV_Shared_Memory_Test.cpp:
9453         * tests/Semaphore_Test.cpp:
9454         * tests/Service_Config_Test.cpp:
9455         * tests/Sigset_Ops_Test.cpp:
9456         * tests/Simple_Message_Block_Test.cpp:
9457         * tests/TSS_Test.cpp:
9458         * tests/Task_Test.cpp:
9459         * tests/Thread_Manager_Test.cpp:
9460         * tests/Thread_Mutex_Test.cpp:
9461         * tests/Thread_Pool_Test.cpp:
9462         * tests/Time_Service_Test.cpp:
9463         * tests/Time_Value_Test.cpp:
9464         * tests/Timeprobe_Test.cpp:
9465         * tests/Timer_Queue_Test.cpp:
9466         * tests/Tokens_Test.cpp:
9467         * tests/UPIPE_SAP_Test.cpp:
9468         * tests/Upgradable_RW_Test.cpp:
9469         * tests/XtReactor_Test.cpp:
9470         * tests/tests_bcc.ide:
9471         Added RCS Id keywords to all these files.
9473         * ace/ace_bcc.ide:
9474         Don't really know what changed here...
9476 Fri Jul 10 23:11:36 1998  David L. Levine  <levine@cs.wustl.edu>
9478         * bin/make_release: redirect rdiff error messages to /dev/null.
9480 Fri Jul 10 22:15:04 1998  David L. Levine  <levine@cs.wustl.edu>
9482         * ACE version 4.5.21 released.
9484 Fri Jul 10 10:29:58 1998  David L. Levine  <levine@cs.wustl.edu>
9486         * ace/SString.h: added ACE_INLINE specifiers to operator+
9487           declarations, to please Sun C++.  Will AIX be able to cope?
9489 Thu Jul 09 23:27:26 1998  Gonzalo Diethelm  <gonzo@tango.cs.wustl.edu>
9491         * ace/OS.h:
9492         Corrected definitions for ACE_Export under Borland compilers.
9494         * ace/SString.h:
9495         Got rid of the friend operators.
9497         * ace/Containers.cpp:
9498         * ace/Message_Queue_T.cpp:
9499         * ace/Stream.cpp:
9500         * ace/Timer_Heap_T.cpp:
9501         * tests/Buffer_Stream_Test.cpp:
9502         * tests/Dynamic_Priority_Test.cpp:
9503         * tests/Future_Test.cpp:
9504         * tests/Naming_Test.cpp:
9505         * tests/Priority_Buffer_Test.cpp:
9506         * tests/Thread_Pool_Test.cpp:
9507         Got rid of a few assignments to zero that cause warnings with
9508         the Borland compiler.
9510         * ace/ace_bcc.ide:
9511         * tests/tests_bcc.ide:
9512         Now Borland C++ 5.x supports building ACE as a DLL, and the tests
9513         are linked against the Debug DLL.
9515         * tests/tests.bpg:
9516         * tests/Dynamic_Priority_Test.bpr:
9517         * tests/Timeprobe_Test.bpr:
9518         * tests/Upgradable_RW_Test.bpr:
9519         * tests/XtReactor_Test.bpr:
9520         Added four new tests to the project group.
9522         * tests/Aio_Platform_Test.bpr:
9523         * tests/Atomic_Op_Test.bpr:
9524         * tests/Barrier_Test.bpr:
9525         * tests/Basic_Types_Test.bpr:
9526         * tests/Buffer_Stream_Test.bpr:
9527         * tests/Conn_Test.bpr:
9528         * tests/Dynamic_Priority_Test.bpr:
9529         * tests/Enum_Interfaces_Test.bpr:
9530         * tests/Env_Value_Test.bpr:
9531         * tests/Future_Test.bpr:
9532         * tests/Handle_Set_Test.bpr:
9533         * tests/Hash_Map_Manager_Test.bpr:
9534         * tests/IOStream_Test.bpr:
9535         * tests/MM_Shared_Memory_Test.bpr:
9536         * tests/MT_Reactor_Timer_Test.bpr:
9537         * tests/MT_SOCK_Test.bpr:
9538         * tests/Map_Manager_Test.bpr:
9539         * tests/Mem_Map_Test.bpr:
9540         * tests/Message_Block_Test.bpr:
9541         * tests/Message_Queue_Test.bpr:
9542         * tests/MsgQueue_Notifications_Test.bpr:
9543         * tests/Naming_Test.bpr:
9544         * tests/Notify_Performance_Test.bpr:
9545         * tests/OrdMultiSet_Test.bpr:
9546         * tests/Pipe_Test.bpr:
9547         * tests/Priority_Buffer_Test.bpr:
9548         * tests/Priority_Reactor_Test.bpr:
9549         * tests/Priority_Task_Test.bpr:
9550         * tests/Process_Mutex_Test.bpr:
9551         * tests/Process_Strategy_Test.bpr:
9552         * tests/Reactor_Exceptions_Test.bpr:
9553         * tests/Reactor_Notify_Test.bpr:
9554         * tests/Reactor_Performance_Test.bpr:
9555         * tests/Reactor_Timer_Test.bpr:
9556         * tests/Reactors_Test.bpr:
9557         * tests/Reader_Writer_Test.bpr:
9558         * tests/Recursive_Mutex_Test.bpr:
9559         * tests/SOCK_Connector_Test.bpr:
9560         * tests/SOCK_Test.bpr:
9561         * tests/SPIPE_Test.bpr:
9562         * tests/SString_Test.bpr:
9563         * tests/SV_Shared_Memory_Test.bpr:
9564         * tests/Semaphore_Test.bpr:
9565         * tests/Service_Config_Test.bpr:
9566         * tests/Sigset_Ops_Test.bpr:
9567         * tests/Simple_Message_Block_Test.bpr:
9568         * tests/TSS_Test.bpr:
9569         * tests/Task_Test.bpr:
9570         * tests/Thread_Manager_Test.bpr:
9571         * tests/Thread_Mutex_Test.bpr:
9572         * tests/Thread_Pool_Test.bpr:
9573         * tests/Time_Service_Test.bpr:
9574         * tests/Time_Value_Test.bpr:
9575         * tests/Timeprobe_Test.bpr:
9576         * tests/Timer_Queue_Test.bpr:
9577         * tests/Tokens_Test.bpr:
9578         * tests/UPIPE_SAP_Test.bpr:
9579         * tests/Upgradable_RW_Test.bpr:
9580         * tests/XtReactor_Test.bpr:
9581         Uniform options for Borland C++ and C++ Builder.
9583 Thu Jul 09 16:23:34 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
9585         * ace/Registry.h (ACE_Registry): Changed the Registry class so
9586           that it does not use STL containers and the string classes
9587           anymore.  It now uses ACE containers and string classes.  There
9588           should be no dependency on STL in ACE anymore.
9590         * STL: Removed this directory since ACE is no longer dependent on
9591           STL. If you still need these STL files, please refer to:
9592           http://www.rahul.net/terris/.
9594         * examples/Registry/test_registry_{update,iterator}.cpp (main):
9595           Updated files to work with modified Registry.
9597         * ace/SString.cpp (ACE_WString::operator<<): Added new operator.
9599         * Makefile: Updated Makefile so that STL is no longer released
9600           with ACE.
9602 Thu Jul 09 09:37:43 1998  David L. Levine  <levine@cs.wustl.edu>
9604         * ace/Basic_Types: for LONG_LONG size determination, don't use
9605           ULONGLONG_MAX ifdef __GNUG__.  This change should fix a build
9606           problem on g++/Irix 6.4.  Thanks to Johan Lundin <johan@lundin.com>
9607           for reporting the problem.
9609 Wed Jul 08 17:47:48 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
9611         * ace/Strategies_T (ACE_Scheduling_Strategy,
9612           ACE_Schedule_All_Reactive_Strategy, and
9613           ACE_Schedule_All_Threaded_Strategy): The code in these classes
9614           was screwed up. The base class (ACE_Scheduling_Strategy) was
9615           keeping a pointer to the SVC_HANDLER in order to enable the
9616           derived classes to get to the Reactor and Thread Manager. Also,
9617           if the user did not pass in an instance of SVC_HANDLER, one was
9618           created dynamically ;-( Another problem was that the Reactor
9619           field was set on the SVC_HANDLER, but the SVC_HANDLER was never
9620           registered with the Reactor. So when the SVC_HANDLER was
9621           deleted, it tried to remove itself from a potentially
9622           non-existent Reactor.
9624           Solution: Removed scheduler_ as protected member of the base
9625           class.  Added thr_mgr_ to ACE_Schedule_All_Threaded_Strategy and
9626           reactor_ to ACE_Schedule_All_Reactive_Strategy.  Now these
9627           classes do not need the scheduler_ member anymore.
9629 Wed Jul  8 13:47:02 1998  David L. Levine  <levine@cs.wustl.edu>
9631         * ace/config-sunx86-sunc++-4.x.h: inserted note to not use this
9632           config, but to use config-sunos5.5.h instead.  After we
9633           have installed and tested Sun C++ on Solaris86, we should
9634           remove this config.
9636         * ACE-INSTALL.html: added note about increasing NUM_FILES to
9637           1000 in VxWorks kernel configuration.  Thanks to
9638           Jeff Franks <Jeffrey_Franks@i-o.com> for reminding me about
9639           this change from the default VxWorks kernel configuration.
9641 Tue Jul 07 14:36:56 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
9643         * ace/ace_ce_dll.dsp: Added Stats.cpp into project.
9645         * ace/README: Added a new directive
9646           ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS and its documentation.
9648         * ace/config-win32-common.h: Defined
9649           ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS for Win32 except CE.
9651         * ace/Log_Msg.{h,cpp}:
9652         * ace/OS.{h,i,cpp}: Changed to use ifdef
9653           ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS for structural exception
9654           code.
9656         * ace/Token.cpp:
9657         * ace/Stats.cpp:
9658         * ace/High_Res_Timer.cpp: Made them CE friendly.
9660 Tue Jul 07 09:26:22 1998  David L. Levine  <levine@cs.wustl.edu>
9662         * ace/Thread_Manager.h: updated comments that describe
9663           ACE_thread_t * argument to spawn () family.
9665         * ace/OS.{h,cpp},Thread_Manager.cpp: on VxWorks only, instead
9666           of using a string to mark an ACE_thread_t as being allocated
9667           by the ACE_Thread_Manager, use a single character (ASCII DC2).
9669         * tests/run_tests.vxworks: added Dynamic_Priority_Test.
9671         * apps/gperf/src/Makefile: added trailing $ to Id string.
9673 Tue Jul  7 10:48:42 EET DST 1998 Wei Chiang <chiang@horizon.ntc.nokia.com>
9675         * tests/CLASSIX/CLASSIX_Con_Acc_Test.cpp:
9676         Use a counter, max. number of unread messages, instead of wait
9677         to work around the blocking problem in ipcSend()
9679 Mon Jul  6 22:32:19 1998  Gonzalo Diethelm  <gonzo@tango.cs.wustl.edu>
9681         * ace/ace_bcc.ide:
9682         Updates for Borland C++ 5.x.
9684         * ace/config-win32.h:
9685         Made sure ACE_HAS_WINNT4 and _WIN32_WINNT are always defined if
9686         they were not explicitly defined.
9688         * ace/config-win32-borland.h:
9689         * ace/config-win32-common.h:
9690         Moved all the Borland definitions to a config-win32-borland.h
9691         file.
9693         * ace/OS.h (ACE_SEH_TRY):
9694         Added correct support for Borland C++ 5.x.
9696         * ace/OS.cpp:
9697         Replaced the ugly hack to access wProcessorArchitecture under
9698         Borland compilers for an even uglier hack, but that will work on
9699         every Borland compiler, as long as the members of SYSTEM_INFO are
9700         consistent. See the code and get sick!
9702         * ace/LOCK_SOCK_Acceptor.h:
9703         * ace/Array.cpp:
9704         * ace/Arg_Shifter.cpp:
9705         Were missing an "ace/" in some includes.
9707         * tests/tests_bcc.ide:
9708         Added all (well, most) of the tests to the project file.
9710         * tests/Makefile:
9711         * tests/Message_Queue_Notifications_Test.cpp:
9712         * tests/Message_Queue_Notifications_Test.bpr:
9713         * tests/Message_Queue_Notifications_Test.dsp:
9714         * tests/MsgQueue_Notifications_Test.cpp:
9715         * tests/MsgQueue_Notifications_Test.bpr:
9716         * tests/MsgQueue_Notifications_Test.dsp:
9717         * tests/run_tests.bat:
9718         * tests/run_tests.psosim:
9719         * tests/run_tests.sh:
9720         * tests/run_tests.vxworks:
9721         * tests/tests.bpg:
9722         * tests/tests.dsw:
9723         * tests/tests.mak:
9724         * tests/WinCE/Message_Queue_Notifications_Test.dsp:
9725         * tests/WinCE/MsgQueue_Notifications_Test.dsp:
9726         * tests/version_tests/Message_Queue_Notification_Test.dsp:
9727         * tests/version_tests/MsgQueue_Notifications_Test.dsp  :
9728         Changed name of Message_Queue_Notifications_Test to
9729         MsgQueue_Notifications_Test, to avoid problems with Borland
9730         compilers.
9732         * tests/Enum_Interfaces_Test.cpp:
9733         Added some output to test ACE_OS::uname().
9735         * tests/Basic_Types_Test.cpp:
9736         Changed a couple of debug lines to contain only one \n.
9738 Mon Jul  6 14:24:11 EET DST 1998 Wei Chiang <chiang@horizon.ntc.nokia.com>
9740         * tests/CLASSIX/CLASSIX_Con_Acc_Test.cpp:
9741         Add a pause after each send_n()(i.e. ipcSend()) as a temporary
9742         work around over the block problem in ipcSend() when the resources are
9743         exhaused.
9746 Mon Jul  6 03:56:49 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
9748         * ace/Thread_Manager.h (ACE_Thread_Manager::thr_self): Instead of
9749           refering to ACE_Thread::thr_self, it should mention
9750           ACE_Thread::self.
9752 Fri Jul 03 17:02:49 1998  David L. Levine  <levine@cs.wustl.edu>
9754         * bin/make_release (create_kit): remove any existing .zip
9755           files before trying to create new ones, because they get
9756           in the way.  Thanks to J. Russell Noseworthy
9757           <rnosewor@objectsciences.com> for reporting the problem
9758           with new ACE+TAO.tar.gz's not being created.
9760 Fri Jul  3 14:24:59 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
9762         * apps/gperf/src/gperf.dsw:
9763         * apps/gperf/src/gperf.dsp:
9764         * apps/gperf/src/gperf_lib.dsp:
9765           Added MSVC5 Project files
9767         * apps/gperf/src/Key_List.cpp:
9768         * apps/gperf/src/Options.h:
9769         * apps/gperf/src/Options.cpp:
9770           There was a enumeration CONST, and MSVC5 didn't like it.  I
9771           renamed it to CONSTANT.
9773         * apps/gperf/src/new.cpp
9774           Changed a variable from int to size_t to get rid of a MSVC
9775           warning.
9777           NOTE:  I tried out some tests and even though gperf compiles
9778                  on NT, it doesn't seem to work correctly yet.  That
9779                  will come later.
9781 Fri Jul 03 13:47:19 1998  David L. Levine  <levine@cs.wustl.edu>
9783         * ACE version 4.5.20 released.
9785 Fri Jul 03 08:52:13 1998  Steve Huston  <shuston@riverace.com>
9787         * netsvcs/lib/Name_Handler.{cpp h}: Moved class Naming_Context from
9788           .cpp to .h so that AIX xlC can find it when instantiating templates.
9790 Thu Jul  2 11:49:16 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>
9792         * ace/OS.h:
9793         * ace/OS.i: Added ACE_OS::fseek (). NT supports this too. Just
9794         defined SEEK_SET, SEEK_CUR etc, in case they are not defined. This
9795         is similar to what has been done for lseek.
9797 Thu Jul 02 10:58:00 1998  Michael Kircher  <mk1@cs.wustl.edu>
9799         * tests/Upgradable_RW_Test.cpp: Totally new version,
9800           now we use linked lists on which we search to
9801           spend some time.
9803         * tests/Upgradable_RW_Test.dsp: Project file for this test.
9805         * tests/tests.dsw: Integrated this project.
9807         * tests/version_tests.dsw: Integrated this project.
9809         * tests/Upgradable_RW_Test.dsp: Project file for this test.
9811 Thu Jul 02 09:14:20 1998  David L. Levine  <levine@cs.wustl.edu>
9813         * examples/Reactor/Misc/test_timer_queue.cpp (test_functionality):
9814           use timer_id outside of an assert, so that we don't get compile
9815           warnings with ACE_NDEBUG about it being unused.
9817         * ace/OS.cpp (thr_create): on VxWorks only, check if thr_id
9818           points to a zero char *.  If so, assign the VxWorks task
9819           name pointer to it (*thr_id).  Thanks to Bill Backstrom
9820           <backstr@anubis.network.com> for this suggestion.
9822         * ace/Thread_Manager.cpp (spawn_i): on VxWorks only, augmented
9823           comment to explain the various cases for t_id and *t_id values.
9825         * ace/Thread_Manager.h (spawn*): on VxWorks only, added comment
9826           explaining use of ACE_thread_t * argument.
9828         * tests/Barrier_Test.cpp: on VxWorks only, added test of
9829           an ACE_thread_t that points to a 0 char *.
9831         * tests/Barrier_Test.cpp,Thread_Manager_Test.cpp: moved
9832           VxWorks task name and stack size tests from Barrier_Test
9833           to Thread_Manager_Test.
9835         * tests/run_tests.vxworks: on VxWorks only, enabled
9836           Message_Queue_Test.  It's OK to run it on VxWorks, now
9837           that the iterator_test () is disabled in the test.
9839         * tests/SOCK_Connector_Test.cpp (succeed_nonblocking):
9840           if the connection completion fails, reset the status
9841           _before_ doing the printout.  The printout causes the
9842           errno to be overwritten on LynxOS 2.5.0, for example.
9844         * Makefile (releaseall): use $(MAKE) instead of make for
9845           recursive make.
9847 Wed Jul 01 21:31:40 1998  Arturo Montes  <mitosys@colomsat.net.co>
9849         * ace/IOStream_T.i (recv_n, eof): fixed calculation of
9850           timeout_ and return value.
9852 Wed Jul 01 08:51:33 1998  Chris Gill  <cdgill@cs.wustl.edu>
9854         * ace/Service_Types.cpp
9855           tests/Dynamic_Priority_Test.cpp: Moved explicit template
9856           instantiations for ACE_Dynamic_Message_Queue and
9857           ACE_Message_Queue_Factory from the test into the ACE library
9858           (next to where the ACE_Message_Queue instantiations resided).
9860 Wed Jul 01 07:08:40 1998  David L. Levine  <levine@cs.wustl.edu>
9862         * ace/Message_Queue.i,cpp (VxWorks only): removed args from a
9863           couple of unsupported functions, and added ACE_UNUSED_ARGS
9864           to others, to avoid compiler warnings.
9866         * tests/Message_Queue_Test.cpp (performance_test): allocate
9867           the send blocks in the main thread instead of in the sender.
9868           That way, the main thread can delete them after the
9869           receiver has finished.  Before this change, the sender would
9870           sometimes delete them before the reciever finished.  Thanks to
9871           Carlos and his friend Mr. SIGSEGV for helping to track this down.
9873 Tue Jun 30 23:48:39 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
9875         * ace/Message_Queue.h: Added /**/ between #include and <> to
9876           prevent warnings from MSVC.
9878 Tue Jun 30 22:05:01 1998  David L. Levine  <levine@cs.wustl.edu>
9880         * tests/Dynamic_Priority_Test.cpp: added template
9881           instantiations.
9883 Tue Jun 30 18:55:45 1998  Chris Gill  <cdgill@cs.wustl.edu>
9885         * ace/Message_Queue_T.{cpp, h}
9887           Added methods to ACE_Message_Queue_Factory to
9888           create an ACE_Dynamic_Message_Queue with the
9889           deadline and laxity with cleanup strategies.
9891         * tests/Dynamic_Priority_Test.cpp
9893           Added tests for the new cleanup strategy factory methods
9895 Tue Jun 30 18:03:15 1998  Chris Gill  <cdgill@cs.wustl.edu>
9897         * ace/Message_Queue_T.{cpp, h}
9898           ace/Message_Block.{cpp, h, i}
9900           Reorganized ACE_Dynamic_Message_Queue and related classes,
9901           fixed bugs that turned up in testing: it's ready to put
9902           on the road and see how it runs ;-)
9904         * tests/Dynamic_Priority_Test.{cpp, dsp}
9905           tests/tests.dsw
9906           tests/Makefile
9907           tests/run_tests.{bat, sh}
9909           Added a test for the static and dynamic (both deadline and laxity
9910           based) message queues, which assigns various message attributes,
9911           pushes messages into the queue, and makes sure the resulting
9912           dequeue order is correct for the given kind of queue.
9914 Tue Jun 30 14:04:42 1998  Steve Huston  <shuston@riverace.com>
9916         * ace/Message_Queue_T.cpp: Fixed references to an undeclared
9917           priority_eval_func_ptr_ - I think I figured out what it was
9918           supposed to be doing, but I'm not quite sure.  It compiles ;-)
9920         * ace/Synch.h (ACE_Adaptive_Lock): Removed "= 0" (pure virtual) from
9921           destructor decl.  The function is defined in Synch.cpp.
9923 Tue Jun 30 13:13:21 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
9925         * ace/WFMO_Reactor.cpp (open): Made sure that size does not exceed
9926           MAXIMUM_WAIT_OBJECTS.  Thanks to Dr. Schmidt for pointing this
9927           out.
9929 Tue Jun 30 11:45:12 1998  Steve Huston  <shuston@riverace.com>
9931         * ace/Message_Queue_T.cpp: Added explicit class names where needed
9932           for ANSI C++.  Fixed some compile errors.  Still needs more work to
9933           compile correctly on HP-UX aCC.
9935 Tue Jun 30 09:27:25 1998  David L. Levine  <levine@cs.wustl.edu>
9937         * etc/ACE-guidelines.html: added a guideline about using ACE_Export.
9939         * ace/Message_Queue.cpp (ACE_Message_Queue_Vx::dtor; VxWorks only):
9940           added close () call to destructor, because the one in the parent
9941           class will never get called because head_ is always 0 in the derived
9942           class.
9944         * ace/Message_Queue.i (VxWorks only): finished implementing the
9945           ACE_Message_Queue_Vx inline member functions.
9947         * tests/Message_Queue_Test.cpp: added performance tests and
9948           tests of ACE_Message_Queue_Vx.
9950 Tue Jun 30 03:39:15 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
9952         * ace/Synch.h (ACE_RW_Process_Mutex): This class no longer needs
9953           to inherit from ACE_Process_Mutex.
9955         * ace/Synch.cpp (ACE_RW_Process_Mutex): On non-Win32 platforms,
9956           the underlying ACE_File_Lock needs to be created with owner's
9957           read/write permission.  Otherwise, other process won't be able
9958           to access the lock.
9960         * Makefile (CONTROLLED_FILES): Added ChangeLog-98a and
9961           ChangeLog-97b into release.  Thanks to Ivan Murphy
9962           <Ivan.Murphy@med.siemens.de> for pointing this out.
9964 Tue Jun 30 00:51:32 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
9966         * ACE version 4.5.19 released.
9968 Tue Jun 30 00:07:39 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
9970         * examples/Service_Configurator/Misc/main.dsp: Added macro
9971           definition ACE_SVC_HAS_DLL=0 in this project.  DLL linkage is
9972           not used in this example (yet.)  Thanks to Joe Covalesky
9973           <joe@nowsol.com> for noticing this.
9975 Mon Jun 29 21:16:39 1998  David L. Levine  <levine@cs.wustl.edu>
9977         * ace/OS.cpp (invoke): wrapped final return with ACE_NOTREACHED.
9978           "It's the right thing to do."
9980 Mon Jun 29 19:42:12 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
9982         * ace/Timeprobe_T.cpp (ACE_Timeprobe): Changed __TEXT to ASYS_TEXT.
9984 Mon Jun 29 14:48:58 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
9986         * ace/OS.h: Added UNICODE macros for non-Win32 platforms.  Thanks
9987           to Jeff Greif <jmg@trivida.com> for pointing this out.
9989         * ace/OS.cpp (invoke): Added a return at the end to keep AIX
9990           happy.  Thanks to CLahey@cccis.com for reporting this.
9992 Mon Jun 29 11:37:28 1998  Steve Huston  <shuston@riverace.com>
9994         * ace/ACE.cpp: Added a 'const' to initialized ASYS_TCHAR * - string
9995           literal conversion to char * is deprecated in C++.
9997 Sun Jun 28 22:16:51 1998  David L. Levine  <levine@cs.wustl.edu>
9999         * examples/Service_Configurator/Misc/main.cpp (main): removed
10000           argc declaration because it was unused.
10002         * examples/Threads/task_five.cpp (work): added
10003           ACE_UNUSED_ARG (stack_size).
10005         * ace/Message_Queue_T.h: fully qualify the DEFAULT_[HL]WM
10006           references so that it will compile with aCC 1.07 on HPUX 10.20.
10007           Thanks to Avi Nash <anash@RedBrick.COM> for reporting this
10008           problem.
10010         * acer/Message_Queue.{h,cpp} (ACE_Message_Queue_Vx:enqueue_head/tail):
10011           implement these for VxWorks.  enqueue_head_i just calls
10012           enqueue_tail_i.
10014 Sat Jun 27 18:13:05 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
10016         * ace/Timeprobe_T.cpp (ACE_Timeprobe - copy constructor): Stupid
10017           MSVC is forcing me to define this and make it public; it should
10018           really be protected; please don't use it.
10020         * ace/Timeprobe.h: Added ACE_SINGLETON_DECLARATION; otherwise all
10021           compilation units would get a different instantiation of the
10022           time probe class.  Also, changed ACE_TIMEPROBE_SINGLETON to a
10023           #define instead of a typedef; otherwise the compiler bitched
10024           when it was use in ACE_SINGLETON_DECLARATION.
10026         * SINGLETON_INSTANTIATION: Removed this flag from all files in
10027           ACE. It is causing duplicate declaration errors.
10029 Sat Jun 27 11:29:50 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
10031         * ACE version 4.5.18 released.
10033 Sat Jun 27 11:27:28 1998  David L. Levine  <levine@cs.wustl.edu>
10035         * ace/Basic_Types.h: use ACE_CAST_CONST instead of const in
10036           ACE_CU64_TO_CU32.
10038 Sat Jun 27 11:03:52 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
10040         * README: Updated the list of people who have contributed to TAO.
10042 Sat Jun 27 07:07:43 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
10044         * ACE version 4.5.17 released.
10046 Sat Jun 27 00:27:29 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
10048         * ace/Timeprobe:
10050           - Added back ACE_COMPILE_TIMEPROBES.  David pointed out that
10051             without this flag, size of ACE increases even when time probes
10052             are not being used. Therefore, users must compile ACE with
10053             this flag defined if they want to use time probes.  This can
10054             be achieved by doing one of the following:
10056             . Use make probe = 1, if you are using the make utility.
10058             . Define ACE_COMPILE_TIMEPROBES in config.h
10060             . Define ACE_COMPILE_TIMEPROBES in the VC project file.
10062             . Other regular methods will also work.
10064             It is not necessary to define ACE_COMPILE_TIMEPROBES when
10065             using time probes, you simply need ACE_ENABLE_TIMEPROBES.  You
10066             can use the ACE_TIMEPROBE_* macros to program the time probes,
10067             and use the ACE_ENABLE_TIMEPROBE to enable the time probes.
10068             If you define ACE_ENABLE_TIMEPROBE in your code, but forget to
10069             compile ACE with ACE_COMPILE_TIMEPROBES, you will end up with
10070             linker errors.
10072             Remember that ACE_COMPILE_TIMEPROBES means that the ACE
10073             library will contain code for time probes.  This is only
10074             useful when compiling ACE. ACE_ENABLE_TIMEPROBES means that
10075             the ACE_TIMEPROBE_* macros should spring to life.
10077           - Added inclusion of OS.h.  This way the ACE_COMPILE_TIMEPROBES
10078             can be specified in the config file.
10080         * include/makeinclude/wrapper_macros.GNU: probe = 1 no longer
10081           means ACE_ENABLE_TIMEPROBE.  It only means
10082           ACE_COMPILE_TIMEPROBES.  This was changed because defining
10083           ACE_ENABLE_TIMEPROBE here is too broad.  ACE_ENABLE_TIMEPROBE is
10084           cleverly designed so that it allows only some time probes to be
10085           enabled (where ACE_ENABLE_TIMEPROBE is defined), while others to
10086           be disabled (where ACE_ENABLE_TIMEPROBE is not defined).
10088           Example: IDL_Cubit time probes can be enabled without enabling
10089           TAO time probes. Or TAO time probes can be enabled without
10090           enabling IDL_Cubit time probes. TAO time probes are controlled
10091           through TAO/tao/Timeprobes.h.
10093         * tests/Timeprobe_Test.cpp:
10095           - Defining ACE_ENABLE_TIMEPROBES is not forced. Users can
10096             uncomment this at the top of the file.  This relieves us from
10097             trying to include the symbols of ACE_Timeprobes from ACE if
10098             ACE was compiled without using ACE_COMPILE_TIMEPROBES (the
10099             #include ace/Timeprobe.cpp trick did not work on all 8
10100             different ways of compiling ACE on NT).
10102           - Made the registration of the description arrays similar to the
10103             real use cases (in TAO).
10105           - Introduced enums and took the magic numbers out.
10107 Fri Jun 26 20:37:06 1998  Matthew J Braun  <mjb2@cec.wustl.edu>
10108         * tests/Logger/clnt.h
10109         * tests/Logger/clnt.cpp
10110         * tests/Logger/svr.cpp
10111         * orbsvcs/orbsvcs/Log/Logger_i.h
10112         * orbsvcs/orbsvcs/Log/Logger_i.cpp
10113         * orbsvcs/orbsvcs/Logger.idl
10115         The current status of this is incomplete. The svr* test is guaranteed
10116         to be nonfunctional (I cannot yet speak for the rest).
10119 Fri Jun 26 14:52:33 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
10121         * tests/test_config.h: Don't close the ofstream before opening the
10122           log stream in ACE_APPEND_LOG on Win32.  It it not necessary
10123           because Win32 doesn't have fork anyway and it somehow confuses
10124           Win32 (becuase no file was openen at that point.)
10126         * performance-tests/Makefile: Temporarily removed Synch-Benchmark
10127           from the targets.  It should be added back once the work is
10128           done.
10130 Fri Jun 26 11:50:03 1998  David L. Levine  <levine@cs.wustl.edu>
10132         * ace/OS.h: map ACE_dynamic_cast to static_cast with Sun C++,
10133           without RTTI, to avoid warning about using dynamic_cast
10134           without RTTI.  Thanks to J. Russell Noseworthy
10135           <rnosewor@objectsciences.com> for reporting this.
10137         * include/makeinclude/wrapper_macros.GNU,ACE-INSTALL.html:
10138           added rtti make option.
10140         * ace/Message_Queue.*: on VxWorks, added ACE_Message_Queue_Vx,
10141           which wraps native VxWorks messages queues.  See the header
10142           file for limitations.
10144         * ace/Message_Queue_T.*,Makefile: split Message_Queue into
10145           template and non-template files.
10147         * ace/Basic_Types.h: added ACE_CU64_TO_CU32 conversion macro,
10148           for converting const ACE_UINT64 to const ACE_UINT32.  The old
10149           ACE_U64_TO_U32 wouldn't work with Sun C++'s ANSI casts.
10151         * performance-tests/Misc/basic_perf.cpp (per_iteration): use
10152           ACE_CU64_TO_CU32 for narrowing the const ACE_UIN64 argument.
10154         * ace/config-sunos5.5.h: added ACE_HAS_ANSI_CASTS with Sun C++ 4.2.
10156         * include/makeinclude/platform_sunos5_sunc++.GNU: added
10157           -features=castop to CCFLAGS, to enable use of ANSI casts.
10159           Thanks to  J. Russell Noseworthy <rnosewor@objectsciences.com>
10160           for recommending the above two changes.
10162         * include/makeinclude/platform_sunos5_sunc++.GNU: Added
10163           support for rtti=1 option to make, to optionally enable RTTI.
10165 Fri Jun 26 11:39:49 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
10167         * ACE-INSTALL.html: Added more infomation in {Free,Net}BSD.
10169 Fri Jun 26 10:51:07 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
10171         * ace/OS.h:
10172           Fixed problem in ACE_DES_* macros, some preprocessors were
10173           tokenizing ::~CLASS as ":: ~CLASS" and we wanted ":: ~ CLASS"
10174           (were class in a macro argument).
10176 Fri Jun 26 09:48:55 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
10178         * VERSION: Updated this file to direct bug reports to
10179           the ACE mailing list.
10181 Fri Jun 26 10:43:02 EET DST 1998 Wei Chiang <wei.chiang@ntc.nokia.com>
10183         * ace/CLASSIX/CLASSIX_OS.cpp:
10184         ACE_CLASSIX_OS::ACE_CLASSIX_OS()
10185         After created an CLASSIX reactor as an actor-wide singleton
10186         reactor, delete the original reator singleton, if any.
10188 Fri Jun 26 02:18:05 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
10190         * performance-tests/Synch-Benchmarks/Benchmark[_Base].{h,cpp}:
10191         * performance-tests/Synch_Benchmarks/Makefile: Added a new class
10192           Benchmark_Base so we can not only load the test items
10193           but also the test methods dynamically.
10195 Wed Jun 24 21:37:22 1998  David L. Levine  <levine@cs.wustl.edu>
10197         * ace/Message_Queue.cpp (refresh_queue): fixed syntax
10198           error: extraneous ;.
10200 Wed Jun 24 19:52:30 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
10202         * ace/IPC_SAP.cpp (enable,disable): Fixed #define nesting.
10204 Wed Jun 24 15:36:18 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
10206         * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp
10207         (Peer_Router_Context): For some reason, MSVC can't grop the
10208         temporary objects.  Therefore, I changed the ACE_INET_Addr object
10209         in the constructor to a local variable.
10211 Wed Jun 24 17:10:06 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
10213         * ace/Timeprobe: Removed ACE_COMPILE_TIMEPROBE.  ACE library will
10214           always contain ACE_Timeprobe code.
10216 Wed Jun 24 16:20:02 1998  James CE Johnson  <jcej@lads.com>
10218         * ace/IOStream.cpp (underflow,overflow): added protection against
10219           errors, when get/put buffers can be set to 0.
10221 Wed Jun 24 14:42:50 1998  Chris Gill  <cdgill@cs.wustl.edu>
10223         * ace/Message_Queue.{cpp,h}: added =TITLE/=DESCRIPTION
10224           and method comments to ACE_Message_Queue_Factory
10226         * ace/Message_Block.h: fixed comment in ACE_Laxity_Message_Strategy
10228 Wed Jun 24 13:35:15 1998  Chris Gill  <cdgill@cs.wustl.edu>
10230         * ace/Message_Queue.{cpp,h,i}
10231           ace/Message_Block.{cpp,h,i}: Fixed ACE_UNIMPLEMENTED_FUNC
10232           declarations in ACE_Dynamic_Message_Queue, moved the
10233           ACE_Dynamic_Message_Strategy, ACE_Laxity_Message_Strategy,
10234           and ACE_Deadline_Message_Strategy classes from the
10235           Message_Queue.* files into the respective Message_Block.*
10236           files (fixes link errors on platforms such as NT which
10237           require template source).
10239 Wed Jun 24 11:38:00 1998  Chris Gill  <cdgill@cs.wustl.edu>
10241         * ace/Message_Block.{cpp,h,i}: Added worst case execution time and
10242           deadline absolute time ACE_Time_Value members to ACE_Message_Block.
10243           These default to ACE_Time_Value::zero in the constructors and
10244           initialization methods.
10246         * ace/Message_Queue.{cpp,h,i}: Added ACE_Dynamic_Message_Queue,
10247           ACE_Dynamic_Message_Strategy, ACE_Deadline_Message_Strategy,
10248           ACE_Laxity_Message_Strategy, and ACE_Message_Queue_Factory
10249           classes to facilitate adaptive use of statically or dynamically
10250           prioritized message queues.
10252 Wed Jun 24 10:23:27 1998  David L. Levine  <levine@cs.wustl.edu>
10254         * bin/make_release: 1) inserted /pkg/gnu/bin at head of
10255           PATH, if it exists.  That way, cvs diff will use GNU diff.
10256           Thanks to Doug for tripping over that.
10257           2) changed grep -E to egrep.
10259         * ace/OS.i,gethrtime.cpp (gethrtime): with Pentium and g++ or ghs,
10260           only; fixed load of 64-bit tick count into two 4-byte ints.
10262         * performance-tests/Misc/basic_perf.cpp (iteration_time): check
10263           for elapsed_time_ less than empty_iteration_time_, and return 0
10264           if so.
10266 Wed Jun 24 10:02:14 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
10268         * examples/ASX/Event_Server/Transceiver/transceiver.cpp
10269           (parse_args): Fixed a warning about control reaching the end of
10270           a method.  Thanks to David Levine for reporting this.
10272         * .cvsignore: Added "build" to make CVS happy.  Thanks to
10273           David for this info.
10275         * ace/CLASSIX: Reran "make depend."
10278 Wed Jun 24 13:34:32 EET DST 1998 Wei Chiang <chiang@horizon.ntc.nokia.com>
10280         * tests/CLASSIX/*
10281           Attached "CLASSIX_" to all the file names in this directory
10282           Added Imakefile
10284         * ace/CLASSIX/CLASSIX_Select_Reactor.*
10285           test/CLASSIX/CLD_Connector_Test.cpp
10286           get_current_info() is now renamed to current_info() in compliant
10287           with ACE_Reactor_Impl class.
10289 Wed Jun 24 08:17:25 EET DST 1998 Wei Chiang <chiang@horizon.ntc.nokia.com>
10291         * Renamed ace/CLASSIX/CLASSIX_Reactor.* to
10292           ace/CLASSIX/CLASSIX_Select_Reactor.* and adujsted other files
10293           accordingly.
10295         * ace/CLASSIX/CLASSIX_Reactor.*
10296           make naming reference consistenet: all the references to
10297           ACE_CLASSIX_Reactor are now to ACE_CLASSIX_Select_Reactor
10299 Wed Jun 24 02:39:35 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
10301         * ACE version 4.5.16 released.
10303 Wed Jun 24 00:00:44 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
10305         * examples/ASX/Event_Server/Transceiver/transceiver.cpp: Cleaned
10306           up the Event_Transceiver code a bit.
10308         * examples/ASX/Event_Server/Event_Server/event_server.cpp (main):
10309           Cleaned up the code a bit.
10312 Wed Jun 24 06:54:00 EET DST 1998 Wei Chiang <chiang@horizon.ntc.nokia.com>
10314         * Attached "CLASSIX_" to all the file names in ace/CLASSIX.
10316         * Modified include statments in ace/CLASSIX/* to reflect the
10317           name changes.
10319         * Added Makefile in ace/CLASSIX
10321         * ace/CLASSIX/CLASSIX_Reactor.h:
10322           ACE_CLASSIX_Reactor_Notify is now derived from ACE_Reactor_Notify
10323           The private data member, select_reactor_, is now an
10324           ACE_CLASSIX_Reactor class instead of an ACE_Select_Reactor class.
10326         * ace/CLASSIX/CLASSIX_Reactor.cpp:
10327           in open()
10328           uses ACE_dynamic_cast() to cast <theReactor>
10329           parameter from  ACE_Reactor_Impl to ACE_CLASSIX_Reactor
10331 Tue Jun 23 22:18:42 1998  Douglas C. Schmidt  <schmidt@cumbia.cs.wustl.edu>
10333         * examples/Mem_Map/file-reverse/file-reverse.cpp: Fixed a minor
10334           bug where the program would ungraciously core dump if the file
10335           given on the command-line doesn't exist.  Thanks to William
10336           S. Lear <rael@dejanews.com> for reporting this.
10338 Tue Jun 23 20:33:30 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
10340         * ace/Synch.h (ACE_Adaptive_Lock): Added ACE_Export.
10342 Tue Jun 23 18:59:31 1998  Steve Huston  <shuston@riverace.com>
10344         * ace/Acceptor.cpp (ACE_Strategy_Acceptor<>::resume()): Don't
10345           suspend() the object; resume() it - looked like a cut/paste error.
10347 Tue Jun 23 16:41:35 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
10349         * ace/Synch.{h,cpp} (class ACE_Adaptive_Lock): Added the new Lock
10350           class which allows its subclass to determine the actual locking
10351           mechanism it uses at run time.  Notice that all subclasses must
10352           provide their own contructor/destructor implementation.
10354 Tue Jun 23 06:40:35 1998  David L. Levine  <levine@cs.wustl.edu>
10356         * examples/Map_Manager/test_hash_map_manager.cpp (main):
10357           replaced use of cerr with and ACE_ERROR_RETURN.  Thanks
10358           to Philippe Klein <Philippe_Klein@vocaltec.com> for reporting
10359           this.
10361         * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp:
10362           added #include of ace/streams.h.  Thanks to Philippe Klein
10363           <Philippe_Klein@vocaltec.com> for reporting this.
10365         * tests/TSS_Test.cpp (worker): declare "u" globally so that
10366           we don't quickly run out of TSS keys.
10368 Mon Jun 22 09:25:32 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
10370         * ace/XtReactor.cpp:
10371           The notify_handler_ is a pointer now, it was still deferenced as
10372           an object.
10374 Mon Jun 22 09:04:21 1998  David L. Levine  <levine@cs.wustl.edu>
10376         * include/makeinclude/platform_osf1_4.0.GNU: removed suppression
10377           of warning 340, used reference to copied (temporary) value,
10378           because it's no longer needed.
10380         * ace/Message_Queue.cpp (ACE_Message_Queue_Iterator ctor):
10381           replaced "queue" with "q" to avoid problems with STL or on
10382           platforms that #define queue.  Thanks to Dave Meyer
10383           <dmeyer@std.saic.com> for reporting this.
10385         * ace/Synch_T.h: added adapter class ACE_TSS_Type_Adapter.
10386           It adapts built-in types for use with ACE_TSS.
10388         * tests/TSS_Test.cpp: demonstrate/test use of ACE_TSS_Type_Adapter.
10390         * ace/Timeprobe.h: added semicolon to end of
10391           ACE_TIMEPROBE_EVENT_DESCRIPTIONS definition, when it's non-null.
10393         * tests/Timeprobe_Test.cpp (main): removed trailing semicolon
10394           from ACE_TIMEPROBE_EVENT_DESCRIPTIONS, and added ACE_UNUSED_ARGs
10395           to avoid compilation warnings about unused variables.
10397 Mon Jun 22 04:49:29 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
10399         * man/windex: Removed ACE_Service_Record from all the
10400           documentation since it is no longer relevant.  Thanks
10401           to Ivan Murphy for reporting this.
10403 Mon Jun 22 02:59:42 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
10405         * ace/Process.cpp (setenv_i): Nedd to adjust the memory size to
10406           the actual string size.
10408 Mon Jun 22 02:32:56 1998  Gonzalo Diethelm  <gonzo@tango.cs.wustl.edu>
10410         * ace/Thread_Manager.h:
10411         * ace/Thread_Manager.cpp:
10412         * ace/Thread_Manager.i:
10413         * ace/OS.cpp (uname):
10414         Moved a few things (comparison operators) from
10415         ACE_Thread_Descriptor to ACE_Thread_Descriptor_Base, to satisfy
10416         Borland compilers.
10417         Enabled a conditional compilation for all Borland compilers.
10418         Thanks to Valik Solorzano Barboza <valik@xs4all.nl> for pointing
10419         these things out.
10421 Mon Jun 22 01:14:36 1998  Gonzalo Diethelm  <gonzo@tango.cs.wustl.edu>
10423         * ace/ACE.bpg:
10424         * ace/ACED.bpr:
10425         * ace/ACER.bpr:
10426         Contained ^M characters.
10427         I also made sure there were no absolute paths pointing to "gonzo"
10428         directories...
10430         * ace/ACED.cpp:
10431         * ace/ACER.cpp:
10432         Added Stats.cpp as a module in the right place.
10434         * ace/OS.h:
10435         Added a ACE_NOOP macro to avoid compilation warnings when "if" is
10436         used as a noop in certain macros.
10438         * ace/Hash_Map_Manager.cpp:
10439         * ace/Map_Manager.cpp:
10440         Replaced the use of "if" as a noop with ACE_NOOP.
10442         * ace/Signal.cpp:
10443         For some obscure reason, Borland needs a blank line between the
10444         #if and the extern "C" void ace_sig_handler_dispatch()
10445         definition. Don't ask...
10447         * ace/Asynch_IO.h:
10448         Changed (again) inheritance for ACE_Asynch_Result from protected
10449         to public.
10451         * tests/Aio_Platform_Test.bpr:
10452         * tests/Atomic_Op_Test.bpr:
10453         * tests/Barrier_Test.bpr:
10454         * tests/Basic_Types_Test.bpr:
10455         * tests/Buffer_Stream_Test.bpr:
10456         * tests/Conn_Test.bpr:
10457         * tests/Enum_Interfaces_Test.bpr:
10458         * tests/Env_Value_Test.bpr:
10459         * tests/Future_Test.bpr:
10460         * tests/Handle_Set_Test.bpr:
10461         * tests/Hash_Map_Manager_Test.bpr:
10462         * tests/IOStream_Test.bpr:
10463         * tests/MM_Shared_Memory_Test.bpr:
10464         * tests/MT_Reactor_Timer_Test.bpr:
10465         * tests/MT_SOCK_Test.bpr:
10466         * tests/Map_Manager_Test.bpr:
10467         * tests/Mem_Map_Test.bpr:
10468         * tests/Message_Block_Test.bpr:
10469         * tests/Message_Queue_Notifications_Test.bpr:
10470         * tests/Message_Queue_Test.bpr:
10471         * tests/Naming_Test.bpr:
10472         * tests/Notify_Performance_Test.bpr:
10473         * tests/OrdMultiSet_Test.bpr:
10474         * tests/Pipe_Test.bpr:
10475         * tests/Priority_Buffer_Test.bpr:
10476         * tests/Priority_Reactor_Test.bpr:
10477         * tests/Priority_Task_Test.bpr:
10478         * tests/Process_Mutex_Test.bpr:
10479         * tests/Process_Strategy_Test.bpr:
10480         * tests/Reactor_Exceptions_Test.bpr:
10481         * tests/Reactor_Notify_Test.bpr:
10482         * tests/Reactor_Performance_Test.bpr:
10483         * tests/Reactor_Timer_Test.bpr:
10484         * tests/Reactors_Test.bpr:
10485         * tests/Reader_Writer_Test.bpr:
10486         * tests/Recursive_Mutex_Test.bpr:
10487         * tests/SOCK_Connector_Test.bpr:
10488         * tests/SOCK_Test.bpr:
10489         * tests/SPIPE_Test.bpr:
10490         * tests/SString_Test.bpr:
10491         * tests/SV_Shared_Memory_Test.bpr:
10492         * tests/Semaphore_Test.bpr:
10493         * tests/Service_Config_Test.bpr:
10494         * tests/Sigset_Ops_Test.bpr:
10495         * tests/Simple_Message_Block_Test.bpr:
10496         * tests/TSS_Test.bpr:
10497         * tests/Task_Test.bpr:
10498         * tests/Thread_Manager_Test.bpr:
10499         * tests/Thread_Mutex_Test.bpr:
10500         * tests/Thread_Pool_Test.bpr:
10501         * tests/Time_Service_Test.bpr:
10502         * tests/Time_Value_Test.bpr:
10503         * tests/Timer_Queue_Test.bpr:
10504         * tests/Tokens_Test.bpr:
10505         * tests/UPIPE_SAP_Test.bpr:
10506         * tests/tests.bpg:
10507         Contained ^M characters.
10508         I also made sure there were no absolute paths pointing to "gonzo"
10509         directories...
10511 Mon Jun 22 01:33:12 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
10513         * ace/OS.h (ACE_SYNCH_{1,2}): These two macros were added back for
10514           backward compatibility.
10516 Mon Jun 22 01:12:53 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
10518         * ace/OS.i (dlerror): Just use FormatMessageA instead of
10519           FormatMessage.  The you don't have to worry about UNICODE being
10520           turned on.
10522 Mon Jun 22 00:01:02 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
10524         * ACE version 4.5.15 released.
10526 Sun Jun 21 23:54:28 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
10528         * ace/config-freebsd-pthread.h: Defined
10529           ACE_LACKS_MUTEXATTR_PSHARED and ACE_LACKS_CONDATTR_PSHARED.
10531 Sun Jun 21 10:14:32 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
10533         * examples/IPC_SAP/SOCK_SAP/CPP-unserver.cpp (server): Fixed
10534           another ambiguity caused by the recent SOCK_IO changes.  Thanks
10535           to David for pointing this out.
10537 Sun Jun 21 00:16:56 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
10539         * ace/OS.i (dlerror): Have to treat UNICODE differently because
10540           FormatMessage takes wchar when UNICODE is defined.
10542         * ace/WFMO_Reactor.{h,i,cpp}: Changed the parent class of
10543           ACE_WFMO_Reactor_Notify from ACE_Event_Handler to
10544           ACE_Reactor_Notify.
10545           (dump): Added this virtual function implementation for
10546           ACE_WFMO_Reactor_Notify.
10548         * Ace/Proactor.cpp (timeout): Fixed a typo.
10550 Sat Jun 20 16:51:39 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
10552         * ace/Reactor*: Made a slew of changes to the Reactor and it's
10553           associated implementations so that we can integrate it
10554           seamlessly with Chorus ClassiX IPC.  Thanks to Wei Chiang for
10555           these changes.
10557         * ace/Acceptor.cpp: Added a flag that keeps track of whether we should
10558           use select() in the Acceptor.  This makes it easier to integrate
10559           this stuff with Chorus IPC.  Thanks to Wei Chiang for this.
10561         * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: Removed the trailing
10562           0 to the send() operation to (1) avoid overload ambiguity and
10563           (2) to use write() rather than send()!  Thanks to Chris Healey
10564           for reporting this.
10566         * ace/ACE: The default condition in the select switch in the
10567           enter_*_timed_wait functions assumed that all values returned
10568           from select if not 0 or 1 will be -1.  This is true in those
10569           functions due to only 1 file descriptor flag being set.  Thanks
10570           to Chris Healey for generalizing this a bit...
10572         * ace/SOCK_IO: Added the wrappers for the "non-flags" version of
10573           timed send()/recv().  Thanks to Chris Healey for this.
10575         * ace/FILE_Addr.cpp: Cleaned up the code a bit to be more
10576           consistent.  Thanks to Chris Healey for suggesting this.
10578         * ace/FILE_Addr.cpp (ACE_FILE_Addr): Removed the memset() in the
10579           constructor since this is overkill...
10581         * ace/ACE.cpp (send_n): Fixed a dump cut&paste bug in the timed
10582           version of send_n().  Thanks to Chris Healey
10583           <chealey@entera.com> for reporting this.
10585 Sat Jun 20 14:58:21 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
10587         * bin/indent_macros.perl: Instead of hardcoding perl's location in
10588           the script, it now invokes perl according to user's environment
10589           setting.  Thanks to David for providing the improvement.
10591 Sat Jun 20 01:24:28 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
10593         * include/makeinclude/platform_freebsd_pthread.GNU: Changed to use
10594           -Wall to report all warnings.
10596         * ace/OS.cpp (thr_create): Specify <priority> as an unused
10597           argument when ACE_LACKS_SETSCHED.
10599         * ace/OS.{h,i,cpp}: Rearrange macro indentations.
10601         * bin/indent_macros.perl: This little perl script rearrange the
10602           indentation of macros so they are a bit easier to debug.
10604         * ace/config-freebsd-pthread.h: Defined ACE_LACKS_PTHREAD_CANCEL.
10606 Sat Jun 20 00:14:07 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>
10608         * examples/Reactor/Proactor/test_proactor_with_aio.cpp: Test
10609         program for the Asynch_Transmit_File, Asynch_Read_File,
10610         Asynch_Read_Stream, Asynch_Write_File and Asynch_Write_Stream.
10612 Fri Jun 19 23:58:35 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>
10613         * ace/Proactor.h    :
10614         * ace/Proactor.cpp  :
10615         * ace/Asynch_IO.h   :
10616         * ace/Asynch_IO.cpp :
10617                 - Implemented Asynch_Transmit_File for POSIX4 systems.
10618                 - Added a new class "ACE_Asynch_Transmit_Handler", which is
10619                 an auxillary handler class for Asynch_Transmit_File. This
10620                 does the actual transmission doing file read and stream
10621                 write asynchronously and finally calling the
10622                 transmit_handler in the application.
10623                 - Aiocb list is now of size RTSIG_MAX, the maximum number
10624                 of RT signals that can be queued in a process at a time.
10626 Fri Jun 19 22:17:35 1998  David L. Levine  <levine@cs.wustl.edu>
10628         * bin/make_release (check_workspace): use cvs checkout instead
10629           of update, to notice any new directories that have been added
10630           to the repository but not to the workspace.
10632           There are .cvsignore files in /project/adaptive/ACE_wrappers
10633           and /project/adaptive/ACE_wrappers/java.  They can be used
10634           to suppress tripping over any new, uncontrolled files, such
10635           as releases, that are added to these directories.
10637           Filter ^U from checkout output, so that release need not be
10638           based on the latest repository versions.  Instead, the release
10639           is based on the contents of the /project/adapative/ACE_wrappers
10640           workspace.  It need not be brought up-to-date with the repository,
10641           though it cannot contain any modified files.  This change allows
10642           other users to continue to check in files prior to or during the
10643           release.
10645         * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp (read): added
10646           ACE_UNUSED_ARG (len).
10648         * Makefile: fixed build of .obj/gethrtime.o with ghs/VxWorks/i86.
10650         * tests/run_tests.vxworks:  added Timeprobe_Test, but commented
10651           out.  That test page faults when built with ghs for Pentium.
10652           It appears that the STL-style iterator usage in ACE_Timeprobe
10653           isn't handled properly by the compiler.
10655 Fri Jun 19 16:51:05 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
10657         * ace/config-freebsd-pthread.h (ACE_HAS_NONCONST_MSGSND): Macro
10658           definition added.
10660         * ace/OS.i (sigwait): Suppress compiler warnings on FreeBSD.
10661           (msgsnd):  Separated the case ACE_HAS_NONCONST_MSGSND out.
10663           Thanks to Russell L. Carter <rcarter@consys.com> for reporting
10664           the above fix.
10666 Fri Jun 19 11:22:27 1998  David L. Levine  <levine@cs.wustl.edu>
10668         * ACE version 4.5.13 released.
10670 Thu Jun 18 21:14:25 1998  David L. Levine  <levine@cs.wustl.edu>
10672         * examples/Threads/task_five.cpp: renamed global stack_size
10673           to default_stack_size, to avoid shadowing by stack_size in
10674           main ().
10676         * ace/OS.i (dlopen): added support for ACE_HAS_SGIDLADD.
10677           (dlerror): on WIN32, return a formatted message instead of 0.
10678           Thanks to Kent Watsen <kent@watsen.net> for the diffs.
10680         * ace/config-irix6.x-sgic++-nothreads.h: added ACE_HAS_SGIDLADD.
10681           Thanks to Kent Watsen <kent@watsen.net> for this addition.
10683         * Makefile: ACE-INSTALL is not a .PHONY target.
10685         * ace/Makefile: only regenerate Svc_Conf_[ly].cpp if at Wash. U.
10687 Thu Jun 18 20:46:46 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
10689         * performance_tests/Misc/childbirth_time.cpp: Changed to use the
10690           variable MULTIPLY_FACTOR in statistic calculation.
10692         * ace/config-freebsd-pthread.h: Added the following definition:
10693                #define ACE_HAS_SIGINFO_T
10694                #define ACE_LACKS_SIGINFO_H
10695                #define ACE_LACKS_UCONTEXT_H
10696                #define ACE_LACKS_SI_ADDR
10698         * include/makeinclude/platform_freebsd_pthread.GNU:  Changed to
10699           invoke linker directly using g++.  Added -pthread flag for
10700           linker.  This implies programs will link against libc_r
10701           automatically now.  Removed -lc_r.  Other minor changes.
10703           Thanks very much for lots of help from FreeBSD team esp. Amancio
10704           Hasty <hasty@rah.star-gate.com> and John Birrell
10705           <jb@cimlogic.com.au>.
10707 Thu Jun 18 19:32:30 1998  David L. Levine  <levine@cs.wustl.edu>
10709         * ace/Token.cpp (dump): commented out print of owner_.  Is
10710           there a portable way to print an ACE_thread_t via ACE_DEBUG?
10712 Thu Jun 18 18:46:00 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
10714         * ace/Timeprobe.h:
10715         * ace/Timeprobe_T.h:
10716         * ace/Timeprobe_T.cpp:
10717           Added methods to print the absolute values, this can be used to
10718           mix the results of several processes: por example on Sparcs the
10719           high-res timer is a CPU register so the value is consistent
10720           across processes, there are some potential problems with
10721           multiple CPUs, but that's not our case.
10723 Thu Jun 18 16:25:28 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
10725         * examples/Threads/task_five.cpp (main): Extracted out the body of
10726           the test loop so that the delete[] gets called everytime the
10727           body gets executed.
10729         * ace/Thread_Manager.cpp (ACE_EXECUTE_OP,kill): We need to guard
10730           against non-existing target thread after searching the thread
10731           table.  Thanks to Savas Parastatidis
10732           <Savas.Parastatidis@ncl.ac.uk> for noticing the problem.
10734 Thu Jun 18 09:23:39 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
10736         * ace/config-win32-common.h: Fixed the inclusion of winsock
10737           related files. Thanks to Ernesto Guisado
10738           <eguisado@saincotrafico.com> for suggesting this.
10740 Wed Jun 17 22:47:50 1998  David L. Levine  <levine@cs.wustl.edu>
10742         * ace/OS.i (rw_trywrlock_upgrade): moved declaration of
10743           local "result" before the ACE_PTHREAD_CLEANUP_PUSH.
10744           PTHREAD_CLEANUP_PUSH/POP are macros that contain open/
10745           close braces on some platforms.  So, any declarations
10746           between them are not visible after the POP.
10748 Wed Jun 17 19:01:53 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
10750           The following changes provide an interface for ACE programmers
10751           of more finer control over how Win32 structured exceptions are
10752           handled.  Thanks to Detlef Becker <Detlef.Becker@med.siemens.de>
10753           for contemplating the idea and passing it to us.
10755         * ace/Log_Msg.{h,cpp} (seh_except_{selector,handler}): Added
10756           new methods to retrieve/set structured exception handling
10757           behavior.  <Selector> is used to determine the "proper" action a
10758           thread should take upon a structured exception and <handler>
10759           performs the actual exception handling routine.  They are
10760           structured as below in ace_thread_adapter:
10762               __except (ACE_LOG_MSG->seh_except_selector () (0))
10763                 {
10764                   ACE_LOG_MSG->seh_except_handler () (0);
10765                 }
10767         * ace/OS.{h,cpp} (ACE_SEH_EXCEPT_HANDLER): New typedef used to
10768           define user win32 structured exception handler.
10770           (ACE_SEH_Exception_{Selector,Handler}): Default structured
10771           exception handler.  Two handlers ACE_Log_Msg are initialized to
10772           them by default.
10774           (ACE_Thread_Adapter,inherit_log_msg):  Added initializing and
10775           inheriting code to pass the spawning thread's structured
10776           exception handling behaviors.
10778         * ace/config-win32-common.h
10779           (ACE_SEH_DEFAULT_EXCEPTION_HANDLING_ACTION):  This macro defines
10780           the default action taken by ACE when a win32 structured
10781           exception occurs.  It is by default defined to
10782           EXCEPTION_CONTINUE_SEARCH, which does not handle the exception
10783           but simply pass the exception out.  Users can overwrite the
10784           default behavior by defining the macro in their config.h files.
10786 Wed Jun 17 17:30:11 1998  Michael Kircher  <mk1@cs.wustl.edu>
10788         * ace/OS.h: Added a condition variable and a flag to
10789           the definition of reader/writer locks.
10791         * ace/OS.i: Implemented ACE_OS::rw_trywrlock_upgrade properly
10792           using one condition variable and a flag. The condition
10793           variable is used to get in front of all the possible
10794           waiting writers and to wait on still working readers
10795           on the rw_lock. The flag is used to indicate, that
10796           a reader is upgrading its lock. rw_unlock obeys one more
10797           case now.
10799         * ace/OS.cpp: The constructor for the Reader/writer locks
10800           has changed slightly to initialize and destroy the
10801           new members.
10803         * tests/Reader_Writer_Test.cpp: Added the use of the
10804           rw_mutex.tryacquire_write_upgrade () method to the test.
10806 Wed Jun 17 07:34:11 1998  David L. Levine  <levine@cs.wustl.edu>
10808         * tests/IOStream_Test.cpp (server): fixed sign of constant
10809           used to check for valid double.  Thanks to Mark Kettner
10810           <m.kettner@elsevier.nl> for reporting this.
10812         * performance-tests/UDP/udp_test.cpp: added a few
10813           ACE_U64_TO_U32 explicit conversions.
10815         * tests/Priority_Buffer_Test.cpp (consumer): re-enabled the
10816           statement to suppress the ghs warning about unused variable
10817           cur_priority.
10819 Tue Jun 16 20:29:32 1998  Steve Huston  <shuston@riverace.com>
10821         * ACE-INSTALL.html: Added some comments concerning MSVC 5.0 and SP3.
10822           Thanks to Bill Fulton for the excellent detective work.
10824 Tue Jun 16 16:08:23 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
10826         * ace/Timeprobe_T.h (class ACE_Timeprobe): Fixed copy constructor
10827           signature. Thanks to Chuck R. Gehr
10828           (GehrCR@LOUISVILLE.STORTEK.COM) for pointing this out.
10830 Tue Jun 16 16:18:08 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
10832         * ace/FILE_Addr.cpp (operator=): Check to make sure we
10833           NUL-terminate the memcpy'd filename correctly.  Thanks to Istvan
10834           Buki <ibuki@fedex.com> for reporting this.
10836 Tue Jun 16 15:43:55 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
10838         * ACE-INSTALL.html: Changed to instruct users to #include
10839           "ace/config-win32.h" instead of "config-win32.h" directly.
10840           Thanks to Gonzo <gonzo@ing.puc.cl> for noticing this.
10842 Tue Jun 16 10:33:20 1998  David L. Levine  <levine@cs.wustl.edu>
10844         * os-patches/linux-patches.html: added RedHat 5.1 success
10845           report from Chanaka Liyanaarachchi <chanakal@ittc.ukans.edu>.
10847         * ace/Basic_Types.h,High_Res_Timer.cpp,
10848           performance-tests/Misc/basic_perf.cpp:
10849           added explicit ACE_U64_TO_U32 conversion macro.  WIN32's __int64
10850           and ACE_U_LongLong need an explicit narrowing to 32 bits.  This
10851           macro provides a consistent way to do that on all platforms.
10853         * ace/Asynch_IO.*: added trailing $ to CVS keyword string.
10855         * ace/Asynch_IO.cpp: fixed so that it will compile with Sun CC
10856           on Solaris 2.6.  Thanks to Frederic ANDRES <andres@rd.nacsis.ac.jp>
10857           for reporting this.
10859         * ACE-INSTALL.html: updated Linux RedHat info.
10861 Mon Jun 15 23:17:27 1998  David L. Levine  <levine@cs.wustl.edu>
10863         * Makefile: added os-patches/ to distribution.
10865 Mon Jun 15 23:07:45 1998  David L. Levine  <levine@cs.wustl.edu>
10867         * ACE version 4.5.12 released.
10869 Mon Jun 15 13:58:17 1998  David L. Levine  <levine@cs.wustl.edu>
10871         * ace/config-chorus.h: replaced comment that said that the
10872           config is for CHORUS using MIT threads with comment that says
10873           that it uses the CHORUS POSIX threads interface.  Thanks to
10874           Leo Modica <lmodica@lucent.com> for questioning this, and Wei
10875           Chiang for confirming it.
10877         * os-patches/linux-patches.html: updated glibc info.  Thanks
10878           to Bob Scott <bob_scott@broder.com> for pointing out the
10879           glibc-2.0.7-7 is not available from sunsite.
10881 Sat Jun 13 13:10:05 1998  David L. Levine  <levine@cs.wustl.edu>
10883         * tests/XtReactor_Test.cpp: moved explicit template instantiations
10884           inside ACE_HAS_XT, because the #includes are all inside
10885           ACE_HAS_XT also.
10887         * tests/XtReactor_Test.cpp: without ACE_HAS_XT, replaced
10888           ACE_ERROR_RETURN with ACE_ERROR.  This makes it consistent
10889           with other tests, and allows the following ACE_END_TEST
10890           statement to be reached.
10892         * tests/Process_Mutex_Test.cpp (main): specify full path to
10893           spawned children.  Removed Solaris/i386-specific code because
10894           it should no longer be needed now that the test is fixed by
10895           specifying the full path.  (acquire_release):  removed printout
10896           at top.
10898         * ACE+TAO.tgz,ACE.tgz,ACE-lib.tgz,FSU-threads.tgz: added these
10899           symlinks to their corresponding .tar.gz files.  Thanks to
10900           Gonzo and Darrell for suggesting this.
10902         * ace/RB_Tree.i (clear): removed extraneous ";" following the
10903           function definition.
10905         * ace/Process.cpp (spawn): added an ACE_DEBUG printout before each
10906           call to ACE_OS::exit ().
10908         * ace/Synch_T.cpp: removed the #pragma define_template for
10909           ACE_Condition<ACE_Mutex> on __osf__ with cxx.  It's no longer
10910           needed, and was causing multiply defined instantiations with
10911           cxx 6.1.
10913 Fri Jun 12 17:04:14 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>
10915         * ace/OS.h: Moved the #define's and typedef's (related to Proactor
10916         stuff, things like TRANSMIT_BUFFERS etc) under '#if defined
10917         (WIN32)' before OS.i. They were at the end of the file.
10919 Fri Jun 12 16:31:13 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>
10921         * ace/OS.h: (ACE_NTOHL, ACE_HTONL): Added macros for conversion
10922         between network and host byte order. Thanks to James Hu for
10923         contributing these.
10925 Fri Jun 12 14:29:40 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
10927         * ace/OS.i (sema_wait): Changed the code so that it always treats
10928           the time value argument in absolute time, even for Win32.
10929           Thanks to Chuck Gehr for reporting this.
10931 Fri Jun 12 14:12:25 1998  Carlos O'Ryan  <coryan@swarm.cs.wustl.edu>
10933         * include/makeinclude/wrapper_macros.GNU:
10934           The inclusion of the XtReactor is controlled on the
10935           platform_macros file (or the command line).
10936           Users simply type make xt_reactor=1 to enable this feature, or
10937           set xt_reactor to 1 in the platform_macros.GNU file.
10938           Some extra macros were added for platforms that require special
10939           CPP, LD or libraries when linking against X/Windows. The macros
10940           are described in this file.
10941           The platforms that already had XtReactor compiled by default
10942           still do.
10944         * ace/config-irix6.x-sgic++-nothreads.h:
10945         * include/makeinclude/platform_irix6.x-sgic++.GNU:
10946           Now the XtReactor configuration is controlled on the platform
10947           file.
10949         * ACE-INSTALL.html:
10950           Updated documentation for make flags.
10952         * tests/XtReactor_Test.cpp:
10953           Fixed a few typos.
10955         * tests/Conn_Test.cpp:
10956           Fixed some template instantiation pragmas.
10958 Thu Jun 11 22:05:31 1998  David L. Levine  <levine@cs.wustl.edu>
10960         * tests/Process_Mutex_Test.cpp (main): kill children on
10961           Solaris/i386 instead of waiting for them.  (acquire_release):
10962           added printout at top.  It never appears, at least on
10963           g++/Solaris/i386.
10965         * ace/Malloc.cpp (instance): wrap declaration of local "assertion"
10966           with ifndef ACE_NDEBUG, to avoid warning about unused variable
10967           with debug=0.
10969 1998-06-11  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>
10971         * ace/Proactor.h (ACE_Proactor): Put insert_aiocb_list () under
10972         ACE_HAS_AIO_CALLS so that it doesnt break in NT.
10974 Thu Jun 11 1998 Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>
10976         * ace/OS.h: Added typedef's, #define's  and #include's under the
10977         definition ACE_HAS_AIO_CALLS for the proactor porting.
10979         * ace/config-sunos5.6.h: Defined ACE_HAS_AIO_CALLS for
10980         solaris2.6.
10982         * ace/Asynch_IO.h:
10983         * ace/Asynch_IO.cpp: Added aio call support for Asynch_Read_File. See
10984         the code under #if defined (ACE_HAS_AIO_CALLS)
10986         * ace/Proactor.h:
10987         * ace/Proactor.cpp: Added support for AIO calls in Proactor. See
10988         the code under #if defined (ACE_HAS_AIO_CALLS)
10990         * examples/Reactor/Proactor/test_proactor_with_aio.cpp: The test
10991         program for Proactor doing aio stuff.
10993 Thu Jun 11 13:34:26 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
10995         * ace/OS.cpp: Made change to uname to use a different structure
10996           if certain Borland compilers are being used.  Thanks to
10997           Valik Solorzano <valik@geodan.nl> for this fix.
10999         * bin/make_release: create .zip files in addition to .tar.gz files.
11001 Thu Jun 11 11:15:26 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
11003         * ace/XtReactor.cpp:
11004           The notify_handler_ open method requires an extra argument.
11006 Wed Jun 10 14:31:55 1998  David L. Levine  <levine@cs.wustl.edu>
11008         * ace/Strategies_T.cpp (ACE_Recyclable ctors): reordered
11009           initializers to match declaration order.
11011         * tests/Conn_Test.cpp: fixed template instantiations:
11012           ACE_SYNCH_MUTEX instead of ACE_SYNCH_RW_MUTEX.
11014         * tests/XtReactor_Test.cpp (main): added ACE_UNUSED_ARGS for
11015           argc and argv without ACE_HAS_XT.
11017 Wed Jun 10 12:34:25 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
11019         * ace/Strategies_T: Added two new template classes: ACE_Recyclable
11020           and ACE_Hash_Recyclable. ACE_Recyclable adds a recyclable flag
11021           to the class it is instantiated with.  ACE_Hash_Recyclable
11022           inherits from ACE_Recyclable and forces the class it is
11023           instantiated with to have a hash() method.
11025           Also, the Hash_Addr was fixed so that it does not have the
11026           recyclable flag anymore, since the Hash_Addr can be used even
11027           when there is no recycling.
11029           Also updated the ACE_Cached_Connect_Strategy to reflect these
11030           changes.
11032         * tests/Conn_Test.cpp: Fixed the template instantiations in lieu
11033           of the changes to Hash_Addr.
11035 Wed Jun 10 11:05:39 1998  David L. Levine  <levine@cs.wustl.edu>
11037         * bin/make_release: replaced ACE_wrappers-repository/ with
11038           ACE_wrappers/ in diffs.  Thanks to James Risinger <jrisinge@cgi.com>
11039           for reporting this.
11041 Wed Jun 10 01:31:46 1998  Gonzalo Diethelm  <gonzo@tango.cs.wustl.edu>
11043         * tests/Tokens_Test.cpp:
11044         Changed how the Borland template instantiations are protected.
11046         * tests/XtReactor_Test.cpp:
11047         test_config.h must be included before asking for ACE_HAS_XT.
11048         Was missing the Borland non-sense.
11050         * tests/UPIPE_SAP_Test.cpp:
11051         Protected the Borland template instantiations.
11053         * tests/Timeprobe_Test.cpp:
11054         * tests/Time_Value_Test.cpp:
11055         Added the Borland non-sense.
11057         * tests/Reactor_Timer_Test.cpp:
11058         Added a couple of casts to avoid warnings.
11060         * tests/Priority_Buffer_Test.cpp:
11061         Got rid of a (seemingly) useless piece of code.
11063         * tests/Naming_Test.cpp:
11064         Modified a test so that it won't give warnings.
11066         * tests/Conn_Test.cpp:
11067         Was missing the Borland non-sense.
11068         Modified an #if-protected section to get rid of a warning.
11069         Added a few extra Borland template instantiations.
11071         * ace/WFMO_Reactor.cpp:
11072         * ace/SOCK_Dgram.cpp:
11073         Under Borland, a couple of comparisons were always true (with a
11074         warning) because of unsignedness.
11076         * ace/Malloc.cpp:
11077         Assigned the consition of an assertion to a temporary variable to
11078         avoid a misleading warning.
11080         * ace/Get_Opt.cpp:
11081         Added an explicit comparison against 0 to avoid a warning.
11083         * ace/ACED.cpp:
11084         * ace/ACER.cpp:
11085         These files had been commited with ^M at the end of lines.
11087         * ace/ACE.cpp:
11088         Changed a couple of run time checks for
11089         ACE_DIRECTORY_SEPARATOR_CHAR into compile time tests; that got rid
11090         of a couple of warnings under BCB3 (Borland C++ Builder 3.0).
11092         * ace/ACE.cpp:
11093         * tests/Conn_Test.cpp:
11094         Used ACE_NOTREACHED to avoid further warnings.
11096         * ace/OS.h:
11097         Added Borland to the empty definition of ACE_NOTREACHED.
11098         The definition of ACE_SEH_FINALLY for the case of Borland C++
11099         Builder 3.0 now uses __finally. This allowed most of the tests
11100         that were hanging to complete ok. Thanks to David Tallman
11101         <tallman@acsys.com> for pointing this out.
11103 Tue Jun  9 19:35:26 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
11105         * ace/XtReactor: Integrated the new XtReactor, which should now
11106           work for Windows NT!  Thanks to Kirill Rybaltchenko
11107           <Kirill.Rybaltchenko@cern.ch> for this.
11109         * tests: Added the new XtReactor_Test.cpp to test the features of
11110           the XtReactor.  Thanks to Kirill Rybaltchenko
11111           <Kirill.Rybaltchenko@cern.ch> for this test.
11113 Tue Jun 09 16:18:54 1998  David L. Levine  <levine@cs.wustl.edu>
11115         * Makefile: removed old release targets.  They're no longer
11116           used, or maintained.
11118         * include/makeinclude/platform_sunos5_x86_g++.GNU: removed.
11119           Use platform_sunos5_g++.GNU instead, on both sparcs and x86.
11121 Tue Jun 09 15:25:13 1998  David L. Levine  <levine@cs.wustl.edu>
11123         * ACE version 4.5.11 released.
11125 Tue Jun  9 14:59:15 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
11127         * ace/OS.cpp:  Made it so both Borland and Microsoft use the
11128           x.wProcessorArchitecture structure for system info.
11130 Tue Jun 09 14:35:28 1998  David L. Levine  <levine@cs.wustl.edu>
11132         * tests/Tokens_Test.cpp,UPIPE_SAP_Test.cpp: only need the
11133           template instantiations with Borland C++.
11135         * bin/make_release: create version diffs, in background,
11136           when creating releases.
11138 Tue Jun 09 12:50:49 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
11140         * ace/ACE_Library.mak: Added Stats.cpp.
11142 Tue Jun 09 11:51:17 1998 Chris Gill  <cdgill@tango.cs.wustl.edu>
11144         * tests/MM_Shared_Memory_Test: added a null pointer check so
11145           test complains rather than crashing when shared allocator fails.
11147 Mon Jun  8 21:03:23 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
11149         * ace/Select_Reactor.cpp (any_ready): Fixed a more unrighteous bug
11150           where we were assigning the values in the wait_set_ rather than
11151           the ready_set_.  Thanks to Stefan Ericsson
11152           <Stefan.Ericsson@osd.uab.ericsson.se> for reporting this bug.
11154 Mon Jun  8 19:15:38 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
11156         * ace/Malloc.h:
11157         * ace/Malloc_Base.h (ACE_Allocator): Moved the definition of
11158           abstract class ACE_Allocator from Malloc.h to a new file called
11159           Malloc_Base.h to resolve a circular dependency among a bunch of
11160           header files when compiling with UNICODE and inline enabled.
11162         * ace/SString.i: Changed to include "ace/Malloc_Base.h" to avoid
11163           circular inclusion.
11165 Mon Jun 08 18:35:23 1998  Steve Huston  <shuston@riverace.com>
11167         * ACE-INSTALL.html: Added some updated HP-UX info (and a pointer to
11168           Riverace's HP-UX hints page) and removed the warning to not use
11169           MSVC 5.0 SP3 - per results from ace-users discussions last week,
11170           SP3 is getting used successfully.
11172 Mon Jun 08 13:22:47 1998  David L. Levine  <levine@cs.wustl.edu>
11174         * ace/Basic_Types.h: set ACE_SIZEOF_LONG_DOUBLE to 12 if
11175           LDBL_MAX_EXP is 16384 and LDBL_DIG is 18.  Thanks to
11176           Sree Oggu <dharani@sutmyn.com> for reporting this, on
11177           SolarisX86 with Sun C++.
11179         * ace/Malloc.cpp (instance): cleaned up comments.
11181 Mon Jun  8 12:12:39 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
11183         * tests/UPIPE_SAP_Test.cpp:
11184           Template instantiation was not using the ACE_SYNCH macros.
11186 Mon Jun  8 02:17:54 1998  Gonzalo Diethelm  <gonzo@tango.cs.wustl.edu>
11188         * ACE-INSTALL.html:
11189         Added a comment regarding the new port to Borland C++ Builder.
11191         * ace/ACE.bpg:
11192         * ace/ACED.bpr:
11193         * ace/ACED.cpp:
11194         * ace/ACER.bpr:
11195         * ace/ACER.cpp:
11198         * ace/ACE.cpp:
11199         Got rid of unused const int MAX_STRING_SZ = 4096.
11201         * ace/Asynch_Acceptor.cpp:
11202         * ace/Asynch_IO.cpp:
11203         * ace/Msg_WFMO_Reactor.cpp:
11204         * ace/config-win32-common.h:
11205         Replaced the use of _WIN32_WINNT with ACE_HAS_WINNT4. Borland C++
11206         Builder doesn't handle _WIN32_WINNT very well when building under
11207         Win95.
11209         * ace/Asynch_IO.h:
11210         Now ACE_Asynch_Result inherits publicly from OVERLAPPED;
11211         otherwise, Borland C++ Builder refuses to access OVERLAPPED
11212         members. I'm not sure who's right or wrong here.
11214         * ace/CORBA_Ref.h:
11215         Added an #include "ace/ACE.h".
11217         * ace/Future.h:
11218         Two cosmetic changes.
11220         * ace/LOCK_SOCK_Acceptor.cpp:
11221         Added an #include /**/ "ace/LOCK_SOCK_Acceptor.h".
11223         * ace/Log_Msg.cpp:
11224         Borland C++ Builder doesn't like extern int sys_nerr, so I
11225         protected against it.
11227         * ace/OS.cpp:
11228         A couple of hacks to handle FILETIMEs and SYSTEM_INFO structs,
11229         which are defined a little different under Borland C++ Builder.
11231         * ace/OS.h:
11232         Added support for Borland C++ Builder.
11234         * ace/OS.i:
11235         Borland C++ Builder handles a few functions differently: close,
11236         SetFilePointer, wfdopen.
11238         * ace/Synch_T.h:
11239         A comment on an #else spanned several lines and mixed // and /**/
11240         styles; hard to read.
11242         * ace/TTY_IO.cpp:
11243         A switch was not properly indented and, as a result, had an extra
11244         break that made Borland C++ Builder complain.
11246         * ace/WFMO_Reactor.cpp:
11247         Got rid of a couple of unused local variables called result.
11249         * ace/config-win32-common.h:
11250         Added a few defines for Borland C++ Builder. Don't know if
11251         this is the proper way to do it, but there it is.
11253         * tests/Aio_Platform_Test.bpr:
11254         * tests/Atomic_Op_Test.bpr:
11255         * tests/Barrier_Test.bpr:
11256         * tests/Basic_Types_Test.bpr:
11257         * tests/Buffer_Stream_Test.bpr:
11258         * tests/Conn_Test.bpr:
11259         * tests/Enum_Interfaces_Test.bpr:
11260         * tests/Env_Value_Test.bpr:
11261         * tests/Future_Test.bpr:
11262         * tests/Handle_Set_Test.bpr:
11263         * tests/Hash_Map_Manager_Test.bpr:
11264         * tests/IOStream_Test.bpr:
11265         * tests/MM_Shared_Memory_Test.bpr:
11266         * tests/MT_Reactor_Timer_Test.bpr:
11267         * tests/MT_SOCK_Test.bpr:
11268         * tests/Map_Manager_Test.bpr:
11269         * tests/Mem_Map_Test.bpr:
11270         * tests/Message_Block_Test.bpr:
11271         * tests/Message_Queue_Notifications_Test.bpr:
11272         * tests/Message_Queue_Test.bpr:
11273         * tests/Naming_Test.bpr:
11274         * tests/Notify_Performance_Test.bpr:
11275         * tests/OrdMultiSet_Test.bpr:
11276         * tests/Pipe_Test.bpr:
11277         * tests/Priority_Buffer_Test.bpr:
11278         * tests/Priority_Reactor_Test.bpr:
11279         * tests/Priority_Task_Test.bpr:
11280         * tests/Process_Mutex_Test.bpr:
11281         * tests/Process_Strategy_Test.bpr:
11282         * tests/Reactor_Exceptions_Test.bpr:
11283         * tests/Reactor_Notify_Test.bpr:
11284         * tests/Reactor_Performance_Test.bpr:
11285         * tests/Reactor_Timer_Test.bpr:
11286         * tests/Reactors_Test.bpr:
11287         * tests/Reader_Writer_Test.bpr:
11288         * tests/Recursive_Mutex_Test.bpr:
11289         * tests/SOCK_Connector_Test.bpr:
11290         * tests/SOCK_Test.bpr:
11291         * tests/SPIPE_Test.bpr:
11292         * tests/SString_Test.bpr:
11293         * tests/SV_Shared_Memory_Test.bpr:
11294         * tests/Semaphore_Test.bpr:
11295         * tests/Service_Config_Test.bpr:
11296         * tests/Sigset_Ops_Test.bpr:
11297         * tests/Simple_Message_Block_Test.bpr:
11298         * tests/TSS_Test.bpr:
11299         * tests/Task_Test.bpr:
11300         * tests/Thread_Manager_Test.bpr:
11301         * tests/Thread_Mutex_Test.bpr:
11302         * tests/Thread_Pool_Test.bpr:
11303         * tests/Time_Service_Test.bpr:
11304         * tests/Time_Value_Test.bpr:
11305         * tests/Timer_Queue_Test.bpr:
11306         * tests/Tokens_Test.bpr:
11307         * tests/UPIPE_SAP_Test.bpr:
11308         * tests/tests.bpg:
11309         Added these Borland C++ Builder project files.
11311         * tests/Aio_Platform_Test.cpp:
11312         * tests/Atomic_Op_Test.cpp:
11313         * tests/Barrier_Test.cpp:
11314         * tests/Basic_Types_Test.cpp:
11315         * tests/Buffer_Stream_Test.cpp:
11316         * tests/Enum_Interfaces_Test.cpp:
11317         * tests/Env_Value_Test.cpp:
11318         * tests/Future_Test.cpp:
11319         * tests/Handle_Set_Test.cpp:
11320         * tests/Hash_Map_Manager_Test.cpp:
11321         * tests/IOStream_Test.cpp:
11322         * tests/MM_Shared_Memory_Test.cpp:
11323         * tests/MT_Reactor_Timer_Test.cpp:
11324         * tests/MT_SOCK_Test.cpp:
11325         * tests/Map_Manager_Test.cpp:
11326         * tests/Mem_Map_Test.cpp:
11327         * tests/Message_Block_Test.cpp:
11328         * tests/Message_Queue_Notifications_Test.cpp:
11329         * tests/Message_Queue_Test.cpp:
11330         * tests/Naming_Test.cpp:
11331         * tests/Notify_Performance_Test.cpp:
11332         * tests/OrdMultiSet_Test.cpp:
11333         * tests/Pipe_Test.cpp:
11334         * tests/Priority_Buffer_Test.cpp:
11335         * tests/Priority_Reactor_Test.cpp:
11336         * tests/Priority_Task_Test.cpp:
11337         * tests/Process_Mutex_Test.cpp:
11338         * tests/Process_Strategy_Test.cpp:
11339         * tests/Reactor_Exceptions_Test.cpp:
11340         * tests/Reactor_Notify_Test.cpp:
11341         * tests/Reactor_Performance_Test.cpp:
11342         * tests/Reactor_Timer_Test.cpp:
11343         * tests/Reactors_Test.cpp:
11344         * tests/Reader_Writer_Test.cpp:
11345         * tests/Recursive_Mutex_Test.cpp:
11346         * tests/SOCK_Connector_Test.cpp:
11347         * tests/SOCK_Test.cpp:
11348         * tests/SPIPE_Test.cpp:
11349         * tests/SString_Test.cpp:
11350         * tests/SV_Shared_Memory_Test.cpp:
11351         * tests/Semaphore_Test.cpp:
11352         * tests/Service_Config_Test.cpp:
11353         * tests/Sigset_Ops_Test.cpp:
11354         * tests/Simple_Message_Block_Test.cpp:
11355         * tests/TSS_Test.cpp:
11356         * tests/Task_Test.cpp:
11357         * tests/Thread_Manager_Test.cpp:
11358         * tests/Thread_Mutex_Test.cpp:
11359         * tests/Thread_Pool_Test.cpp:
11360         * tests/Time_Service_Test.cpp:
11361         * tests/Time_Value_Test.cpp:
11362         * tests/Timer_Queue_Test.cpp:
11363         * tests/Tokens_Test.cpp:
11364         * tests/UPIPE_SAP_Test.cpp:
11365         Added the Borland non-sense to allow the tests to link against the
11366         ACE library under Borland C++ Builder. Major pain in the rear
11367         end...
11369         * tests/test_config.h:
11370         Added a couple of includes for the case of Borland C++ Builder.
11372         * tests/Hash_Map_Manager_Test.cpp:
11373         Changed variable name allocator to alloc, to avoid conflicts with
11374         STL allocators under Borland C++ Builder.
11376         * tests/Reactors_Test.cpp:
11377         Changed variable name tm to thr_mgr, to avoid conflicts with
11378         std::tm under Borland C++ Builder.
11380         * tests/Tokens_Test.cpp:
11381         * tests/UPIPE_SAP_Test.cpp:
11382         Added a few explicit template instantiations.
11384 Sun Jun 07 09:51:02 1998  David L. Levine  <levine@cs.wustl.edu>
11386         * ace/Timeprobe_T.cpp: added #include of ace/Timeprobe.h.
11387           It wouldn't compile on GreenHills without it.
11389         * STL/bool.h: only #define bool, etc., if _MSC_VER is #defined.
11390           Thanks to Stanley Leeson <STANLEY.D.LEESON@cdev.com> for
11391           reporting this.
11393         * tests/Timeprobe_Test.cpp: added #include of ace/Timeprobe.cpp
11394           to pick up template instantiations, if ACE_COMPILE_TIMEPROBES
11395           was not defined.  This allows the test to build on platforms
11396           that have explicit template instantiation when libACE was
11397           built without timeprobes enabled.
11399 Sun Jun  7 01:06:12 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
11401         * ace/config-freebsd-pthread.h: Added the
11402           ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS flag to work around problems
11403           with pthreads on FreeBSD.  Thanks to Amancio Hasty
11404           <hasty@rah.star-gate.com> for reporting this.
11406 Sat Jun  6 22:00:54 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>
11408         * ace/Message_Queue.cpp: Added code so that advance() is more
11409           thread-safe.
11411         * apps/gperf/src/Options.cpp (operator): Changed ACE_OS::exit()
11412           to ACE_OS::_exit() so we'll leave no trace...
11414         * apps/gperf/src/Key_List.cpp (output_switch): Fixed another bug
11415           where strcmp() should be generated instead of strncmp().
11417         * apps/gperf/src: We no longer call the inline option "GNU" but
11418           now call it "INLINE".
11420         * apps/gperf/src/{Options.h,Key_List.cpp,Gen_Perf.cpp}: Revised
11421           the LARGE_STACK_ARRAY code so that it only gets compiled if
11422           we're using GCC.
11424         * apps/gperf/src/Key_List.cpp (output_switch): Fixed a bug where
11425           strcmp() was being used instead of strncmp().  Thanks to C++
11426           for finding this!
11428         * apps/gperf/src/Key_List.cpp: Removed all uses of "register"
11429           since C++ compilers can do this automagically...
11431         * apps/gperf/tests/test.cpp (main): Modified the test program to
11432           use C++ rather than C (ugh!).
11434         * ace: Added two new files: Timeprobe_T.h and Timeprobe_T.cpp in
11435           order to solve problems with multiply defined symbols.  Thanks
11436           to Brian Mendel, David Levine, and Irfan for tracing this down.
11438 Sat Jun  6 19:10:54 1998  Sergio Flores  <sergio@cs.wustl.edu>
11440         * ace/config-vxworks5.x.h: changes the default thread priority
11441         from 6 to 101.
11443 Sat Jun 06 16:43:01 1998  David L. Levine  <levine@cs.wustl.edu>
11445         * ace/Timeprobe.cpp (dtor): inserted missing "[]" in delete of
11446           array.
11448 Fri Jun  5 11:53:18 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
11450         * ace/Log_Msg.{h,cpp}: Added enable_debug_messages() to do
11451           the opposite of disable_debug_messages().
11453         * ace/Parse_Node.cpp: Got rid of all the checks of the
11454           Service Configurator's debug flag.  Instead, the checking
11455           will occur in the Service Configurator.
11457         * ace/Service_Config.cpp: Added to Stephen Coy's changes so
11458           that debug messages are turned back on after the Service
11459           Configurator is done.  That way, other code can still use
11460           debug messages.
11462 Thu Jun  4 12:25:48 1998  Rajiv C. Gandhi  <gandhi@tango.cs.wustl.edu>
11464         * apps/gperf/src/Options.h: removing the option to stack
11465           allocate some large arrays as CC does not seem to like it.
11467         * apps/gperf/src/Key_List.cpp (output_lookup_array): removing
11468           the option to stack allocate some large arrays as CC does
11469           not seem to like it.
11471         * apps/gperf/src/Gen_Perf.cpp: removing the option to stack
11472           allocate some large arrays as CC does not seem to like it.
11474 Thu Jun 04 05:03:09 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
11476         * ACE version 4.5.10 released.
11478 Wed Jun  3 02:24:47 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
11480         * ace/config-win32-common.h: Instead of defining _MT for users if
11481           it's not defined, spit out an error message and stop the
11482           compilation.  Thanks to Barney Dalton
11483           <barneyd@cyllene.uwa.edu.au> for suggesting this.
11485 Tue Jun 02 20:03:51 1998  Steve Huston  <shuston@riverace.com>
11487         * ace/config-hpux-1[01].x-hpc++.h: Added ACE_HAS_USING_KEYWORD for
11488           aC++ on both platforms.
11490 Tue Jun 02 12:19:29 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
11492         * ace/Thread_Manager.cpp (wait_grp,wait_task):  These two were
11493           still copying thread_descriptors and deleting the copies
11494           directly.  This corrupted the cached thread_descriptor.
11495           Changing them to use Thread_Descriptor_Base solved the problem.
11496           Thanks to Zoran Ivanovic <zorani@pathcom.com> for finding
11497           this.
11499 Tue Jun 02 08:29:20 1998  David L. Levine  <levine@cs.wustl.edu>
11501         * include/makeinclude/wrapper_macros.GNU,ACE-INSTALL.html:
11502           moved probe=1 support from individual Makefiles to
11503           wrapper_macros.GNU.
11505 Tue Jun 02 08:09:41 1998  Steve Huston  <shuston@riverace.com>
11507         * ace/config-aix-4.1.x.h: Removed ACE_HAS_THREAD_SELF.  It was
11508           causing compile failure.  Thanks to Lee Nash <rnash@gulfaero.com>
11509           for helping to work this out.
11511 Mon Jun 01 16:19:52 1998  Steve Huston  <shuston@riverace.com>
11513         * examples/Reactor/Dgram/Dgram.mdp, Dgram.mak:  Added these files
11514           to build the examples with MSVC 4.2.
11516 Mon Jun 01 13:01:14 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
11518         * examples/Reactor/Dgram/Dgram.cpp (run_test): Because of the
11519           delayed de-registration in WFMO_Reactor, WFMO_Reactor was trying
11520           to call handle_close on the Event Handler after it was
11521           destroyed.  Solution: dynamically created the Event Handler and
11522           call "delete this" in handle_close.  The other alternative was
11523           to call remove_handler with the DONT_CALL flag and to close the
11524           socket in the Event Handler's destructor.
11526         * ace/Timeprobe: The vxworks compiler is lame as it cannot handle
11527           operator placement new for arrays.  Therefore, ACE_Allocator was
11528           removed in favor of regular new and delete.
11530 Mon Jun 01 09:54:51 1998  David L. Levine  <levine@cs.wustl.edu>
11532         * tests/Timeprobe_Test.cpp: removed trailing ; from template
11533           instantation pragmas.
11535         * tests/Conn_Test.cpp,MM_Shared_Memory_Test.cpp,
11536           Priority_Reactor_Test.cpp,SOCK_Test.cpp: replaced
11537           !defined (ACE_WIN32) && !defined (VXWORKS) with
11538           !defined (ACE_LACKS_FORK).
11540 Sun May 31 23:05:10 1998  David L. Levine  <levine@cs.wustl.edu>
11542         * ACE-INSTALL.html,include/makeinclude/wrapper_macros.GNU:
11543           added repo=1 make option support.  It only helps when
11544           building ACE applications.  ACE and TAO still use explicit
11545           instantiation when building their libraries, because it's
11546           easiest to avoid link collisions that way.  And it already
11547           works.
11549 Sun May 31 18:31:24 1998  James C Hu  <jxh@cs.wustl.edu>
11551         * ace/RB_Tree.i:
11552         * ace/RB_Tree.cpp: Changes suggested by Sergio to make it work
11553           with older version of GCC.  Referred to RB_Tree_Node_Color
11554           through the parent class RB_Tree_Node_Base.
11556 Sat May 30 13:14:18 1998  James C Hu  <jxh@cs.wustl.edu>
11558         * ace/RB_Tree.h: Try to put enum into a class again.  This time,
11559           created a dummy base class to hold the RED and BLACK enums.
11561 Sat May 30 08:01:31 1998  David L. Levine  <levine@cs.wustl.edu>
11563         * ace/RB_Tree.h (RB_Tree_Iterator::operator =): Added explicit
11564           return type to the declaration.  Wrapped with
11565           ACE_UNIMPLEMENTED_FUNC.
11567 Fri May 29 23:06:02 1998  David L. Levine  <levine@cs.wustl.edu>
11569         * ace/RB_Tree.{h,i}: moved enum RB_Tree_Node_Color out of the
11570           (template) class declaration because g++ 2.7.2.3 couldn't
11571           find it there.
11573         * ace/Thread_Manager.cpp (remove_thr, VxWorks only): added [] to
11574           delete of tid array.  Thanks to Arturo Montes
11575           <mitosys@colomsat.net.co> for reporting this.
11577         * ace/RB_Tree.h (RB_Tree_Iterator::operator =): added explicit
11578           return type to the declaration.  Wrapped with
11579           ACE_UNIMPLEMENTED_FUNC.
11581 Fri May 29 21:59:01 1998  James C Hu  <jxh@cs.wustl.edu>
11583         * RB_Tree.h:
11584         * RB_Tree.i:
11585         * RB_Tree.cpp: Debugged some minor typo errors, and changes
11586           related to internalizing the RED and BLACK enums.
11588 Fri May 29 21:55:11 1998  David L. Levine  <levine@cs.wustl.edu>
11590         * ace/High_Res_Timer.cpp: don't use ACE_HAS_PENTIUM code on
11591           Solaris (ACE_HAS_HI_RES_TIMER) because it uses ::gethrtime ().
11592           (dump): on Solaris, print 64-bit ints with %llu format.  Other
11593           platforms may need that, also.
11595         * ace/Makefile: replaced .o with $(OBJEXT) in gethrtime.o target,
11596           so that make depend doesn't munge it.
11598         * ace/OS.h: only use the null versions of the
11599           ACE_DES_FREE_TEMPLATE* macros with LynxOS 3.0.0.
11601         * include/makeinclude/platform_lynxos.GNU: commented out -Winline,
11602           because it complains too much with -O2, and that's now the default.
11604 Fri May 29 17:52:37 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
11606         * ACE version 4.5.9 released.
11608 Fri May 29 16:19:34 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>
11610         * ace/Synch_T.h (class ACE_Guard): ACE_Guard's destructor was
11611           changing the errno value.  Fixed this to avoid doing so...
11612           Thanks to Arturo Montes <mitosys@colomsat.net.co> for reporting
11613           this.
11615 Fri May 29 15:33:41 1998  David L. Levine  <levine@cs.wustl.edu>
11617         * performance-tests/Misc/context_switch_time.cpp:
11618           added Synchronized Suspend-Resume Test.
11620 Fri May 29 14:46:49 1998  James C Hu  <jxh@cs.wustl.edu>
11622         * ace/Makefile
11623         * ace/RB_Tree.h
11624         * ace/RB_Tree.cpp: Added changes to RB_Tree to enable overloading
11625           of the comparison method.  Added class RB_Tree to the UNIX
11626           Makefile.
11628         * ace/OS.cpp: Added some minor fixes to the difftime implementation.
11630         * ace/OS.cpp:
11631         * ace/OS.i:
11632         * ace/README:
11633         * ace/config-sunos4*:
11634           Added ACE_LACKS_DIFFTIME macro because SunOS4 does not support
11635           the Standard C difftime function.  Added a difftime
11636           implementation for when such is the case.
11638 Fri May 29 08:22:36 1998  Steve Huston  <shuston@riverace.com>
11640         * ace/Log_Msg.cpp, Trace.cpp: Changed decision for
11641           order-of-include/inline from ACE_WIN32 to
11642           ACE_HAS_ONE_DEFINITION_RULE.  This completes the changes needed
11643           to be able to use the newer versions of HP aC++.
11645         * ace/config-win32.h: Set ACE_HAS_ONE_DEFINITION_RULE.
11647 Thu May 28 16:17:41 1998  Steve Huston  <shuston@riverace.com>
11649         * ace/README: Added ACE_HAS_ONE_DEFINITION_RULE.
11650         * ace/config-hpux-10.x-hpc++.h:
11651         * ace/config-hpux-11.x-hpc++.h: Added ACE_HAS_ONE_DEFINITION_RULE
11652           for aC++.  This is part of a set of changes to make ACE work
11653           with HP aC++ A.01.09 (10.20) and A.03.05 (11.00).  The other
11654           changes are being tested still.  Thanks _very_ much to Steve Coy
11655           for digging through this with HP and working out a solution!
11657 Thu May 28 15:55:48 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>
11659         * Added new configuration files for SCO.  Thanks to Arturo for
11660           this.
11662 Thu May 28 13:57:50 1998  David L. Levine  <levine@cs.wustl.edu>
11664         * ace/Filecache.cpp: removed redundant template instantiations.
11666         * ace/config-lynxos.cpp: added undef ACE_HAS_TEMPLATE_SPECIALIZATION
11667           for LynxOS 3.0.0.
11669         * ace/Hash_Map_Manager.cpp,Map_Manager.cpp: replaced bare explicit
11670           destructor calls with ACE_DES_FREE_TEMPLATE{,2} macro invocations.
11672         * ace/OS.h: #define ACE_DES_FREE_TEMPLATE to be null on LynxOS.
11673           Without it, the g++ that's distributed with LynxOS 3.0.0 hopelessly
11674           chokes on explicit calls to template class destructors.  This
11675           hack could cause memory leaks, though currently ACE_DES_FREE_TEMPLATE
11676           is only used to call empty, non-virtual destructors (in
11677           Containers.cpp, Hash_Map_Manager.cpp, and Map_Manager.cpp).
11678           Also, added ACE_DES_FREE_TEMPLATE2 macro for use with two
11679           template arguments.  There's got to be a better way.
11681         * include/makeinclude/platform_lynxos.GNU: added LynxOS Version 3.0.0
11682           support.  It's optional at this point:  add VERSION=3.0.0 to your
11683           make invocation to enable.  Disabled -Wall with LynxOS 3.0.0.
11684           Enabled optimization.
11686 Thu May 28 07:47:41 1998  Steve Huston  <shuston@riverace.com>
11688         * tests/SOCK_Connector_Test.cpp: Changed the "should succeed" test
11689           from port 25 (smtp) to 7 (echo) to try and get a higher success
11690           rate.  Thanks to David Levine for this suggestion.
11692 Wed May 27 13:45:24 1998  Steve Huston  <shuston@riverace.com>
11694         * ace/ACE.cpp (handle_timed_complete): Fixed problem where
11695           successful connect was being reported as a failure (P90).
11697         * tests/SOCK_Connector_Test.cpp: Added a test for a successful
11698           non-blocking connect (tests fix from above).
11700 Wed May 27 07:04:42 1998  David L. Levine  <levine@cs.wustl.edu>
11702         * ace/Service_Config.cpp: default debug_ to 1 instead
11703           of 0.  And the -d option now disables debug messages,
11704           instead of enabling them.  Thanks to Irfan for reporting
11705           that LM_DEBUG messages were lost without this fix.
11707         * ace/High_Res_Timer (calibrate): added calibrate () method
11708           to calculate the global scale factor on Pentiums.  It's
11709           called by the constructor for the first instantiation
11710           in a process.  (On WIN32, get_registry_scale_factor () is
11711           called instead of calibrate ().)
11713         * ace/Stats.cpp (sample): continue aggregating data even
11714           if there is overflow.  This allows, e.g., a mean to be
11715           calculated even if the standard deviation calculation overflow.
11717         * performance-tests/Misc/context_switch_time.cpp: don't run the
11718           Yield_Test on VxWorks because it takes too long.
11720         * ace/High_Res_Timer.*: moved calibration from constructor to
11721           global_scale_factor () accessor.
11723         * ace/Timeprobe.cpp: no longer need to explicitly calibrate the
11724           High_Res_Timer.
11726 Tue May 26 22:25:18 1998  Stephen Coy  <stevec@wsa.com.au>
11728         * ace/Log_Msg.{h,cpp},Service_Config.cpp: added support for
11729           -d in Service_Config files to enable/disable LM_DEBUG messages.
11731 Tue May 26 14:53:21 1998  Steve Huston  <shuston@riverace.com>
11733         * ace/SOCK_Dgram_Mcast.cpp (subscribe): Fixed use of uninitialized
11734           variable, nr_subscribed.  Thanks to Nanbor for finding this.
11736 Tue May 26 13:39:21 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
11738         * ace/Timeprobe.cpp:
11739         * tests/Timeprobe_Test.cpp:
11740           Now egcs and Sun/CC are happy with this files.
11742 Tue May 26 00:35:49 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
11744         * tests/Timeprobe_Test.cpp: Added new test.
11746         * ace/Timeprobe: Added the ability to have multiple event tables
11747           for time probes. Multiple maps can be used to chunk up the time
11748           probes.  Each one can be added by calling event_descriptions().
11749           Different tables are used internally by consulting the
11750           minimum_id for each table.  It is up to the user to make sure
11751           that multiple tables do not share the same event id range.
11753 Sat May 23 21:52:49 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
11755         * ace/Message_Block.h:
11756         * ace/Message_Block.i:
11757           The rd_ptr() and wr_ptr() are const methods now.
11759 Sat May 23 00:18:58 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
11761         * ace/ace_ce_dll.dsp: Updated settings for MIPS CPU.
11763         * tests/WinCE/*.dsp: Updated settings for MIPS CPU.
11765 Fri May 22 16:00:03 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
11767         * tests/MT_SOCK_Test.cpp (spawn): We must check for !defined
11768           (ACE_LACKS_FORK) rather test for VxWorks or Win32.  Thanks to
11769           Steven Coy for reporting this.
11771 Fri May 22 20:01:40 1998  David L. Levine  <levine@cs.wustl.edu>
11773         * ace/OS.h: moved ACE_IO_Vector declaration ahead of OS.i #include.
11775         * ace/OS.i (ACE_IO_Vector::buffer): added static cast of new_buffer
11776           to char *.
11778         * ace/OS.i (writev): changed return type from int to ssize_t to
11779           match declaration in OS.h.
11781 Fri May 22 12:20:11 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
11783         * ace: Other parts of ACE were modified to use the new
11784           ACE_IO_Vector class.
11786         * ace/OS.h (ACE_IO_Vector): Added a new class that inherits from
11787           the correct IO_Vector class provided by the platform.
11789           writev() and readv() were being emulated on Win32 in ACE.  A new
11790           ACE_OS::writev() and ACE_OS::readv() has been added to ACE
11791           that uses WSASend() and WSARecv() respectively.  However, in
11792           order for you to exploit these new functions, you must use
11793           ACE_IO_Vector instead of iovec.  The ideal situation would have
11794           been to totally replace iovec with ACE_IO_Vector but that would
11795           break too much code. So, if you keep using iovec, you will use
11796           the expenses and slow emulations.  If you want to use WSASend()
11797           and WSARecv(), switch over to ACE_IO_Vector. It will work on
11798           both Win32 and non-Win32 platforms.
11800 Fri May 22 07:53:03 1998  David L. Levine  <levine@cs.wustl.edu>
11802         * ace/config-linux-pthread.h: removed two
11803           ACE_LACKS_CONDATTR_PSHARED #defines.  That leaves just
11804           one, that's commented out.
11806         * performance-tests/Misc/context_switch_time.cpp: create all
11807           threads as detached so they don't have to be joined.  They
11808           test was using up resources on LynxOS, if a high -c option
11809           was used, without this change.
11811         * ace/config-sunos5.5-{g++,sunc++-4.x}.h,config-sunos5.5.h:
11812           merged config-sunos5.5-g++.h and config-sunos5.5-sunc++-4.x.h
11813           into config-sunos5.5.h.  That new file should be maintained
11814           for both compilers from now on.  The old files have been
11815           retained for backward compatibility.  The just #include
11816           config-sunos5.5.h.
11818         * ace/config-sunos5.6.h: #include config-sunos5.5.h instead
11819           of the separate Sun C++ and g++ configs.
11821         * include/makeinclude/platform_sunos5_sunc++.GNU:
11822           updated comment to reflect change to config-sunos5.5.h.
11824 Fri May 22 07:30:23 1998  David L. Levine  <levine@cs.wustl.edu>
11826         * ACE version 4.5.8 released.
11828 Fri May 22 07:26:06 1998  David L. Levine  <levine@cs.wustl.edu>
11830         * ace/Stats.cpp: added some casts to avoid MSVC++ warnings
11831           about narrowing.
11833         * ace/config-osf1-4.0.h: removed commented-out
11834           ACE_LACKS_{COND,MUTEX}ATTR_PSHARED.
11836 Fri May 22 00:09:15 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
11838         * ace/Local_Tokens.{h,cpp} (ACE_Null_Token): Only defined default
11839           ctor/dtor explicitly when ACE_LACKS_INLINE_FUNCTIONS.
11841         * ace/Stats.cpp: Defined ACE_BUILD_DLL at the beginning.
11842           Win32 needs to define ULONGLONG literals as 999ui64.
11843           This is the only place that uses i64 literals.
11845 Thu May 21 21:55:09 1998  David L. Levine  <levine@cs.wustl.edu>
11847         * ACE version 4.5.7 released.
11849 Thu May 21 17:36:37 1998  David L. Levine  <levine@cs.wustl.edu>
11851         * ace/config-sunos5.6.h: added support for POSIX 199506
11852           extensions.  Thanks to J. Russell Noseworthy
11853           <rnosewor@objectsciences.com> for providing this support.
11855         * ace/Local_Tokens.{h,i}: inlined ACE_Null_Token ctor and dtor
11856           in class header because the clone () method needs the ctor
11857           inlined, and it's too difficult to get it right with macros.
11859         * tests/SString_Test.cpp (main): added ACE_ASSERT with s4 in
11860           it, because it was unused otherwise.
11862         * performance-tests/Synch-Benchmarks/Options.cpp (print_results):
11863           changed #else to #elif, because it has a condition after it.
11865 Thu May 21 15:28:07 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
11867         * tests/test_config.h: Modified to write output from tests into
11868           log file.  Notice that log files on CE have extension name
11869           ".txt" instead of ".log".
11871         * ace/OS.i (strrchr): Added UNICODE version of this function.
11873         * ace/Log_Record.{h,cpp}: Generalized message formatting on CE by
11874           adding a new method format_msg().
11876         * ace/Reactor_Impl.h: Removed an extra comma.
11878         * ace/XtReactor.cpp: Include "ace/Reactor.h"
11880         * tests/Recursive_Mutex_Test.cpp:
11881         * tests/Future.cpp: Removed iteration restriction on CE.
11883 Thu May 21 12:13:36 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
11885         * ace/ace_{dll,lib}.dsp: Added Stats.cpp into projects.
11887 Wed May 20 23:02:41 1998  Steve Huston  <shuston@riverace.com>
11889         * ace/SOCK_Dgram_Mcast.cpp (subscribe): On Win32, if
11890           ACE::get_ip_interfaces finds less than 2 interfaces, call
11891           subscribe with "0.0.0.0".  This is sort of a hack and is meant
11892           only to help get things working again until ACE::get_ip_interfaces
11893           can be made to work correctly in all cases.
11895 Wed May 20 10:42:12 1998  David L. Levine  <levine@cs.wustl.edu>
11897         * ace/config-mvs.h: enabled ACE_LACKS_CONDATTR_PSHARED and
11898           ACE_LACKS_MUTEXATTR_PSHARED.  Thanks to Chuck Gehr
11899           <GehrCR@LOUISVILLE.STORTEK.COM> for advising on this.
11901         * ace/config-linux-lxpthreads.h,config-lynxos.h: removed
11902           commented-out ACE_LACKS_{COND,MUTEX}ATTR_PSHARED #defines.
11904         * ace/config-sunos5.5-{sunc++-4.x,g++}.h: removed
11905           commented-out ACE_LACKS_{COND,MUTEX}ATTR_PSHARED.  Enabled
11906           ACE_HAS_CLOCK_GETTIME, because we always link with -lposix4.
11907           Thanks to J. Russell Noseworthy <rnosewor@objectsciences.com>
11908           for inspiring the ACE_HAS_CLOCK_GETTIME enable.
11910         * ace/config-osf1-4.0.h: removed uncommented
11911           ACE_LACKS_CONDATTR_PSHARED, so that we can test whether
11912           it's necessary.
11914         * ace/Stats.*,Makefile: added ACE_Stats class.
11916         * performance-tests/Misc/context_switch_time.cpp: use
11917           ACE_Stats to calculate standard deviations.
11919 Tue May 19 21:24:50 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
11921         * tests/Future_Test.cpp: Reduced the number of iterations on CE.
11923         * ace/Synch.i: Added #ifdef (ACE_HAS_THREADS) to make it compile
11924           on non-threaded platforms.
11926 Tue May 19 10:05:07 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
11928         * ace/SString.cpp (strlen): Renamed ACE_WString::wstrlen to
11929           ACE_WString::strlen.
11931         * ace/SString.i: Reordered functions to make g++ happy.
11933         * ace/ACE.cpp (hash_pjw): Changed ACE_OS::strlen to
11934           ACE_WString::strlen.
11936 Tue May 19 09:52:08 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
11938         * ace/config-irix6.x-g++.h:
11939         * ace/config-irix6.x-sgic++-nothreads.h:
11940         * ace/config-irix6.x-sgic++.h:
11941           Added ACE_LACKS_MUTEXATTR_PSHARED
11943 Mon May 18 16:37:36 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
11945         * ace/SString.h (ACE_CString): Added the ability to hold on to
11946           user supplied character strings without having to make a copy.
11948         * ace/OS.h (ACE_OS): Added implementations for strrchr, strnchr,
11949           strnstr, and strstr.
11951         * ace/ACE.cpp (hash_pjw): Added new versions of these that work
11952           with user specified string length.
11954 Mon May 18 12:24:40 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>
11956         * ace/config-*.h: Commented out most of the
11957           ACE_LACKS_CONDATTR_PSHARED so we can see what platforms really
11958           DON'T support this...
11960         * ace/OS.i (mutex_init): Added support for
11961           pthread_mutexattr_setpshared() so we can initialize POSIX
11962           pthreads process-wide mutexes.  Thanks to Ki-hyun Yoon
11963           <abird@nextware.co.kr> for suggesting this.
11965         * ace/config-sunos5.6.h: Added an #define for
11966           ACE_THREAD_POSIX_SEM.  Thanks to Ki-hyun Yoon
11967           <abird@nextware.co.kr> for reporting this.
11969         * ace/config-sunos5*.h: Removed the ACE_LACKS_RWLOCK_T stuff since
11970           it's unnecessary.  Thanks to Chris Lahey for reminding me of
11971           this...
11973 Mon May 18 13:48:14 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
11975         * ace/Synch.i: Added #ifdef (ACE_HAS_THREADS) to make it compile
11976           on non-threaded platforms.
11978 Mon May 18 12:31:32 1998  Darrell Brunsch <brunsch@cs.wustl.edu>
11980         * ace/Service_Config.{h,i,cpp}: Added an accessor debug() for
11981           external access to the <debug_> variable.  More debug messages
11982           check this before displaying.
11984         * ace/Parse_Node.cpp: Checks Service_Config's debug flag before
11985           outputting debug messages.
11987 Sun May 17 23:14:32 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
11989         * tests/Wince/*.dsp: Disabled precompiled headers.  They ate up
11990           all my disk space.
11992         * ace/Service_Config.cpp: <process_directive> takes a string of
11993           type ASYS_TCHAR.  Use ACE_WIDE_STRING to do the conversion.
11995         * ace/Log_Msg.{h,cpp} (ACE_ASSERT): Use unicode in ACE_ASSERT.
11996           (log): Don't exit the program for now.  Exiting program here
11997           destroys all debugging message in the window.
11999         * tests/Reader_Writer_Test.cpp: Reduced the number of iterations
12000           on WinCE.
12002         * ace/OS.i: Added ACE_OS::time () implementation for CE.
12004 Sun May 17 21:45:07 1998  David L. Levine  <levine@cs.wustl.edu>
12006         * performance-tests/Misc/childbirth_time.cpp: changed type of
12007           MULTIPLY_FACTOR from int to size_t to avoid signed/unsigned
12008           comparison.
12010         * tests/Tokens_Test.cpp: synchronize start of thread svc ()
12011           routines.  Occasionally, the first thread would finish before
12012           any others had started.  The TSS objects would get cleaned
12013           up.  Then, the remaining threads would start up and make a big
12014           mess.
12016 Sat May 16 15:10:46 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>
12018         * ace/Service_Config.h (ACE_Service_Config): Moved the
12019           process_directive() into the public part of the class so this
12020           can be called by applications one the Service Configurator is
12021           open.  Thanks to Tom Arbuckle
12022           <arbuckle@uran.informatik.uni-bonn.de> for suggesting this.
12024 Sat May 16 14:12:09 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12026         * ace/Thread_Manager.{h,i,cpp} (class ACE_Thread_Descriptor_Base):
12027           Extract thread handle and thread creation flags out from
12028           Thread_Descriptor into this new class.  This is necessary
12029           because after my last round of changes to improve
12030           ACE_Thread_Manager, I changed the <terminated_queue_> from
12031           holding Thread_Descriptor's to holding pointers to descriptor.
12032           This was a bad move because the address of these pointers had
12033           already been "freed."  The <terminated_queue_> now holds
12034           ACE_Thread_Descriptor_Base which contains only the information
12035           needed for manipulating <terminated_queue_>.  Thanks to Arturo
12036           for noticing this.
12038 Sat May 16 03:23:35 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12040         * performance-tests/Misc/childbirth_time.cpp (main): Added a new
12041           function to test the performance of ACE_Thread_Mutex in single
12042           thread _without_ any contention.
12044 Fri May 15 22:55:51 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12046         * tests/Recursive_Mutex_Test.cpp: Only iterate the test 50 times
12047           on CE as on Chorus.  Otherwise, as I'm using a CEdit to hold the
12048           test output, CEdit would overflow.
12050         * ace/OS.i (thr_getspecific): Don't check for return value of
12051           TlsGetValue on CE because CE doesn't seem to set the LastError
12052           correspondingly.
12053           (strchr): Added implementation on CE.
12055         * Added Activation_Queue.i and Strategies.i.
12057         * Combed thru all these files and added difinitions for ctor/dtor
12058           for a bunch of classes explicitly.  CE needs them.
12060           Activation_Queue.cpp Activation_Queue.h Dynamic.h Dynamic.i
12061           Event_Handler.h Event_Handler.i Get_Opt.h Get_Opt.i Handle_Set.h
12062           Handle_Set.i High_Res_Timer.h High_Res_Timer.i INET_Addr.h
12063           INET_Addr.i IO_SAP.h IO_SAP.i IPC_SAP.h IPC_SAP.i Local_Tokens.h
12064           Local_Tokens.i Log_Record.h Log_Record.i Malloc.h Malloc.i OS.h
12065           OS.i Obstack.cpp Obstack.h Obstack.i Parse_Node.h Parse_Node.i
12066           Pipe.h Pipe.i Process_Manager.h Process_Manager.i SOCK.h SOCK.i
12067           SOCK_Acceptor.cpp SOCK_Acceptor.h SOCK_Acceptor.i SOCK_CODgram.h
12068           SOCK_CODgram.i SOCK_Connector.h SOCK_Connector.i SOCK_Dgram.h
12069           SOCK_Dgram.i SOCK_Dgram_Bcast.h SOCK_Dgram_Bcast.i
12070           SOCK_Dgram_Mcast.h SOCK_Dgram_Mcast.i SOCK_IO.h SOCK_IO.i
12071           SOCK_Stream.h SOCK_Stream.i SString.h SString.i Sched_Params.h
12072           Sched_Params.i Select_Reactor.h Select_Reactor.i
12073           Service_Manager.h Service_Manager.i Service_Repository.h
12074           Service_Repository.i Service_Types.h Service_Types.i
12075           Shared_Object.h Shared_Object.i Signal.h Signal.i Strategies.cpp
12076           Strategies.h Strategies.i Strategies_T.cpp Strategies_T.h
12077           Synch.cpp Synch.h Synch.i Synch_Options.cpp Synch_Options.h
12078           Synch_Options.i Timer_Heap_T.cpp Timer_Heap_T.h Timer_List_T.cpp
12079           Timer_List_T.h Timer_Queue_T.cpp Timer_Queue_T.h
12080           Timer_Wheel_T.cpp Timer_Wheel_T.h.
12082 Fri May 15 16:55:34 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>
12084         * ace/config-sunos5*.h: Automatically enable ACE_LACKS_RWLOCK_T if
12085           we're NOT using Solaris threads (since pthreads doesn't support
12086           readers/writer locks).
12088         * ace/Service_Config.cpp: Removed a duplicate template
12089           instantiation of template class
12090           ACE_Unbounded_Queue_Iterator<ACE_CString>.  Thanks to Ben Eng
12091           <ben@jetpen.com> for reporting this.
12093         * ace/OS: Fixed a number of problems that occurred when trying to
12094           use the PTHREAD implementation on Solaris without using
12095           ACE_HAS_STHREADS.  The problems related primarily to the
12096           ACE_OS::rw*() functions.  To fix the problems, the following
12097           changes were made.
12099           Remove the #if defined (ACE_HAS_STHREADS) from the case where we
12100           have the native rw*() functions.  We just use the
12101           ACE_LACKS_RWLOCK_T compile flag to determine whether we have the
12102           native functions.
12104           Without the ACE_HAS_STHREAD flag, ACE_rwlock_t comes up
12105           undefined.  To fix this, moved the definition at approx. line
12106           1868 above the #else at approx. line 1865 as the following:
12108           #if ! defined (ACE_LACKS_RWLOCK_T)
12109           #include <synch.h>
12110           typedef rwlock_t ACE_rwlock_t;
12111           #endif  // ! ACE_LACKS_RWLOCK_T
12113           Finally, the ACE_idtype_t type was also undefined.  To fix this,
12114           moved the typedef from within the #if defined (ACE_HAS_STHREADS) ||
12115           defined (DIGITAL_UNIX) block and create a new ifdef block:
12117           #if defined (ACE_HAS_IDTYPE_T)
12118           typedef idtype_t ACE_idtype_t;
12119           #else
12120           typedef int ACE_idtype_t;
12121           #endif
12123           Thanks to Chris Lahey <CLahey@cccis.com> for his through help at
12124           recognizing and fixing these problems.
12126 Fri May 15 09:38:37 1998  David L. Levine  <levine@cs.wustl.edu>
12128         * bin/make_release: redirect cvs tag output to /dev/null.
12130         * performance-tests/Misc/context_switch_time (main): fixed
12131           printout of yield test time for other than the default
12132           number of iterations.
12134 Fri May 15 09:29:57 1998  David L. Levine  <levine@cs.wustl.edu>
12136         * ACE version 4.5.6 released.
12138 Fri May 15 08:25:19 1998  David L. Levine  <levine@cs.wustl.edu>
12140         * ace/Service_Config.cpp: fixed and added template instantations.
12142         * ace/Svc_Conf_y.cpp,etc/Svc_Conf_y.cpp.diff: removed compile
12143           warnings.
12145         * include/makeinclude/platform_sunos5_g++.GNU: use PIC instead of pic,
12146           because the TAO orbsvcs lib needs it.
12148         * Makefile: added .PHONY for phony targets.
12150 Fri May 15 02:47:35 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
12152         * ACE version 4.5.5 released.
12154 Fri May 15 02:42:06 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
12156         * ACE version 4.5.4 released.
12158 Thu May 14 15:28:42 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>
12160         * ace/config-kcc-common.h: Added the ACE_HAS_USING_KEYWORD to the
12161           config file.  Thanks to Ben Eng <ben@jetpen.com> for reporting
12162           this.
12164         * examples/Service_Configurator/Misc: Updated the Timer_Service
12165           test to demonstrate the new service configurator feature.  It's
12166           AWESOME!
12168         * ace/Svc_Conf.h,
12169           ace/Svc_Conf.l:
12170           Added a super-cool new feature that allows us to parse service
12171           configurator directives from a string rather than from a
12172           svc.conf file.
12174         * ace/Svc_Conf.l (yywrap): Free up ace_yy_current_buffer in yywrap
12175           to prevent a memory leak.  Thanks to Paul Motuzenko
12176           <p_motuzenko@hotmail.com> for reporting this.
12178         * examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp: Enhanced the
12179           implementation to make it easier to follow and to support the
12180           latest features of CPP-inclient.cpp.
12182         * ace/OS.h (ACE_OS): Added a wrapper for strcspn(3s).
12184         * examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp: Added more
12185           cool changes to the CPP-inserver.cpp example and renamed it.
12187 Thu May 14 14:46:02 1998  Irfan Pyarali <irfan@cs.wustl.edu>
12189         * ace/OS.h: Moved the definition of ACE_Export before it is used.
12191 Thu May 14 13:22:46 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
12193         * ace/Message_Block.h:
12194         * ace/Message_Block.cpp:
12195           The static duplicate() method can take pointer to a const
12196           Message_Block.
12198 Wed May 13 18:46:28 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
12200         * examples/IPC_SAP/SOCK_SAP/CPP-{inserver,inclient}.cpp: Added
12201           profile timing to the server so we can compute socket
12202           performance metrics.  Also generalized the tests so we can
12203           experiment with both oneway and twoway calls.
12205 Wed May 13 19:20:27 1998  James C Hu  <jxh@cs.wustl.edu>
12207         * ace/OS.h:
12208         * ace/OS.i:
12209         * ace/OS.cpp: Added a substitute gets implementation for when
12210           ACE_LACKS_GETS.  The substitute is actually safer than gets, so
12211           I may end up making gets call the new routine instead of
12212           Standard C's.
12214         * ace/config-g++-common.h: Changed the g++ common file so that
12215           2.8.1 acts like EGCS does.  This worked on Solaris 2.5.1.  We'll
12216           see how other's fare.
12218 Wed May 13 18:13:12 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
12220         * ACE version 4.5.3 released.
12222 Wed May 13 11:29:56 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12224         * performance-tests/Synch-Benchmarks/Options.cpp (print_results):
12225           My previous change to add print_results functionality when
12226           ACE_HAS_GETRUSAGE broke this on Win32.
12228         * ace/config-g++-common.h (ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS):
12229           Made this macro defined for all versions of g++.
12231 Wed May 13 09:26:48 1998  David L. Levine  <levine@cs.wustl.edu>
12233         * many *.{h,i,cpp,idl} files:  inserted RCS keyword string.
12235 Wed May 13 00:35:25 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
12237         * ace: Added ACE_Export to a bunch of class in ACE.  Thanks to
12238           Gonzalo A. Diethelm (gonzo@ing.puc.cl) for pointing this out.
12240 Tue May 12 15:16:04 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12242         * ace/config-WinCE.h:
12243         * ace/OS.h: Stopped using non-static object manager for CE.  This
12244           is causing some problem at process shutdown.
12246         * ace/Acceptor.cpp: Made CE friendly.
12248         * ace/Process.cpp ([~]ACE_Process_Options): Moved things around to
12249           avoid compilation errors on CE.  Secret: CE doesn't have
12250           environment variables.
12252 Tue May 12 13:28:05 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
12254         * ace/OS.h:
12255           The ACE_INLINE_FOR_GNUC macro must be defined (as the null
12256           token) if ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTION is not
12257           defined.
12259 Tue May 12 12:30:55 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12261         * ace/README:
12262         * ace/config-g++-common.h (ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS):
12263           Added this new macro to get around a bug which only happens in
12264           GNUC 2.7.xx.  It mistakenly refers to the template definition as
12265           the place where a function is used.
12267         * ace/OS.h (ACE_INLINE_FOR_GNUC): Added the macro to fix the GNUC
12268           bug.
12270         * ace/Thread_Manager.h: Added above macro to set_next and
12271           get_next.
12273 Tue May 12 12:11:36 1998  Bob Laferriere  <laferrie@gsao.med.ge.com>
12275         * ace/Process.{h,cpp}: modifications to make the environment buffer
12276           and number of environment variables tunable in the constructor.
12277           I also fixed a logic error which previously attempted to write
12278           beyond an array bounds of the array of pointers into the
12279           environment buffer. I made the environment_argv_ buffer tunable
12280           as well. The new constructor takes the old hardcoded static sizes
12281           as the default dynamic sizes for backwards compatiblity.
12282           The behavior is to return -1 if the maximum buffer size or
12283           maximum number of environment arguments has been reached in
12284           following with the prior behavior. I opted not to make the members
12285           grow as needed so the class would still follow it's prior behavior.
12286           This would be simple to add, however.
12288 Tue May 12 08:29:50 1998  David L. Levine  <levine@cs.wustl.edu>
12290         * ace/Malloc.cpp (ACE_Allocator::instance): replaced dynamic
12291           allocation of the default ACE_Allocator with allocation from
12292           the data segment.  Thanks to Ben Eng <ben@jetpen.com> for
12293           providing the stack trace that revealed the problem.
12295         * ace/Malloc.h: added comments to not add data members to
12296           ACE_Allocator or ACE_New_Allocator.
12298         * bin/g++dep: changed PATH to pick up /project/doc/pkg/gnu/bin/g++,
12299           and removed GNUG_INCLUDE.  Thanks to Ganesh Pai <gpai@voicetek.com>
12300           for reporting problems with the old version on Linux.
12302 Tue May 12 02:59:27 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12304         * performance-tests/Misc/childbirth_time.cpp: Added ACE_OS::sleep
12305           (0) before all timing sections start.  This ensures we own a
12306           fresh time slice when the timing begin and reduce the chances of
12307           getting preempted
12309 Tue May 12 00:42:05 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12311         * bin/dsp2dsp.pl: This file clones a new MSVC 5.0 dsp file based
12312           on setting from another dsp file.  It is most useful in adding
12313           new project files into tests/.
12315         * tests/WinCE/*: New project files.  Updated the workspace.
12316           Please see CE-status for the current progress.
12318         * tests/Buffer_Stream_Test.cpp:
12319         * tests/Conn_Test.cpp:
12320         * tests/Enum_Interfaces_Test.cpp:
12321         * tests/Handle_Set_Test.cpp:
12322         * tests/Hash_Map_Manager_Test.cpp:
12323         * tests/Message_Block_Test.cpp:
12324         * tests/Reactors_Test.cpp:
12325         * tests/Thread_Manager_Test.cpp:
12326         * tests/Thread_Mutex_Test.cpp: Made CE friendly.
12328         * tests/test_config.h: Moved some common definitions shared among
12329           CE and other platforms out.
12331         * ace/Acceptor.cpp:
12332         * ace/Acceptor.h:
12333         * ace/Connector.cpp:
12334         * ace/Connector.h:
12335         * ace/Stream.cpp:
12336         * ace/Svc_Handler.cpp:
12337         * ace/Svc_Handler.h:
12338         * ace/Synch.h:
12339         * ace/Synch.i: CE stuff.
12341         * ace/config-WinCE.h: Defined ACE_DEFAULT_SERVER_HOST in UNICODE
12342           here to overwrite the default setting.
12344         * ace/Synch.i (ACE_Lock): CE needs a default ctor here.
12346 Mon May 11 15:43:01 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12348         * tests/WinCE/ce_tests.dsw:
12349         * tests/WinCE/Atomic_Op_Test.dsp:
12350         * tests/WinCE/Barrier_Test.dsp:
12351         * tests/WinCE/Basic_Types_Test.dsp:
12352         * tests/WinCE/Map_Manager_Test.dsp: Added/Updated project files.
12354         * tests/Atomic_Op_Test.cpp:
12355         * tests/Barrier_Test.cpp:
12356         * tests/Basic_Types_Test.cpp: Made them CE friendly.
12358         * ace/config-WinCE.h: Only define ACE_LACKS_INLINE_FUNCTIONS when
12359           building debug version of ACE for SH series CPU.
12361         * WindozeCE/WindozeCEDlg.cpp: Updated the initial message after the
12362           display window but before ACE console progrm started.
12365 Mon May 11 15:43:01 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12367         * ace/OS.{i,cpp}: Moved CE's impelmentation of ACE_OS::fprintf to
12368           cpp file.
12370 Mon May 11 15:15:24 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
12372         * ace/Thread_Manager.h:
12373           Removed bogus ACE_INLINE macros in class declaration, they were
12374           making the SGI compiler *very* unhappy.
12376 Mon May 11 15:11:11 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12378         * ace/OS.cpp (ctime_r): Renamed the fmtstr to
12379           ACE_OS_CTIME_R_FMTSTR for we may need to use similar scheme to
12380           fix other bugs in the future.
12382 Mon May 11 14:50:47 CDT 1998  Everett Anderson  <eea1@cs.wustl.edu>
12384         * ace/Name_Proxy.cpp: Changed one last recv to recv_n.
12386 Mon May 11 13:14:22 1998  Chris Gill  <cdgill@cs.wustl.edu>
12388         * ace/RB_Tree.{cpp,h,i}: (new) Red-Black Tree data structure
12389           implementation.  A Red-Black Tree is an efficient
12390           self-balancing binary tree that uses recoloring to
12391           minimize rotations while rebalancing on insertion or
12392           deletion of a tree node.  Items in the tree are stored
12393           according to a key provided at insertion.  This
12394           implementation is an OO rendition of the ADT described
12395           in Cormen, Leiserson, Rivest, "Introduction to Algorithms"
12396           (c) 1990, MIT.
12398 Mon May 11 12:31:41 1998  Steve Huston  <shuston@riverace.com>
12400         * ace/OS.h: Made ACE_LD_SEARCH_PATH, ACE_LD_SEARCH_PATH_SEPARATOR_STR,
12401           ACE_DLL_PREFIX, ACE_DLL_SUFFIX settable via config.h.
12403         * ace/config-hpux-10.x.h:
12404           ace/config-hpux11.h: Set ACE_LD_SEARCH_PATH, ACE_DLL_SUFFIX.
12405           Thanks to Kirill Rybaltchenko and David Levine for identifying
12406           this problem.
12408 Mon May 11 12:27:05 1998  David L. Levine  <levine@cs.wustl.edu>
12410         * ace/ACE.cpp (send_n): retry if ACE::send () fails due to
12411           EWOULDBLOCK.  Thanks to Dave Brackman <dbrackma@OhioEE.com>
12412           for reporting this.
12414         * tests/Env_Value_Test.cpp (main): check return values of
12415           options.setenv () calls.  Thanks to Bob Laferriere
12416           <laferrie@gsao.med.ge.com> for recommending this.
12418         * include/makeinclude/platform_vxworks5.x_ghs.GNU: instead of
12419           using GNU ranlib386 after using GHS ax for i386 targets, just
12420           use GNU ar386.
12422         * ace/gethrtime.cpp: added some comments about GHS asm support.
12424         * java/netsvcs/{Logger,Time}/Makefile,
12425           java/tests/netsvcs/Logger/Makefile:
12426           replaced WRAPPER_ROOT with ACE_ROOT.
12428 Mon May 11 05:14:18 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12430         * ace/config-WinCE.h: Added ACE_HAS_NON_STATIC_OBJECT_MANAGER.  CE
12431           console programs have to set this flag because the main
12432           functions is actually renamed and running in a threads.
12434         * tests/test_config.h: Excluded class and macros to redirect
12435           debugging messages to files under CE.  This make debugging a bit
12436           easier but we should eventually put them back under CE.
12438         * tests/Map_Manager_Test.cpp: Made CE friendly.
12440         * ace/Hash_Map_Manager.cpp: Some ACE_ERROR were not CE friendly.
12442         * ace/Profile_Timer.{h,i}:
12443         * ace/Synch.{h,i}: Moved inline function definitions to Synch.i
12444           file.  Windows CE can't grok any inline at all.
12446 Mon May 11 02:43:45 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12448         * performance-tests/Misc/childbirth_time.cpp (main): Added
12449           a new method for benchmarking ACE_Thread_Manager::spawn_n.
12450           Added other cosmetic changes.
12452 Sun May 10 23:20:36 1998  Irfan Pyarali  <irfan@cs.wustl.edu>
12454         * ace/Token.cpp: Adding more debugging statements.
12456         * ace/Asynch_Acceptor.cpp (should_reissue_accept): Added template
12457           method that decides whether a new asynchronous accept should be
12458           issued.
12460 Sun May 10 23:28:57 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12462         * ace/OS.cpp(inherit_log_msg):
12463         * ace/Log_Msg.cpp (thr_desc): Wait on Thread_Descriptor's lock
12464           instead of the "global" Thread_Manager lock.
12466         * ace/Thread_Manager.cpp: Moved acquire_release() from
12467           ACE_Thread_Manager to ACE_Thread_Descriptor.  This method is
12468           called from ACE_Log_Msg::thr_desc to prevent a thread from using
12469           its thread descriptor before it is fully built.  The change
12470           relieve spwaned threads from waiting for other threads created
12471           in the same spwan_n call to be created before it can start
12472           running.
12474           (insert): Added an extra argument to control whether we want to
12475           insert the newly created thread into ACE_Thread_Manager's thread
12476           table or not.  Notice that it is default to 1 to remain the
12477           original behavior in case anyone is using this class/function
12478           directly in their code.  However, in ACE_Thread_Manager, we
12479           always prevent it from inserting because we always register
12480           thread descriptors from spawn_i.
12482 Sun May 10 01:51:29 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12484         * ace/OS.h: Renamed ACE_OS::Time_To_The_Beginning to
12485           ACE_OS::FILETIME_to_timval_skew.
12487         * ace/OS.cpp: Found the problem in ACE_OS::ctime_r.  An internal
12488           compiler bug (?) caused the bug.  The solution: move the format
12489           string out as a const string instead of putting it in sprintf
12490           directly.  Weird.
12492         * ace/Log_Record.{h,cpp}: Made priority_name_ and its access
12493           function CE friendly.
12495 Sat May  9 20:09:13 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12497         * ace/Thread_Manager.h: Changed the type of lock used by
12498           <thread_desc_freelist_> to ACE_SYNCH_MUTEX.  Or else, it won't
12499           compile on platforms that doesn't support thread.  Thanks to
12500           Woody Zenfell <woody@arl.wustl.edu> for reporting this.
12502 Fri May 08 22:29:01 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12504         * ace/SOCK_Dgram_Mcast.cpp (subscribe): CE UNICODE related fix.
12506 Fri May  8 14:18:46 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12508         * ace/Thread_Manager.h (ACE_Thread_Descriptor): Added ACE_INLINE
12509           to declarations of set_next and get_next to get around a bug in
12510           a version of g++.
12512 Fri May  8 11:57:23 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>
12514         * ace/Map_Manager.cpp: Fixed a bug where we weren't calling
12515           close_i() when resizing the buffer.
12517         * ace/Thread_Manager.cpp (set_grp): In
12518           ACE_Thread_Manager::{get,set}_grp we must check to see that we
12519           have a valid pointer after the ACE_FIND.  Otherwise a seg fault
12520           occurs.  Thanks to Chris Lahey <CLahey@cccis.com> for reporting
12521           this.
12523 Fri May 08 09:47:50 1998  David L. Levine  <levine@cs.wustl.edu>
12525         * ace/config-linux-common.h: only use ACE_HAS_POLL with glibc2.
12526           Thanks to Saneyasu <sane@sail.t.u-tokyo.ac.jp> for reporting
12527           this.
12529         * ace/OS.i (sleep): On Linux without ::poll () (prior to glibc),
12530           copy the ACE_Time_Value argument because the system modifies it.
12532         * include/makeinclude/platform_osf1_4.0.GNU: moved -lm from LIBS
12533           to MATHLIB.
12535         * performance-tests/UDP/Makefile: added $(MATHLIB) to LDLIBS.
12537         * tests/Aio_Platform_Test.cpp (have_asynchio): use
12538           _SC_LISTIO_AIO_MAX instead of _SC_AIO_LISTIO_MAX if it's
12539           #defined.  It is on DU 4.0.
12541 Fri May 08 08:43:42 1998  Steve Huston  <shuston@riverace.com>
12543         * include/makeinclude/platform_hpux_gcc.GNU: Added $(PIC) to
12544           definition of SOFLAGS.  Thanks to Kirill Rybaltchenko
12545           <Kirill.Rybaltchenko@cern.ch> for this fix.
12547         * ace/SOCK_Dgram_Mcast.cpp (subscribe): Added code for Win32 so that
12548           if a subscribe is done without specifying an interface, the mcast
12549           address is subscribed to on each non-loopback interface.  This works
12550           around a bug in NT's winsock in the presence of multiple IP
12551           interfaces.  Won't hurt 95 - will just run a bit slower than it
12552           otherwise would.
12554         * examples/Reactor/Multicast/Multicast.{mdp,mak}: Added MSVC 4.2
12555           workspace for this example.
12557 Fri May  8 03:43:25 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12559         * ace/Thread_Manager.{h,cpp}: Added yet one more member variable
12560           into Thread_Descriptor to keep track of registration of
12561           Thread_Descriptors.  By adding this variable, we can avoid an
12562           extra locking in remove_thr for most cases (normal cases ;-).
12563           Thanks to the inspiration from Arturo Montes
12564           <mitosys@colomsat.net.co>.
12566 Thu May 07 22:06:13 1998  Ben Eng  <ben@jetpen.com>
12568         * ace/config-kcc-common.h,config-linux-{common,kcc}.h: updated
12569           KCC/Linux support, and integrated into config-linux-common.h.
12571 Thu May  7 20:32:20 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
12573         * examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp
12574           (main): Oops, we need to move the unlink() AFTER we create the
12575           file...  Thanks to Sandro Doro <doros@aureus.sublink.org> for
12576           reporting this.
12578 Thu May 07 19:08:22 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
12580         * ACE version 4.5.2 released.
12582 Thu May  7 14:10:41 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>
12584         * ace/Timer_Hash_T.h:
12585         * ace/Timer_Hash_T.cpp:
12586         * ace/Timer_Heap_T.cpp:
12587         * ace/Timer_Wheel_T.cpp:
12588           The classes had a INHERITED typedef for the base class, but
12589           Solaris defines a macro by the same name. This causes very weird
12590           problems with EGCS (and probably other g++ versions).
12592 Thu May 07 04:15:23 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12594         * ace/Profile_Timer.cpp (elapsed_time): Treat Win32 differently
12595           so I can use this function with WinCE Emulation build.  The
12596           problem is that Win32 can't convert __int64 to double.
12598         * ace/OS.{h,cpp} (ACE_Time_Value): (Win32 only) Added a new static
12599           const member (Time_To_The_Beginning) of type DWORDLONG (unsigned
12600           _int64) to adjust the time skew between FILETIME and POSIX time.
12601           Changed the type of _100ns to ULARGE_INTEGER to eliminate
12602           unnecessary computation.
12604 Wed May  6 23:58:40 1998  Carlos O'Ryan  <coryan@swarm.cs.wustl.edu>
12606         * ace/XtReactor.cpp:
12607           The signature for the open() method of the notify pipe has been
12608           modified.
12610 Wed May  6 23:28:47 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>
12612         * examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp:
12613           Fixed a couple of mistakes that were causing the UNIX domain
12614           sockets not to work.  Thanks to Sandro Doro
12615           <doros@aureus.sublink.org> for recommending this.
12617         * performance-tests/Misc/context_switch_time.cpp (svc): An 'i'
12618           was being defined twice, gorp!  It's fixed now!
12620 Wed May 06 22:00:14 1998  David L. Levine  <levine@cs.wustl.edu>
12622         * ace/config-linux-common.h: only #define
12623           ACE_HAS_4_4BSD_SENDMSG_RECVMSG with __GLIBC__.  Thanks
12624           to Chanaka Liyanaarachchi <chanakal@ittc.ukans.edu> for
12625           reporting the lack of CMSG_DATA support on RedHat 4.2.
12627 Wed May 06 18:35:21 1998  Steve Huston  <shuston@riverace.com>
12629         * ace/ACE.cpp (get_ip_interfaces): Reset buf_len before each call to
12630           get_reg_key to get registry value for device's IP address.  It gets
12631           overwritten on each call to get_reg_key.
12633         * include/makeinclude/platform_mvs.GNU: Added definition for PIC.
12634           Though not related to position-independent-code, it is a switch that
12635           makes shared lib builds work right.  Removed the old SOBUILD def.
12636           Thanks to Chuck Gehr for helping with this strategy.
12638 Wed May 06 16:32:53 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12640         * ace/Filecache.h (ACE_Filecache_Handle): Removed
12641           ACE_EXPORT_DECLARE and specified ACE_Export directly for
12642           ACE_Filecache_Handle and ACE_Filecache in calss declarations.
12644         * ace/Thread_Manager.{h,i,cpp}: A bug was found by Arturo Montes
12645           <mitosys@colomsat.net.co> who noticed that when a thread was
12646           spawned and then exited immediately, its thread descriptor might
12647           get freed before even get registered into the thread table kept
12648           by the Thread_Manager.  Although it doesn't make any sense to
12649           spawn a thread just to let it return immediately, a middleware
12650           shouldn't restrict the way how users want to use it.
12652           I got around this problem by adding a lock into
12653           Thread_Descriptor.  Before spawning a thread, the Thread Manager
12654           will first grab the lock.  It won't release the lock until
12655           calling append thread, at which point, the Thread_Descriptor of
12656           the thread has been stashed into the table.  Removing the
12657           Thread_Descriptor also requires to hold this lock and release
12658           the lock before the Thread_Descriptor is "freed."  Therefore,
12659           if a thread exit before its Thread_Manager ever gets a chance to
12660           register it, it will block and waiting.
12662           The type of the lock is defined by ACE_DEFAULT_THREAD_MANAGER_LOCK
12663           which, by default, is ACE_Thread_Mutex.  User can change the
12664           definition by defining in their config.h file.  For example, if
12665           you can be sure that all your threads will run for an extended
12666           long time (which, in most case, should be true,) you can disable
12667           this feature by defining this as a ACE_Null_Mutex to speed up
12668           spawning and termination of threads.
12670           (thread_desc_freelist_): Added a free list to Thread_Manager to
12671           recycle Thread_Descriptor.  By default, this free list
12672           pre-allocate 0 Thread_Descriptor and has low-water-mark of 1,
12673           increment count 1 and a huge (25000) high water mark.  That is,
12674           if you use a Thread_Manager for an extended period of time, you
12675           won't have to dynamically allocate memory for Thread_Descriptor
12676           for every thread after your system is stable (the thread count
12677           fluctuates between some certain values.)
12679           There are two ways to change the settings.  First, by defining
12680           ACE_DEFAULT_THREAD_MANAGER_LWM, ACE_DEFAULT_THREAD_MANAGER_HWM,
12681           ACE_DEFAULT_THREAD_MANAGER_INC, and
12682           ACE_DEFAULT_THREAD_MANAGER_PREALLOC in your <config.h> file.
12683           This changes the default setting of your ACE.  (The global
12684           Thread_Manager use this setting.)  Or, you can specify these
12685           values when creating a Thread_Manager.
12687         * ace/Free_List.cpp (alloc,dealloc): Don't grab the lock in these
12688           two functions.  They only get called from add() and remove()
12689           which hold the lock before making the call.  Actually, they also
12690           gets called from the constructor and destructor.  But that
12691           shouldn't be a problem.
12693         * tests/Reactor_Notify_Test.cpp (run_test): Moved the #endif of
12694           ACE_HAS_THREADS down to avoid compilation error on non-threaded
12695           platforms.
12697 Tue May  5 14:12:08 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>
12699         * include/makeinclude/platform_sco5.0.0-fsu-pthread.GNU: Added a
12700           platform config file courtesy of Arturo Montes
12701           <mitosys@colomsat.net.co>.
12703 Tue May 05 08:35:18 1998  David L. Levine  <levine@cs.wustl.edu>
12705         * ace/config-irix6.x-sgic++-nothreads.h: updated the determination
12706           of ACE_SIZEOF_LONG_DOUBLE.  Thanks to Bob Laferriere
12707           <laferrie@gsao.med.ge.com> for providing the fix.
12709         * include/makeinclude/platform_sunos5_g++.GNU: use -gstabs+ instead
12710           of -g on Solaris86.
12712         * etc/Svc_Conf_l.cpp.diff: updated.  It's magic, Nanbor :-)
12713           The problem seems to be due to an old version left in
12714           /tmp/Svc_Conf_l.cpp, which confuses flex.
12716         * ace/config-linux-common.h,config-g++-common.h: moved
12717           ACE_HAS_PENTIUM (with i386) from config-linux-common.h
12718           to config-g++-common.h.
12720         * ace/config-linux-common.h: added ACE_HAS_POLL, so we
12721           don't use ::select () in ACE_OS::sleep ().  Linux's
12722           ::select () modifies its timeout argument!
12724         * ace/OS.i (gethrtime): added RDTSC support for all g++
12725           _and_ ACE_HAS_PENTIUM platforms.
12727         * ace/config-vxworks5.x.h: added ACE_HAS_PENTIUM with GHS
12728           on Intel platforms.
12730         * ace/Makefile: for GHS on Intel 8086, build gethrtime.cpp.
12731           It's used to provide a high-resolution time using the
12732           Pentium RDTSC instruction.  I don't know how to get
12733           GHS' asm to do it, so it uses g++.
12735         * ACE-INSTALL.html: added note about carefully installing
12736           egcs on Linux.  Thanks to Kurt Sussman <kls@best.com> for
12737           tracking down the cause of mysterious link failures.
12739 Tue May 05 02:15:49 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12741         * ace/Svc_Conf_l.cpp: I know, I know.  I shouldn't mess with this
12742           file directly.  But I couldn't manufacture this file even with
12743           the stock Svc_Conf.l using Doug's flex.  So, I reckon I'll just
12744           check this in now and fix the Svc_Conf_l.diff later.
12746         * ace/Service_Config.{h,cpp} (process_directive): Standard CE
12747           stuff.
12749         * WindozeCE/WinAdapter*.*:
12750         * WindozeCE/WindozeCE*.*: Replaced the old adapter for CE with a
12751           new one.  The new version allows uses to scroll thru the
12752           "console" output.
12754 Mon May 04 17:09:39 1998  David L. Levine  <levine@cs.wustl.edu>
12756         * performance-tests/Misc/context_switch_time.cpp: lots of
12757           cleanup.  The main changes were the use of ACE_THR_PRI_FIFO_DEF
12758           for the default therad priority, and removal of some
12759           unnecessary thr_yield () calls.
12761         * tests/Aio_Platform_Test.cpp: added arguments to main (),
12762           removed #includes that are already in ace/OS.h, and added
12763           ACE_START_TEST/ACE_END_TEST calls.
12765 Mon May  4 13:08:18 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>
12767         * ace/config-sunos5.6.h: Removed a mysterious "30" at the end of
12768           an #undef.  Thanks to J. Russell Noseworthy
12769           <rnosewor@objectsciences.com> for reporting this problem.
12771 Mon May 04 08:49:09 1998  David L. Levine  <levine@cs.wustl.edu>
12773         * ace/OS.cpp (ACE_Thread_Adapter::invoke): with ACE_NEEDS_LWP_PRIO_SET,
12774           added the call to ACE_OS::thr_setprio () so that the LWP priority
12775           will be set if running in the RT class.  Applications no longer
12776           have to be concerned with this.
12778         * performance-tests/Misc/preempt.cpp (svc): removed
12779           ACE_OS::thr_setprio () calls to set LWP priority, now that ACE
12780           handles that internally.
12782         * include/makeinclude/platform_*linux.GNU: added "s" to
12783           ARFLAGS, so that ranlib is no longer necessary.
12785 Sun May 03 22:37:38 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12787         * ace/Parse_Node.cpp (open_handle): WinCE doesn't support
12788           ExpandEnvironmentStringA.
12790         * ace/config-win32-common.h: Only define ACE_HAS_GETRUSAGE when
12791           ACE_HAS_WINNT4 != 0.  Thanks to Paul Motuzenko
12792           <p_motuzenko@hotmail.com> for reporting this.
12794 Sun May 03 01:58:47 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>
12796         * ACE version 4.5.1 released.
12798 Sat May  2 14:35:04 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>
12800         * tests/Reactor_Notify_Test.cpp: Factored out some common code to
12801           make the test more concise.
12803         * tests/Reactor_Notify_Test.cpp: Modified the test to check
12804           whether our new mechanism for disabling the notify pipe works
12805           correctly.
12807         * ace/{WFMO,Select}_Reactor[_Impl]: Added the
12808           "disable_notify_pipe" flag in the constructor in order to
12809           disable this feature and save on descriptors if they aren't
12810           required.  Thanks to Tom Venturella <tventurell@mdc.com> for
12811           motivating this.
12813 Sat May 02  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>
12815         * tests/Aio_Platform_Test.cpp: Included this test program for
12816         testing a platform for Asynchronous I/O options.
12817         * tests/Makefile (BIN): Added Aio_Platform_Test.
12819 Fri May 01 17:52:32 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12821         * ace/Arg_Shifter.{h,cpp}: Added macros ACE_Export and
12822           ACE_BUILD_DLL respectively.
12824         * ace/ACE_Library.mak:
12825         * ace/ace_{dll,lib}.dsp: Added Arg_Shifter.cpp into project.
12827 Fri May  1 13:52:32 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>
12829         * ace/Addr: Made the destructor for ACE_Addr virtual so that
12830           subclasses can be deleted correctly.  Thanks to Wei Chiang
12831           <chiang@horizon.ntc.nokia.com> for reporting this.
12833         * ace: Added Arg_Shifter from TAO and renamed it to
12834           ACE_Arg_Shifter.
12836         * ace/IOStream_T.i (recv_n): ACE_IOStream<STREAM>::eof (void) had
12837           a subtle bug if it is called when a get operation (>>) has not
12838           failed.  Thanks to James CE Johnson <ace-users@lads.com> for
12839           reporting this bug.
12841         * examples/Connection/misc/Connection_Handler.cpp: Make sure to
12842           activate() each active object using THR_DETACHED so we don't run
12843           out of threading resources.  Thanks to Brad Walton
12844           <brad.walton@transnexus.com> for reporting this.
12846         * ace/Timer_Queue_Adapters.cpp: Rather than returning the result
12847           of schedule_ualarm(), the
12848           ACE_Async_Timer_Queue_Adapter<TQ>::schedule() method should
12849           return the timer id.  Thanks to James Garrison
12850           <jhg@austx.tandem.com> for reporting this.
12852         * examples/System_V_IPC/SV_Message_Queues: Renamed the so-called
12853           "ACE_Message_Block" to "Message_Block" so it wouldn't be as
12854           confusing.  Thanks to Ganapathi <guns@fs.IConNet.NET> for this
12855           suggestion.
12857 Fri May 01 17:52:32 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12859         * ace/ACE_Library.mak:
12860         * ace/ace_{dll,lib}.dsp: Added Arg_Shifter.cpp into project.
12862 Fri May 01 14:09:21 1998  Steve Huston  <shuston@riverace.com>
12864         * ace/OS.h: Changed ACE_hrtime_t from signed to unsigned on Win32
12865           to insure correct results from ACE_High_Res_Timer::elapsed_time
12866           calculations.  Fixes bug P87.
12868 Fri May 01 11:52:47 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12870         * ace/OS.h: Forgot to redefine ASYS_INLINE after #undef it.
12872         * ace/OS.i (last_error): On Win32, this should also update errno
12873           after calling SetLastError ().  Thanks to Steve for pointing
12874           this out.  Fixes bug P88.
12876 Fri May 01 10:01:09 1998  David L. Levine  <levine@cs.wustl.edu>
12878         * ace/config-sunos5.6.h: replaced config-sunos5.6-sunc++-4.x.h
12879           with this config file, which supports both Sun C++ and g++.
12881         * ace/OS.i (gethrtime): for the default (::gettimeofday) case,
12882           use 64-bit instead of 32-bit arithmetic by casting to ACE_hrtime_t.
12884         * ace/Basic_Types.{h,i}: added ACE_U_LongLong::operator *.
12886         * ace/Env_Value_T.cpp: added #include of Env_Value_T.h.
12888 Fri May  1 00:35:40 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12890         * include/makeinclude/wrapper_macros.GNU
12891           (ACE_LDSO_Version_Number): Fixed the problem of not able to
12892           parse a formal release number from ace/VERSION.
12894 Thu Apr 30 15:53:58 1998  Nanbor Wang  <nanbor@cs.wustl.edu>
12896         * ACE.{h,i,cpp}:
12897         * DEV.{h,i,cpp}:
12898         * DEV_Connector.{h,i,cpp}:
12899         * DEV_IO.{h,i,cpp}:
12900         * Date_Time.{h,i,cpp}:
12901         * FIFO_Recv.{h,i,cpp}:
12902         * FIFO_Recv_Msg.{h,i,cpp}:
12903         * FIFO_Send.{h,i,cpp}:
12904         * FIFO_Send_Msg.{h,i,cpp}:
12905         * FILE.{h,i,cpp}:
12906         * FILE_Connector.{h,i,cpp}:
12907         * FILE_IO.{h,i,cpp}:
12908         * IO_SAP.{h,i,cpp}:
12909         * IPC_SAP.{h,i,cpp}:
12910         * LSOCK.{h,i,cpp}:
12911         * LSOCK_CODgram.{h,i,cpp}:
12912         * LSOCK_Connector.{h,i,cpp}:
12913         * LSOCK_Dgram.{h,i,cpp}:
12914         * LSOCK_Stream.{h,i,cpp}:
12915         * Log_Record.{h,i,cpp}:
12916         * Pipe.{h,i,cpp}:
12917         * SOCK.{h,i,cpp}:
12918         * SOCK_CODgram.{h,i,cpp}:
12919         * SOCK_Connector.{h,i,cpp}:
12920         * SOCK_Dgram.{h,i,cpp}:
12921         * SOCK_Dgram_Bcast.{h,i,cpp}:
12922         * SOCK_Dgram_Mcast.{h,i,cpp}:
12923         * SOCK_IO.{h,i,cpp}:
12924         * SOCK_Stream.{h,i,cpp}:
12925         * SPIPE.{h,i,cpp}:
12926         * SPIPE_Connector.{h,i,cpp}:
12927         * SPIPE_Stream.{h,i,cpp}:
12928         * SV_Message_Queue.{h,i,cpp}:
12929         * SV_Semaphore_Complex.{h,i,cpp}:
12930         * SV_Semaphore_Simple.{h,i,cpp}:
12931         * UPIPE_Acceptor.{h,i,cpp}:
12932         * UPIPE_Connector.{h,i,cpp}: Added inline control for these
12933           supposedly default inline functions.
12935         * ace/config-WinCE.h: Added ACE_LACKS_INLINE_FUNCTIONS.
12937         * ace/OS.h: Added a new macro ASYS_INLINE for platforms that don't
12938           support inline properly.  This is controlled by the macro
12939           ACE_LACKS_INLINE_FUNCTIONS.
12941           Walked thru all macros and indented them properly.
12943         * ace/README: Added documentation for ACE_LACKS_INLINE_FUNCTIONS.