1 Tue Nov 25 16:18:49 1997 David L. Levine <levine@cs.wustl.edu>
3 * ACE version 4.4, released Tue Nov 25 16:18:49 1997.
5 Tue Nov 25 16:03:09 1997 David L. Levine <levine@cs.wustl.edu>
7 * Makefile: fixed Version.h generation to work properly when
10 Mon Nov 24 10:33:34 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
12 * ACE version 4.3.56, released Mon Nov 24 10:33:34 1997.
14 Sun Nov 23 13:32:02 1997 David L. Levine <levine@cs.wustl.edu>
16 * ace/IOStream.h: removed DIGITAL_UNIX from #include decision,
17 so now it just depends on DEC_CXX and its version. Thanks to
18 Dani Flexer <danif@ivory-sw.com> for this fix.
20 * netsvcs/lib/Server_Logging_Handler.cpp: updated template
21 instantiations to match recent change to Server_Logging_Handler_T.h.
23 Sat Nov 22 19:16:35 1997 <irfan@TWOSTEP>
25 * tests/Process_Strategy_Test.cpp:
27 main: Removed signal handling code. It is unnecessary since we
28 do not use kill() anymore.
30 Process_Strategy: This subclass of ACE_Process_Strategy
31 overwrites the process creation method to include connection
34 connection_completed: Made sure that the Reactor is woken up
35 after all the connections have completed.
37 * ace/Priority_Reactor.cpp (init_bucket): Removed extra code.
39 * ace/Acceptor.cpp (activate_svc_handler): open svc_handler only
40 if result is 0. Also removed extra tracing code.
42 * ace/Handle_Set.i (reset): Purify is reporting a UMR
43 (uninitialized memory copy) when copying a Handle_Set. This
44 comes from the mask fd_set not being memset to 0 by FD_ZERO.
45 This is therefore a harmless error.
47 * tests/Priority_Reactor_Test.cpp (main): The ordering of
48 auto_ptrs is very subtle.... "auto_ptr<ACE_Reactor> reactor"
49 should come before "auto_ptr<ACE_Select_Reactor> impl", i.e.,
50 the implementation should be destroyed *before* the forwarding
51 class. This is apparent when the implementation class is
52 removing registered event handlers that hold a pointer to the
55 Sat Nov 22 16:04:07 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
57 * ace/Message_Queue.cpp:
58 Fixed some formating problems in the ACE_Message_Queue::dump
59 method, thanks to Arturo Montes <mitosys@colomsat.net.co> for
62 Sat Nov 22 14:38:22 1997 Steve Huston <shuston@riverace.com>
64 * ace/config-aix-4.2.x.h: Added ACE_TLI_TCP_DEVICE "/dev/xti/tcp".
65 This fixes Riverace problem ID P32; AIX now joins HP-UX in
66 supporting XTI/TLI, but not everything (problem P27).
68 * ace/UPIPE_Connector.h:
69 * ace/TLI_Connector.h: Added meta-type information PEER_ADDR and
70 PEER_STREAM. Fixes Riverace problem ID P37.
72 * apps/JAWS/server/HTTP_Server.cpp: Added 'const' to "char *prog".
73 Fixes Riverace problem P36.
75 * examples/Connection/misc/test_upipe.cpp:
76 * examples/Connection/non_blocking/CPP-connector.cpp:
77 * examples/Threads/process_mutex.cpp:
78 * examples/Threads/process_semaphore.cpp:
79 Added 'const' to "char *" - can't initialize a char * with
80 a const string. Fixes Riverace problem ID P38, P40.
82 * examples/Threads/thread_specific.cpp, tss1.cpp: Moved the Errno
83 class out to a new file, thread_specific.h. AIX xlC needs to have
84 the class in a .h file for template generation. Fixes Riverace
86 * examples/Threads/Makefile: Make sure that, on AIX, the tempinc
87 directory is cleared before building each new program.
89 * performance-tests/Synch-Benchmarks/Makefile: Changed SHLIB to use
90 $(SOEXT) rather than .so. Fixes Riverace problem ID P41.
92 * tests/Thread_Pool_Test.cpp: Moved 'this->getq(mb)' out of an
93 ACE_ASSERT. Thanks to Arturo Montes <mitosys@colomsat.net.co>
96 Sat Nov 22 05:44:10 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu>
98 * tests/Process_Strategy_Test.cpp (main): Shuffled things around
99 in fork() block. This is fun.
101 * ace/Strategies_T.cpp (activate_svc_handler): Added an
102 ACE_UNUSED_ARG macro to muffle g++.
104 * tests/Process_Strategy_Test.cpp (handle_close): Added a return
105 type specifier. Without it, g++ laments.
107 * ace/Acceptor.cpp (activate_svc_handler): Should be if (open (...) ==
108 -1) then error, not if (open (...) != -1) then error.
110 * ace/ACE.cpp (set_handle_limit): Removed a duplicated ACE_TRACE
113 Sat Nov 22 00:26:11 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu>
115 * ace/Thread_Manager.cpp (close): Activated automatic wait on
116 close functionality. I think I get it right this time.
118 Fri Nov 21 19:59:37 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
121 Added a couple of ACE_NOTREACHED protections. Thanks to Brian
122 Mendel <bmendel@mdc.com> for reporting this.
124 Fri Nov 21 17:12:48 1997 <nw1@CHA-CHA>
126 * ace/Thread_Manager.cpp (close): Deactivated automatic wait on
127 close for now. It doesn't seem to work on Solaris.
129 * ace/Thread_Manager.{h,cpp} (wait): Added codes to remove detached
130 threads. This function can be activated selectively. I added
131 this so we can ignore detached threads when closing down the
132 default thread manager.
134 (close): Activated the code to wait (join) all threads managed
135 by the thread manager. It will ask wait function to remove all
136 detached thread first (and so they won't be counted into threads
139 Fri Nov 21 13:22:25 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
141 * ACE version 4.3.55, released Fri Nov 21 13:22:25 1997.
143 Fri Nov 21 12:18:28 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
145 * ace/Acceptor.cpp,Strategy_T.cpp: Removed the use of gotos. See
146 Dijkstra '67 for motivation...
148 * tests/Process_Strategy_Test.cpp (open): Make sure that we set
149 the Reactor of the Svc_Handler to 0 if we're running the
152 * tests/Reactor_Notify_Test.cpp: Added back THR_BOUND to
153 make things work on Solaris.
155 Fri Nov 21 02:23:47 1997 <irfan@TWOSTEP>
157 * tests/Process_Strategy_Test.cpp:
159 - The event loop execution was based on a fragile timeout
160 mechanism. This was changed to a more robust mechanism that
161 counts the connections.
163 - The unlinking of the file was moved from the server to the
164 client. This is necessary since there maybe multiple server
165 processes that cannot really coordinate when the file should
168 * ace/Strategies_T.cpp (ACE_Concurrency_Strategy):
169 ACE_Concurrency_Strategy and all three of the subclasses
170 (ACE_Reactive_Strategy, ACE_Process_Strategy, and
171 ACE_Thread_Strategy) were messed up. Only ACE_Reactive_Strategy
172 was (trying) to set the correct blocking mode of the socket.
173 Therefore, moved the socket mode setting code to the base class,
174 ACE_Concurrency_Strategy, so that all the classes can share it.
176 This did create one problem though. If the implementation of
177 the reactor uses event associations (i.e., WFMO_Reactor), we
178 cannot try to set the socket mode since the registration of the
179 svc_handler caused an event association to be created for the
180 socket and by default (thanks Microslush) the socket is set to
181 non-blocking mode. If the user is excepting to have a socket in
182 blocking mode, he is in for a surprise. Maybe we should return
183 a failure if the user is expecting a socket in blocking mode.
184 This is probably too harsh for now.
186 * tests/Future_Test.cpp (open): Added THR_DETACHED since we don't
187 wait for this thread.
189 * tests/Reactor_Notify_Test.cpp (open): Changed THR_BOUND to
190 THR_DETACHED since we don't wait for this thread.
192 * tests/IOStream_Test.cpp (server): Make sure to close the socket
193 in ACE_SOCK_Acceptor and ACE_SOCK_IOStream.
195 * ace/WFMO_Reactor.cpp (open): When I changed open() last, I
196 ignored the order of the registeration of notify_handler_ and
197 wakeup_all_threads_handler_. Unfortunately, the order of the
198 two registrations is very important since the optimization for
199 owner thread takes advantage of this ordering. Therefore,
200 revert the order of registertion to notify_handler_ followed by
201 wakeup_all_threads_handler_.
203 * tests/version_tests/run_all_tests.bat: Added new bat file to
204 make the running of all the different configurations easier.
206 * tests/version_tests/version_tests.{mak,mdp}: Added a mammoth
207 testing scheme that is used to test all 8 configurations of the
208 tests under Win32. These 8 configurations are:
217 static Unicode Release
219 run_tests.bat from the test directory can then be used to run
220 these various configurations. run_tests.bat was also extended
221 to allow the user to purify the tests. Simply execute
222 run_tests.bat with the purify command line option.
224 Thu Nov 20 17:43:15 1997 <nw1@COYOTE>
226 * ace/Thread_Manager.cpp (kill_thr): Changed to prevent thread
227 manager from "discard" a thread when a certain operation is not
228 supported by the operation system. Removed the mechanism that
229 preserves errno during "thread removal." We no longer remove
230 thread right after an error occured.
232 Thu Nov 20 17:53:35 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
234 * examples/Shared_Malloc/test_multiple_mallocs.cpp (main): Make
235 sure make sure that the semaphores created by the program are
236 released as well as the storage files deleted. Thanks to Tom
237 Arbuckle <arbuckle@uran.informatik.uni-bonn.de> for reporting
240 * ace: Added a new version of config-osf1-3.2.h. Thanks to Dani
241 Flexer <danif@ivory-sw.com> for updating this.
243 Thu Nov 20 18:22:24 1997 Steve Huston <shuston@riverace.com>
249 Changed from using hardcoded "/dev/tcp" as the XTI device name to
250 a new config-related define, ACE_TLI_TCP_DEVICE. If the config
251 doesn't set one, it defaults to "/dev/tcp". Thanks to Steve Coy
252 <stevec@magna.com.au> for zeroing in on this problem in HP-UX.
254 ace/config-hpux-10.x.h: ACE_TLI_TCP_DEVICE is "/dev/inet_cots".
255 Note that XTI won't work 100% well on HP still - this is Riverace
258 * netsvcs/lib/Server_Logging_Handler_T.h: Hardcoded to always use
259 ACE_SOCK_Stream (and friends) rather than ACE_TLI_Stream and friends.
260 XTI doesn't work real well on some platforms (particularly HP-UX
261 and AIX). When they're fixed, this can be undone (Riverace problem
264 * examples/IPC_SAP/TLI_SAP/CPP-client.cpp: Changed 'char *host' to
265 'const char *host' so it can be initialized from a const char string.
267 Thu Nov 20 14:19:57 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
269 * tests/Priority_Reactor_Test.h:
270 * tests/Priority_Reactor_Test.cpp:
271 The test has a limited execution time now, and only reports a
272 warning if runs out of time. This may be due to some failed
273 connections, but it is hard to avoid that. On the other hand
274 the default time should be large enough, in our machines the
275 test only takes 14 seconds, so 60 seconds should be enough.
276 NOTE: this problem reveals a problem *only* in the test itself
277 not in ACE_Priority_Reactor.
279 Thu Nov 20 11:29:51 1997 David L. Levine <levine@cs.wustl.edu>
281 * ace/Timer_{Heap,List}_T.{h,cpp}: added
282 ACE_Timer_{Heap,List}::get_first () accessors. Thanks to
283 Stephen Henry <shenry@mdc.com> for this suggestion.
285 Thu Nov 20 11:27:44 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
287 * ACE version 4.3.54, released Thu Nov 20 11:27:44 1997.
289 Thu Nov 20 10:45:08 1997 <irfan@TWOSTEP>
291 * tests/MT_SOCK_Test.cpp: Uncommented socket close call.
293 * ace/WFMO_Reactor.cpp (open): Open the notification handler
294 *after* the timer queue has been created.
296 * ace/ACE.cpp (get_ip_interfaces): Changed rep() to fast_rep() to
299 * ace/Reactor.cpp (ACE_Reactor): Fixed error of not creating any
302 Thu Nov 20 08:36:54 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu>
304 * ace/Thread_Manager.{h,cpp}: Added a dummy argument to internal
305 thread functions. Without them, MSVC wrongly optimizes codes
306 and the stack were all clobbered when entering these functions.
308 Wed Nov 19 23:24:03 1997 <nw1@CHA-CHA>
310 * ace/Reactor.cpp: Rearragned macros so we use Select_Reactor as
311 default if we don't have Winsock2. Irfan did it, not me.
313 Wed Nov 19 22:11:20 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
315 * ACE version 4.3.53, released Wed Nov 19 22:11:20 1997.
317 Wed Nov 19 15:55:52 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu>
319 * config-netbsd.h: NetBSD 1.3alpha has a better MSYNC. Commented out
320 ACE_HAS_BROKEN_NETBSD_MSYNC
322 Wed Nov 19 14:26:36 1997 Nanbor Wang <nw1@lindy.cs.wustl.edu>
324 * stdcpp.h, OS.h: Changed ACE_CONFIG_H to ACE_USER_CONFIG_H. It
325 conflicts with the macro in various configuration files.
327 Wed Nov 19 15:55:45 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
329 * ace/config-sunos5.*.h: Replaced all uses of ACE_HAS_UNICODE with
330 ACE_HAS_XPG4_MULTIBYTE_CHAR. At this point, I think only NT has
331 the UNICODE macro now. Thanks to Steve Huston for validating
334 * STL/bstring.h: Added a special-case for BorlandC++. However, I
335 think this can be generalized for all compilers. Thanks to
336 Valik Solorzano Barboza <valik@xs4all.nl> for reporting this.
338 * ace/OS: Fixed strpbrk() to handle the const char * and char *
339 cases of ANSI C++. Thanks to Valik Solorzano Barboza
340 <valik@xs4all.nl> for reporting this.
342 * ace/OS.h: Added a special case for _MSC_VER since BC++ doesn't
343 have wchar.h! Thanks to Valik Solorzano Barboza
344 <valik@xs4all.nl> for reporting this.
346 Wed Nov 19 13:43:33 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
348 * Merged the purify testing into run_tests. Just use
350 "run_tests purify ..."
352 to purify instead of running the tests. If you thought this
353 batch file looked bad before....
355 Wed Nov 19 12:17:50 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu>
357 * ace/{OS,stdcpp}.h (ACE_CONFIG_H): Added this macro to protect
358 config.h from getting included multiple times.
360 * ace/stdcpp.h: Reverted include OS.h back to config.h.
362 Wed Nov 19 09:20:05 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
364 * ACE version 4.3.52, released Wed Nov 19 09:20:05 1997.
366 Wed Nov 19 07:54:44 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
368 * ace/ACE.cpp (crc32): Reverted the COMPUTE macro back to its
369 original value. For some reason, the version given by Valik was
372 * ace/SV_Semaphore_Complex.cpp (open): Make sure initialize the
373 sem_number_ data member, though this isn't actually used for
376 * ace/ACE.cpp: Added a #ifdef for __unix since this is the only
377 case where we'll actually have the ifreq autoptr. Thanks to
378 Valik Solorzano Barboza <valik@xs4all.nl> for reporting this.
380 * ace/Log_Record.cpp (print): Added a work around for a really
381 lame bug with BORLANDC. Thanks to Valik Solorzano Barboza
382 <valik@xs4all.nl> for reporting this.
384 Wed Nov 19 04:22:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
386 * ACE version 4.3.51, released Wed Nov 19 04:22:38 1997.
388 Wed Nov 19 04:02:09 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
390 * include/makeinclude/rules.local.GNU (show_uninit): It seems
391 there was a missing '@' at the beginning of the line. Thanks to
392 Hans Rohnert for reporting this.
394 * tests/Process_Strategy_Test.cpp (handle_input): Fixed Irfan's
395 code, which keeps breaking ACE ;-).
397 Wed Nov 19 01:55:06 1997 <irfan@TWOSTEP>
399 * ace/WFMO_Reactor.cpp (resume_handler_i, suspend_handler_i,
400 unbind_i): Since things don't happen immediately in the
401 WFMO_Reactor world, we must make sure that this request is not a
402 duplicate. If so we must ignore it.
404 * ace/Asynch_Acceptor.cpp (open): Fixed addr type mismatch problem.
406 * tests/UPIPE_SAP_Test.cpp (main): Make sure to close the socket
407 in ACE_UPIPE_Acceptor.
409 * tests/SPIPE_Test.cpp (server): Make sure to close the socket in
412 * tests/SOCK_Test.cpp (spawn): Make sure to close the socket in
415 * tests/Reactor_Notify_Test.cpp (Supplier_Task): Make sure to
418 * tests/Process_Strategy_Test.cpp (handle_input): Fixed ACE_DEBUG
419 statement to pass the correct number of arguments.
421 * tests/MT_SOCK_Test.cpp (spawn): Make sure to close the socket in
424 * tests/Reactor_Exceptions_Test.cpp (main): Make sure to close the
425 socket in ACE_SOCK_Dgram.
427 * tests/run_purify_tests.bat: Added "mkdir purify_results".
429 * tests/run_tests.bat, run_purify_tests.bat: Changed explicit name
430 of bat file (e.g., run_tests, run_purify_tests) to %0. This
431 will allow the bat file to be used from other directories.
433 * ace/config-win32-common.h: Removed extraneous define of
434 ACE_HAS_TEMPLATE_INSTANTIATION.
436 Wed Nov 19 00:37:22 1997 <nw1@COYOTE>
438 * ace/stdcpp.h: Changed to use "ace/OS.h" instead of using
439 "ace/config.h" directly to avoid redefinition of user defined
442 * ace/Log_Msg.cpp (close): Disable Win32 to delete
443 ACE_Log_Msg::instance (). On Win32, this should be done by
446 * ace/OS.cpp (cleanup_tss): Enabled Win32 to call
447 ACE_Log_Msg::close. This is required to properly release
448 resourses held by ACE_Log_Msg_Manager.
450 Tue Nov 18 19:28:36 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
452 * ace/Select_Reactor.cpp (unbind),
453 ace/WFMO_Reactor.cpp (handle_signal): Fixed a large number of
454 bugs with non-portable "scope of the for loop counter"...
455 Thanks to Valik Solorzano Barboza <valik@xs4all.nl> for
458 * ace/Thread_Manager: Added == and != operators for
459 ACE_Thread_Descriptor to fix things with BORLANDC's template
460 mechanism. Thanks to Valik Solorzano Barboza <valik@xs4all.nl>
463 * ace/Select_Reactor: Added == and != operators for
464 ACE_Event_Tuple to fix things with BORLANDC's template
465 mechanism. Thanks to Valik Solorzano Barboza <valik@xs4all.nl>
468 * ace/OS.i (tempnam): Fixed a typo -- WIN32 should be ACE_WIN32.
469 Thanks to Valik Solorzano Barboza <valik@xs4all.nl> for
472 * ace/OS.h: Reordered the ACE_SEH_* macros so they work correctly
473 with BORLANDC. Thanks to Valik Solorzano Barboza
474 <valik@xs4all.nl> for reporting this.
476 * ace/OS: Added operator== and operator!= for ACE_Cleanup_Info so
477 that it will work correctly with BORLANDC's template mechanism.
478 Thanks to Valik Solorzano Barboza <valik@xs4all.nl> for
481 * ace/config-win32-common.h: Added
482 ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION for BORLANDC. Thanks to
483 Valik Solorzano Barboza <valik@xs4all.nl> for reporting this.
485 * ace/Filecache.cpp: Fixed a bug with BORLANDC. Thanks to Valik
486 Solorzano Barboza <valik@xs4all.nl> for reporting this.
488 * ace/ACE.cpp (crc32): Added some parens to the COMPUTE macro to
489 make it easier to grok. Thanks to Valik Solorzano Barboza
490 <valik@xs4all.nl> for reporting this.
492 Tue Nov 18 16:27:32 1997 <irfan@TWOSTEP>
494 * ace/Log_Msg.cpp (log): Added a %D option to Log_Msg for
495 "month/day/year hour:minute:second:microsecond". Thanks to John
496 Mulhern <9107@MN3.LAWSON.lawson.com> for suggesting this.
498 * ace/config-win32-common.h: If __ACE_INLINE__ is defined to be 0,
501 Tue Nov 18 15:59:37 1997 Steve Huston <shuston@riverace.com>
503 * ace/IOStream.cpp: In underflow() and overflow(), use base() to
504 check for buffer in use in every case - not just without
505 ACE_HAS_STANDARD_CPP_LIBRARY==1. Thanks to James CE Johnson
506 (jcej@lads.com) for this fix.
508 * tests/MT_SOCK_Test.cpp: Allow the test to run even if not all of
509 the proceses can be forked.
511 Tue Nov 18 15:27:37 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu>
513 * ace/Timer_Queue_Adapters.cpp: Reordered include files. Thanks
514 to Torbjorn Lindgren <tl@funcom.no> for noticing the problem.
516 Tue Nov 18 11:40:18 1997 Steve Huston <shuston@riverace.com>
518 * ace/IOStream.(cpp h): Added: &&(ACE_HAS_STANDARD_CPP_LIBRARY != 0)
519 to the #if defined (ACE_HAS_STANDARD_CPP_LIBRARY) lines to only use
520 the new iostreams things if that's been selected by the config file.
521 In ACE_Streambuf::overflow(), changed:
522 if (!eback()) to if (!pbase())
524 Tue Nov 18 08:23:53 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
526 * tests/Thread_Pool_Test.cpp (open): Moved the activate() method
527 from the Thread_Pool constructor to the open() hook since the
528 Thread_Pool class invoked ACE_Task::activate, indirectly invokes
529 Thread_Pool::svc. There existed a miniscule probability this
530 code would have crashed since on extremely broken C++ compilers
531 the virtual member function Thread_Pool::svc may not correctly
532 initialized in Thread_Pool constructor (i.e., it might point to
533 ACE_Task_Base::svc() at this point). The chance of this
534 happening is incredibly remote, but it's still a good ideal to
535 put the call in the open() method so we can check the return
536 value in the application. Thanks to Arturo for pointing this
539 Tue Nov 18 05:40:53 1997 David L. Levine <levine@cs.wustl.edu>
541 * ace/OS.cpp (inet_aton): on Chorus only, use the native
542 ::inet_aton (). Thanks to Wei for pointing this out.
544 * ace/OS.cpp (gethostby{addr,name}): on VxWorks only, don't htonl
545 the input address because it already should be in network byte
546 order. Store the output address in network byte order. Thanks
547 to Wei for noticing this error.
549 * include/makeinclude/wrapper_macros.GNU: add -DACE_PURIFY to
550 CFLAGS if purify make flag is set, and -DACE_QUANTIFY if
551 quantify is set. Thanks to Chris Cleeland for this suggestion.
553 * ace/Memory_Pool.cpp (ACE_Shared_Memory_Pool): reordered
554 initializers to match declaration order.
556 * etc/purify.solaris2: added suppression of pthread_setcanceltype
559 Tue Nov 18 00:11:26 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
561 * ACE version 4.3.50, released Tue Nov 18 00:11:26 1997.
563 Mon Nov 17 22:35:22 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
565 * examples/Shared_Malloc/test_malloc.cpp: Added some additional
566 calls to Malloc::instance ()->remove () to cleanup all the
567 semaphore locks. Thanks to Tom Arbuckle
568 <arbuckle@uran.informatik.uni-bonn.de> for reporting this.
570 * ace/Memory_Pool.cpp (init_acquire): Fixed a problem caused by
571 failing to initialize the minimum_bytes_ field in the
572 ACE_Shared_Memory_Pool class. Thanks to Tom Arbuckle
573 <arbuckle@uran.informatik.uni-bonn.de> for reporting this.
575 * examples/Shared_Malloc/test_malloc.cpp: Updated the Shared
576 Malloc test program to use the Singleton Thread Manager.
578 Mon Nov 17 18:09:06 1997 <nw1@CUECA>
580 * All eight different configurations of ACE passed all tests on
583 Mon Nov 17 15:37:52 1997 David L. Levine <levine@cs.wustl.edu>
585 * ace/INET_Addr.cpp (get_host_name): on VxWorks only, moved
586 ::hostGetByAddr code block to _after_ the check for the
587 address being INADDR_ANY. Without that check, get_host_name ()
588 never returns the caller's own hostname.
590 * netsvcs/lib/Makefile: the first line of the Local Target
591 (Server_Logging_Handler.*) override mysteriously disappeared.
593 Mon Nov 17 02:09:57 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
595 * ACE version 4.3.49, released Mon Nov 17 02:09:57 1997.
597 Mon Nov 17 02:03:21 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
599 * ace/IOStream_T.cpp: Added a few more fixes for KCC C++ and its
600 standard C++ library support.
602 Mon Nov 17 01:34:34 1997 <nw1@COYOTE>
604 * netsvcs/servers/main.cpp (main): Removed daemon and changed to
605 use the singleton service configurator. Thanks to John Mulhern
606 and Stephen Coy for tracing this down and Irfan for coming out
609 Sun Nov 16 21:58:51 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
611 * tests/*.dsp, ace/*.dsp: Added Release, Unicode Debug, and
612 Unicode Release versions for each of the tests.
614 Also found out that precompiled headers take up insane
615 amounts of disk space when used with ACE and also slows
616 the compilation down. I turned it off for the tests and
617 for the ace libraries
619 Sun Nov 16 13:34:29 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu>
621 * tests/SOCK_Connector_Test.cpp (fail_no_listener_nonblocking):
624 status = con.complete (sock);
628 if (sock.get_handle () != ACE_INVALID_HANDLE)
629 status = con.complete (sock);
631 The change worksaround a core dump due the the following
634 - the find_another_host function in SOCK_Connector_Test comes
635 up with the entry for an NT machine.
637 - the ACE_OS::connect call at line 64 of SOCK_Connector.cpp
638 "successfully" fails returning -1 but in this case
639 errno is set to ECONNREFUSED.
641 - Since errno is not EINPROGRESS or EWOULDBLOCK the
642 ACE_SOCK_Stream 'new_stream' close member function is called
643 which, besides closing the "handle", also sets it to
646 - Since the errno was ECONNREFUSED the 'if' test at line 97 of
647 SOCK_Connector_Test.cpp is true and the next statement
649 status = con.complete (sock);
651 is called causing a core dump since sock.get_handle() is
652 ACE_INVALID_HANDLE (-1 on Solaris).
654 Thanks to Jack Erickson <jack@pinion.com> for reporting this.
656 * ace/OS: Cast away the constness of the parameters to _tempnam()
657 for Borland C++. Thanks to Valik Solrzano Barboza
658 <valik@xs4all.nl> for this.
660 * ace/config-unixware-2.1.2-g++.h: Changed
661 ACE_HAS_OSF1_GETTIMEOFDAY to ACE_HAS_SVR4_GETTIMEOFDAY. Thanks
662 to John Connett <jrc@skylon.demon.co.uk> for reporting this.
664 * ace/SPIPE_Addr.cpp (set): Fixed a problem where we were
665 potentially writing into character constants. Thanks to Darrell
666 Brunsch for finding this.
668 * ace/Get_Opt.cpp (operator): We need to make sure that all uses
669 of ACE_OS::strchr() are consistent with respect to const
670 correctness. Thanks to Darrell Brunsch for finding this.
672 * ace/config-win32-common.h: Added a few minor changes for Borland
673 C++. Thanks to Valik Solrzano Barboza <valik@xs4all.nl> for
676 * ace/Log_Record.cpp (print): Changed the formal parameter from
677 "const char host_name[]" to "const char *hostname" so that we
678 can assign this in the function if necessary. Thanks to Valik
679 Solrzano Barboza <valik@xs4all.nl> for this.
681 * ace/OS.cpp: Moved the constructor for ACE_Cleanup_Info into the
682 OS.cpp since it doesn't really need to be inline.
684 * ace/WFMO_Reactor.cpp (notify): Replaced a "sizeof
685 ACE_Notification_Buffer" with "sizeof
686 (ACE_Notification_Buffer)". It's odd that the first approach
687 (which is incorrect) isn't flagged by MSVC++... Thanks to Valik
688 Solrzano Barboza <valik@xs4all.nl> for this.
690 * ace/OS.i (sema_init): Added an ACE_ALLOCATOR_RETURN in the
693 * ace/ACE.cpp: Moved the implementation of strsplit_r() into the
694 ACE.cpp file since it's rather long...
696 * ace/OS: To be more conformant to the standard C++ library,
697 I've added a pair of methods for strstr(), strchr(), strrchr(),
698 etc. e.g., the function signature strstr(const char*, const
699 char*) is replaced by the two declarations:
701 const char *strstr (const char* s1, const char* s2);
702 char *strstr (char* s1, const char* s2);"
704 Thanks to Valik Solrzano Barboza <valik@xs4all.nl> for this.
706 * ace: Added "ace.idl", which is a config file for Borland C++
707 5.x. Thanks to Valik Solrzano Barboza <valik@xs4all.nl> for
710 * include/makeinclude/platform_linux_kcc.GNU (SOFLAGS): Improved
711 this file a bit to work better with NULL pointers. Thanks to
712 Ben Eng <ben@jetpen.com> for reporting this.
714 * examples/System_V_IPC/SV_Semaphores/Semaphores_1.cpp (main):
715 Changed allocator to alloc to avoid conflicts with STL. Thanks
716 to Ben Eng <ben@jetpen.com> for reporting this.
718 * ace/config-linux-kcc.h: Added some fixes for the KCC compiler.
719 Thanks to Ben Eng <ben@jetpen.com> for reporting this.
721 * ace/IOStream: Added fixes for the standard C++ library. Thanks
722 to Ben Eng <ben@jetpen.com> for reporting this.
724 Sat Nov 15 17:31:58 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
726 * Ran "make depend" on all of ACE.
728 Sat Nov 15 15:55:52 1997 Steve Huston <shuston@riverace.com>
730 * tests/Priority_Reactor_Test.cpp: Removed the writer->peer().close()
731 call from client() that I added yesterday. ACE_Svc_Handler::destroy
732 will end up doing the close - thanks to Irfan for pointing this out.
734 Sat Nov 15 01:31:58 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
736 * ACE version 4.3.48, released Sat Nov 15 01:31:58 1997.
738 Fri Nov 14 23:36:12 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu>
740 * ace/{OS,ACE}.{h,i} (strsplit_r): Moved strsplit_r from ACE_OS to
741 ACE, which is where it should go.
743 * ace/ACE.cpp (ldfind): Changed uses of strsplit_r to be scoped
744 under ACE rather than ACE_OS.
746 Fri Nov 14 22:57:04 1997 David L. Levine <levine@cs.wustl.edu>
748 * ace/config-vxworks*.h: added ACE_LACKS_NETDB_REENTRANT_FUNCTIONS.
749 This is necessary for the gethostby{addr,name}_r support added
752 Fri Nov 14 18:42:23 1997 Steve Huston <shuston@riverace.com>
754 * tests/Priority_Reactor_Test.cpp: Fixed client to close its socket
755 before exiting from the thread/process.
757 Fri Nov 14 17:41:40 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
759 * ace/OS.i: Fixed some typos in strsplit_r().
761 * ace/OS.h: Moved the ACE_ALLOCATOR* stuff from Malloc_T.h to
762 OS.h, which is where it belongs.
764 * examples/Reactor/Dgram: Reformatted some of the example
765 code to make it more readable.
767 Fri Nov 14 17:08:00 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu>
769 * ace/OS.i (strsplit_r): Added fixes so that this properly returns
770 the last piece. Thanks to Scott Herscher <scott@expersoft.com> for
771 submitting this! Also beefed up the comments.
773 * ace/OS.h: Added definitions to work around VxWorks' lack of
774 proper ANSI C/C++ prototypes for the functions found in
775 <arpa/inet.h>. The definitions were taken from Solaris 2.5.1, but
776 appear to work just fine. For now this is only in effect when
777 compiling with the Green Hills (ghs) environment, but it should
778 probably be used for others (such as g++) as well.
780 Fri Nov 14 01:10:33 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
782 * ACE version 4.3.47, released Fri Nov 14 01:10:33 1997.
784 Fri Nov 14 00:14:21 1997 David L. Levine <levine@cs.wustl.edu>
786 * ace/OS.* (gethostbyaddr_r,gethostbyname_r): added VxWorks
789 Thu Nov 13 20:29:18 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
791 * ACE version 4.3.46, released Thu Nov 13 20:29:18 1997.
793 Thu Nov 13 19:11:36 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
795 * ace/config-sunos5.4.*: Solaris 2.4 doesn't support the ualarm()
796 call unless you use the (broken) /usr/ucb/cc compiler. Here's a
797 patch for $ACE_ROOT/ace/config-sunos5.4-sunc++-4.x.h to fix the
798 problem. Thanks to Caleb Epstein
799 <epstein_caleb_unix@jpmorgan.com> for reporting this.
801 Thu Nov 13 19:25:50 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
803 * include/makeinclude/platform_irix6.x-sgic++.GNU:
804 Updated comment on when should the user disable the use of
807 Thu Nov 13 18:18:16 1997 Steve Huston <shuston@riverace.com>
809 * ace/Containers.h, Containers.cpp, Hash_Map_Manager.cpp, Malloc_T.h:
810 Removed the conditional code for the macro
811 ACE_HAS_HPUX_ACC_BROKEN_TEMPLATE_DESTRUCTOR. The workaround for
812 this compiler bug is to remove "this->" from the object pointer
813 used in the ACE_DES_FREE_TEMPLATE macro invocation. This compiler
814 bug is HP case SR5003396259 for future reference.
816 * ace/config-hpux-10.x-hpc++.h: Added ACE_HAS_ANSI_CASTS; removed
817 ACE_HAS_HPUX_ACC_BROKEN_TEMPLATE_DESTRUCTOR (both for aC++ only).
819 * ace/README: Removed ACE_HAS_HPUX_ACC_BROKEN_TEMPLATE_DESTRUCTOR, as
820 it is no longer used.
822 Thu Nov 13 16:51:40 1997 <nw1@CHA-CHA>
824 * ace/OS.h: Added two new macros ACE_FACTORY_DECLARE and
825 ACE_FACTORY_DEFINE. Changed definitions of
826 ACE_SVC_FACTORY_DECLARE AND ACE_SVC_FACTORY_DEFINE to use these
827 two macros. Refer to changes of the ACE_Export related macros
828 below, you can now declare/define your service factories as,
830 ACE_FACTORY_DECLARE (FOOBAR, fac_class);
831 ACE_FACTORY_DEFINE (FOOBAR, fac_class);
833 This will ensure they get define properly and proper decoration
836 Thu Nov 13 16:52:31 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu>
838 * ace/Thread_Manager.cpp: Removed all ! defined
839 (ACE_HAS_FSU_PTHREAD). Thanks to ARTURO MONTES
840 <mitosys@colomsat.net.co> for reporting this.
842 * ace/config-gcc-2.7.2.h: Added ACE_HAS_TEMPLATE_SPECIALIZATION.
843 Thanks to ARTURO MONTES <mitosys@colomsat.net.co> for reporting
846 * ace/config-fsu-pthread.h: added ACE_LACKS_THREAD_PROCESS_SCOPING.
847 Thanks to ARTURO MONTES <mitosys@colomsat.net.co> for reporting
850 * ace/OS.h: Separate definition of proper export flag for
851 platforms from setting these flags for building/not building
852 DLL. I keep ACE_Export and ACE_Svc_Export to remain backward
853 compatibality but now, they are defined using the new "common"
854 definition. This changes is made in hope that it will simplify
855 codes generated by TAO_IDL compiler.
857 Several new directives are added to these file. These common
858 directives will be set to proper values (macros) according to
859 the platform we use. They are:
861 ACE_Proper_Export_Flag
862 ACE_Proper_Import_Flag
863 ACE_EXPORT_SINGLETON_DECLATATION(T)
864 ACE_IMPORT_SINGLETON_DECLARATION(T)
865 ACE_PROPER_SINGLETON_INSTANTIATION(T)
867 I use them to define ACE_Export and ACE_Svc_Export. I hope it
868 is easier to define your own export decoration flag now. Here
869 is an example. Say you want to define an export flag for your
870 DLL file : foobar.dll. First, you need to add the following to
871 a common header file:
873 // Here are definition for FOO_BAR library.
874 #if defined (FOOBAR_HAS_DLL) && (FOOBAR_HAS_DLL == 1)
875 # if defined (FOOBAR_BUILD_DLL)
876 # define FOOBAR_Export ACE_Proper_Export_Flag
877 # define FOOBAR_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
878 # define FOOBAR_SINGLETON_INSTANTIATION(T) ACE_PROPER_SINGLETON_INSTANTIATION (T)
880 # define FOOBAR_Export ACE_Proper_Import_Flag
881 # define FOOBAR_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
882 # define FOOBAR_SINGLETON_INSTANTIATION(T)
883 # endif /* FOOBAR_BUILD_DLL */
884 #else /* ! FOOBAR_HAS_DLL */
885 # define FOOBAR_Export
886 # define FOOBAR_SINGLETON_DECLARATION(T)
887 # define FOOBAR_SINGLETON_INSTANTIATION(T)
888 #endif /* FOOBAR_HAS_DLL */
890 Be sure to include "ace/OS.h" before these definitions so that
891 the macros they use will be properly initialized. After you've
892 done this, on Win32, define "FOOBAR_HAS_DLL=1" if you want to
893 build DLL, define it as "FOOBAR_HAS_DLL=0" if you want to build
894 static library. In your library project file, you must define
895 the directives FOOBAR_BUILD_DLL and decorate classes/objects you
896 want to export with FOOBAR_Export so that they can be declared
897 automatically according whether you are building/linking with
898 static library or dynamic library.
900 Thu Nov 13 05:47:42 1997 David L. Levine <levine@cs.wustl.edu>
902 * ace/Thread_Manager.cpp: added ACE_TSS_Singleton<ACE_Dynamic,
903 ACE_Null_Mutex> instantiation, for the recent Svc_Handler
906 * ace/Object_Manager.h (default_mask): moved out of ACE_MT_SAFE
909 * ace/OS.{h,i},config-vxworks-ghs-1.8.h,README (strlen,strcpy):
910 protect declarations of wchar versions with
911 ACE_HAS_WCHAR_TYPEDEFS_CHAR. GreenHills typedefs wchar to char.
913 * ace/Singleton.cpp: register ACE_TSS_Singletons for cleanup with
916 * ace/OS.{i,cpp} (gethostbyaddr): added VxWorks support.
918 Thu Nov 13 02:06:58 1997 Chris Cleeland <cleeland@macarena.cs.wustl.edu>
920 * ace/Signal.i: Changed to use new Object Manager member.
922 * ace/Object_Manager.cpp: Added a new member to the Object
923 Manager--default_mask. This is the default signal mask employed
924 by ACE_Sig_Set. Moving the object into the OM saves cycles b/c we
925 only construct it once and just re-use every time.
927 * ace/Handle_Set.cpp: Added two new macros--ACE_DIV_BY_WORDSIZE and
928 ACE_MULT_BY_WORDSIZE--which either divide or multiply the argument
929 by ACE_Handle_Set::WORDSIZE. The manner in which this is
930 accomplished is governed by the #define
931 ACE_USE_SHIFT_FOR_EFFICIENCY--when defined, ACE tries to use
932 shifts to implement multiplication and division rather than actual
933 multiply and divide operations. Currently this is disabled.
935 Wed Nov 12 19:13:05 1997 <irfan@TWOSTEP>
937 * ace/Svc_Handler: Changed hand written tss singleton to
938 ACE_TSS_Singleton. Lot of (unnecessary) code disappeared.
939 Thanks to David Levine for suggesting this.
941 * ace/Object_Manager: Removed ACE_SVC_HANDLER_LOCK.
943 Wed Nov 12 16:29:15 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu>
945 * platform_netbsd.GNU: added /usr/lib/c++rtO.o to SOBUILD to
946 insure that static objects' ctors are called.
948 Wed Nov 12 00:20:38 1997 David L. Levine <levine@cs.wustl.edu>
950 * ace/OS.{i,cpp} (inet_ntoa): use VxWorks' native inet_ntoa. It's
951 not documented but it works.
953 * ace/OS.cpp (gethostbyname): on VxWorks, load static first_addr on
954 every call, not just the first.
956 * include/makeinclude/rules.local.GNU: removed extra "fi" in
959 * include/makeinclude/platform_sunos5_sunc++.GNU: removed +w from
960 CFLAGS because it generates too many spurious warnings.
962 * ace/TTY_IO.cpp (control): commented out unused local variable
963 c_line. Thanks to Amos Shapira <amos@gezernet.co.il> for
966 * ace/OS.{h,i} (hostname): added Chorus support. Thanks to Wei
969 Tue Nov 11 23:44:17 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
971 * ACE version 4.3.45, released Tue Nov 11 23:44:17 1997.
973 Tue Nov 11 21:26:36 1997 Douglas C. Schmidt <schmidt@lindy.cs.wustl.edu>
975 * platform_sunos5_sunc++.GNU, platform_irix6.x-sgic++.GNU, rules.local.GNU:
976 Added some minor fixes.
978 Tue Nov 11 20:18:27 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
980 * Makefile: Added the tests and netsvcs directory to
981 RELEASE_LIB_FILES since this is pretty important to determine
982 whether ACE works. Thanks to Chuck Gehr and Steve Coy for this
985 * tests/UNIXclerk.conf: Changed "merengue" to "localhost."
986 Thanks to Steve Coy for this suggestion.
988 * ace/config-lynxos.h (getopt): Missing 't' from const => see
989 getopt prototype parameter list. Thanks to Manojkumar Acharya
990 <mja@cvsf325.gpt.co.uk>.
992 Tue Nov 11 08:09:16 1997 David L. Levine <levine@cs.wustl.edu>
994 * ace/OS.cpp (inet_aton): declare local ip_addr as an ACE_UINT32
995 instead of a long. Real programmers have 64-bit longs.
997 * ace/INET_Addr.cpp (get_host_name): added ACE_UNUSED_ARG (len);
1000 Tue Nov 11 13:19:46 1997 Torbjorn Lindgren <tl@funcom.com>
1002 * include/makeinclude/rules.local.GNU: Fixed so that the ACE
1003 makefiles doesn't create circular symlinks (happens if
1004 something fails when building libACE.* with "make -k", or when
1005 doing parallel builds). It's now possible to do parallel
1006 builds of libACE.* without having to clean up a mess afterwards.
1008 * include/makeinclude/platform_irix6.x-sgic++.GNU: Removed
1009 .so build with links instead (ace/apps/examples/tests and my own
1010 programs all work well with this, and the manual seems to suggest
1011 that it hasn't ever been necessary on this platform)
1013 * ace/config-irix6.x-sgic++-nothreads.h: Added
1014 ACE_HAS_XPG4_MULTIBYTE_CHAR for SGI IRIX 6.[2-5].
1016 Tue Nov 11 04:50:06 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu>
1018 * examples/Reactor/Multicast/server.cpp (handle_timeout): Fixed a
1019 typo. Thanks to Sandro Doro <doros@aureus.sublink.org> for
1022 Tue Nov 11 04:20:09 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1024 * ACE version 4.3.44, released Tue Nov 11 04:20:09 1997.
1026 Tue Nov 11 01:44:39 1997 <irfan@TWOSTEP>
1028 * examples/Naming/test_open.cpp (main): Added a new naming test
1029 that binds to the net_local server and tries to bind entries to
1032 * netsvcs/lib/Name_Handler.cpp: Added a new class called
1033 Naming_Context. This helper class adds the correct default
1034 constructor to the ACE_Naming_Context class so that we can use
1035 it in ACE_Singleton.
1037 Previously, each Name_Handler was getting its own
1038 Naming_Context. This is obviously incorrect as the mapping
1039 address in already occupied by the first Name_Handler.
1040 Therefore, the Naming_Context was changed into a Singleton
1041 accessable by all Name_Handlers.
1043 * ace/WFMO_Reactor.cpp (handle_additions && handle_deletions):
1044 Changed code to make sure that we should not make the upcall
1045 until all the internal data structures have been updated. This
1046 is to protect against upcalls that try to deregister again.
1048 Tue Nov 11 01:28:50 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1050 * ACE version 4.3.43, released Tue Nov 11 01:28:50 1997.
1052 Mon Nov 10 21:30:04 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
1054 * INET_Addr.cpp: In the ACE_INET_Addr::get_host_name (char
1055 hostname[], size_t len) method, an unnecessary local variable
1056 called "name" was being used and the actual parameter "hostname"
1057 was never getting updated. The local variable is now removed and
1058 we use the actual parameter everywhere.
1060 Mon Nov 10 20:44:43 1997 James C Hu <jxh@lambada.cs.wustl.edu>
1062 * etc/ACE-guidelines.html: Added a section for ACE Design Rules,
1063 and added a design rule about sentinels.
1065 Mon Nov 10 18:11:05 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu>
1067 * ace/Singleton.h (ACE_TSS_Singleton): Changed ACE_TSS<TYPE> to
1068 ACE_TSS_TYPE (TYPE), so that the ACE_TSS_TYPE macro (defined in
1069 OS.h) gets used. (Irfan's suggestion.)
1071 Mon Nov 10 17:02:40 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
1073 * ace/OS.h: Reformatted the #ifdef structure of the
1074 ACE_HAS_XPG4_MULTIBYTE_CHAR to conform to ACE usage.
1076 * ace/Service_Repository.cpp: The close() method needed a '\n' in
1077 one of the debug messages. Thanks to Steve Coy for reporting
1080 Mon Nov 10 14:09:24 1997 Steve Huston <shuston@riverace.com>
1082 * ace/OS.h, OS.i, README: Added new macro, ACE_HAS_XPG4_MULTIBYTE_CHAR
1083 for platforms which supply wchar.h and wide character functions.
1084 Added the use if it in OS.h, and use the functions in OS.i,
1085 strlen and strcpy with wchar_t arguments.
1087 * ace/config-hpux-10.x.h, config-aix-4.2.x.h, config-mvs.h,
1088 config-sunos5.5-sunc++-4.x.h: Added ACE_HAS_XPG4_MULTIBYTE_CHAR.
1090 Mon Nov 10 13:33:02 1997 <irfan@TWOSTEP>
1092 * ace/OS.h (ACE_WRITE_GUARD): Added macros for ACE_WRITE_GUARD and
1093 ACE_READ_GUARD. Thanks to Brian Raven <Brian.Raven@liffe.com>
1094 for suggesting this.
1096 * tests/Thread_Mutex_Test.cpp: Modified version of Mutex_Test that
1097 exclusively works on a Thread_Mutex.
1099 * tests/Mutex_Test.cpp: Removed this test. It have been
1100 superseded by Thread_Mutex_Test and Process_Mutex_Test.
1102 * ace/OS.i (thread_mutex_trylock): Fixed the return value and
1103 errno for this system call such that it is consistent with other
1106 Mon Nov 10 10:21:55 1997 David L. Levine <levine@cs.wustl.edu>
1108 * ace/INET_Addr.cpp: updated gethostbyname/addr support for
1109 Chorus. Thanks to Wei Chiang <chiang@tele.nokia.fi> for
1110 the patches for this fix.
1112 * ace/config-chorus.h: disabled ACE_LACKS_SOCKETPAIR. Thanks
1113 to Wei for this fix, also.
1115 * tests/Thread_Mutex_Test.cpp (test): don't compile this function
1116 if ACE_HAS_THREADS is not defined.
1118 * tests/IOStream_Test.cpp (main): removed extra % at end of
1119 ACE_ERROR_RETURN message.
1121 * etc/ace_ld,include/makeinclude/platform_vxworks5.x_g++.GNU:
1122 added ace_ld, a drop-in replacement for ld that supports munching.
1123 We need to munch for VxWorks/g++.
1125 * ACE-INSTALL.html: updated VxWorks info to mention requirement
1126 for perl with VxWorks/g++. And, LD_LIBRARY_PATH must be set
1127 to find the ACE libraries on the host if using TAO.
1129 Sun Nov 09 23:29:43 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1131 * ACE version 4.3.42, released Sun Nov 09 23:29:43 1997.
1133 Sun Nov 09 22:18:30 1997 <irfan@TWOSTEP>
1135 * ace/config-win32-common.h (ACE_HAS_ANSI_CASTS): VC++ compilers
1136 support ANSI style casts.
1138 * ace/OS.h (ACE_static_cast): Added ANSI style cast macros to ACE.
1139 Thanks to Stephen Coy <stevec@magna.com.au> for suggesting this.
1141 Sun Nov 9 21:34:16 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
1143 * ace/OS: Enhanced ACE_OS so that it *always* defines
1144 implementations for the wchar_t versions of strlen() and
1145 strcpy(), even if the platform doesn't explicitly support
1146 UNICODE. This is necessary since TAO needs these functions.
1148 * ace/OS.h: Added a typedef for wchar_t to handle the case where
1149 the OS doesn't support UNICODE.
1151 * ace/ACE.cpp: Added hex character routines from TAO since they
1152 are generally useful.
1154 * ace/OS.h: Moved the TAO-specific #defines into TAO, where they
1155 belong. Thanks to David Levine and Chris Cleeland for insisting
1158 Sun Nov 09 17:55:50 1997 <nw1@COYOTE>
1160 * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp (open):
1161 Removed codes that reset a socket's non-blocking flag. This has
1162 been taken care of by ACE_Acceptor::activate_svc_handler now and
1163 resetting this flag twice on NT caused us grief. Thanks to
1164 Georges Ata <George_ata@srt.ccmail.compuserve.com> for reporting
1167 * ace/ACE.i (hex2byte,nibble2hex): Replaced ACE_INLINE to inline
1168 for these two functions. Functions in this file are always
1171 * ace/config-win32-common.h (ACE_LACKS_RLIMIT): Added this flags
1172 so we don't need to treat ACE_WIN32 specially.
1174 * ace/OS.i (getrlimit,setrlimit): Removed unnecessary conditional
1177 * ace/Thread_Manager.cpp (wait): Merged the two blocks within this
1178 function so that we can avoid relase/acquire lock
1179 unnecessarily. Thanks to Doug for his careful scrutiny.
1181 Sun Nov 09 09:27:24 1997 David L. Levine <levine@cs.wustl.edu>
1183 * ace/Thread_manager.cpp (wait): removed unused local,
1186 Sat Nov 08 23:20:50 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1188 * ACE version 4.3.41, released Sat Nov 08 23:20:50 1997.
1190 Sat Nov 8 15:46:30 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
1192 * ace/INET_Addr.cpp: Enhanced the get_host_name() functions so
1193 that if the sin_addr.s_addr == INADDR_ANY we assume that we're a
1194 server, and we return our "hostname".
1196 * Added a number of minor fixes for UNIXWARE with G++. Thanks to
1197 Michael Rueger <m_rueger@syscomp.de> for reporting these.
1199 * ace/Thread_Manager.h: Both Irix5 and VxWorks have problems with
1200 local typedefs with GCC. Thanks to Laura Paterno
1201 <lpaterno@d0chb.fnal.gov> for reporting this.
1203 * ace/Timer_Queue_Adapters.cpp: Changed some errant uses of lock_
1204 to mutex_. Thanks to David Levine for reporting this.
1206 * ace/ACE.cpp: set_handle_limit() was buggy because it never
1207 increased the handle limit. With this change we do not need
1208 special code in ACE_Select_Reactor with ACE_LACKS_RLIMIT because
1209 this is managed in ACE::set_handle_limit. Thanks to Arturo for
1212 * ace/Select_Reactor.cpp (open): We no longer need to
1213 conditionally compile for ACE::set_handle_limit(). Thanks to
1214 Arturo for this fix.
1216 Fri Nov 7 18:53:13 1997 Sumedh Mungee <sumedh@macarena.cs.wustl.edu>
1218 * ace/config-netbsd.h: Added file for NetBSD 1.2G.
1220 * tests/SOCK_Connector_Test.cpp (fail_no_listener_nonblocking):
1221 Added ECONNREFUSED as a "valid failure", alongwith EWOULDBLOCK.
1223 * ace/OS.i (msync): msync on NetBSD takes only two parameters as
1224 opposed to the usual three. (It doesnt have the "flags"
1225 parameter.) The ACE_HAS_BROKEN_NETBSD_MSYNC flag works around
1228 Fri Nov 7 16:04:35 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
1230 * ace/Thread_Manager.cpp: Added a missing '>' for one of the
1231 template specializations. Thanks to Torbjorn Lindgren
1232 <tl@funcom.no> for reporting this.
1234 * ace/OS.cpp: ACE_OS::ACE_OS is defined in OS.cpp, which causes
1235 the compiler to complain about multiple definitions. Other
1236 ACE_CLASS_IS_NAMESPACE doesn't have constructors, which is why
1237 they work. Thanks to Torbjorn Lindgren <tl@funcom.no> for
1240 Fri Nov 07 15:14:51 1997 David L. Levine <levine@cs.wustl.edu>
1242 * examples/Threads/tss1.cpp: replaced ACE_SYNCH_1 and _2 with
1245 * ace/config-linux{,-common}.h: created config-linux-common.h
1246 and moved alpha-specific defines to it.
1248 * ace/FILE_Addr.cpp (set): explicitly declare int return type.
1250 * performance-tests/Misc/preempt.cpp (get_options): DEC CXX didn't
1251 like conversion of -1 to u_int, so changed return type to int and
1252 all ACE_ERROR_RETURNs to return -1.
1254 Fri Nov 07 10:05:12 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1256 * ACE version 4.3.40, released Fri Nov 07 10:05:12 1997.
1258 Fri Nov 7 09:58:09 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
1260 * ace/Connector.cpp (fini): Added a call to
1261 ACE_Map_Manager::close() in fini() since the destructor may not
1262 be called. Thanks to Eric C. Newton <ecn@smart.net> for
1265 * ace/{FILE,SPIPE}_Addr.cpp (set): Added a return value. Thanks
1266 to Marios Zikos <zikos@csi.forth.gr> for reporting this.
1268 Fri Nov 07 02:45:55 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1270 * ACE version 4.3.39, released Fri Nov 07 02:45:55 1997.
1272 Fri Nov 7 01:06:08 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
1274 * ace/Message_Queue: Added a new method called deactivated(),
1275 which returns true if the queue has been deactivated. Thanks to
1276 Wei Chiang <chiang@tele.nokia.fi> for reporting this.
1278 * ace/{config-chorus.h,OS.cpp}: Added a new macro called
1279 ACE_CHORUS_DEFAULT_MIN_STACK_SIZE. Thanks to Wei Chiang
1280 <chiang@tele.nokia.fi> for reporting this.
1286 ace/UNIX_Addr.cpp: Fixed the set(const Foo &) method so that
1287 it correctly detects cases where we're passed in a
1288 ACE_Addr::sap_any. This is a total hack...
1290 * ace/{OS.h,Addr.cpp}: Added a new AF_ANY flag, which is set to -1.
1292 Thu Nov 6 23:05:14 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
1294 * Changed the obtusely named ACE_SYNCH_1 and ACE_SYNCH_2 macros to
1295 ACE_SYNCH_DECL and ACE_SYNCH_USE, respectively. Thanks to Mike
1296 Kamrad <J.M.KAMRAD.II@cdev.com> for suggesting this.
1298 * ace/Select_Reactor.cpp, ace/ACE.cpp: Broaded the comparison so
1299 that we only try to use {set|get}rlimit() if ACE_LACKS_RLIMIT is
1300 *false*. Thanks to Arturo Montes <mitosys@colomsat.net.co> for
1303 * ace/Object_Manager: Added support for
1304 get_singleton_lock(ACE_Mutex *). Thanks to Arturo Montes
1305 <mitosys@colomsat.net.co> for reporting this.
1307 * ace/Connector.cpp: If connect_n() fails make sure to return -1.
1308 Thanks to Stephen Coy <stevec@magna.com.au> for pointing out the
1311 * ace/config-sco-5.0.0.h: Removed the ACE_LACKS_RLIMIT flag.
1312 Thanks to Arturo Montes <mitosys@colomsat.net.co> for reporting
1315 * tests: Changed all uses of "localhost" to
1316 ACE_DEFAULT_SERVER_HOST. This solves some problems with MVS.
1317 Thanks to Chuck Gehr <gehr@sweng.stortek.com> for reporting
1320 * examples/Timer_Queue: Changed COMMAND to CMD so it won't
1321 conflict with the HP/YUX compiler. Thanks to Sandro Doro
1322 <doros@aureus.sublink.org> for reporting this.
1324 Thu Nov 06 22:13:01 1997 <irfan@TWOSTEP>
1326 * examples/Connection/blocking/SPIPE-connector.cpp (init): Fixed
1327 odd looking typecast.
1329 * ace: Changed the comparison &local_sap == &ACE_Addr::sap_any to
1330 local_sap == ACE_Addr::sap_any. Thanks to Steve Coy
1331 <stevec@magna.com.au> for pointing out that the default
1332 parameter const ACE_Addr &local_sap = ACE_Addr::sap_any will
1333 cause a copy of sap_any to be made and passed to the method,
1334 invalidating the memory address comparison.
1336 The following files were effected:
1345 * ace/Addr.cpp: Made sure that the type and size of
1346 ACE_Addr::sap_any does not match the type and size of any other
1347 Addr type. This is necessary for local_addr==ACE_Addr::sap_any
1348 to return 0 when local_addr is anything other than
1351 * ace/Synch_T.h: Fixed all the ACE_SYNCH_* defines. Thanks to
1352 Matthias Kerkhoff <make@cs.tu-berlin.de> for pointing the
1355 Thu Nov 06 18:30:42 1997 Steve Huston <shuston@riverace.com>
1357 * ace/Addr.(h i), DEV_Addr.(h i), FILE_Addr.(h i), INET_Addr.(h
1358 cpp), SPIPE_Addr.(h i), UNIX_Addr.(h i): Changed the operators
1359 == and != to be non-virtual, and to accept the 'sap' argument as
1360 its own type (not ACE_Addr for all of them). The
1361 implementations of the operators compare type-specific data
1362 without having to check the inherited type member. Thanks to
1363 Steve Coy <stevec@magna.com.au> and Irfan and Nanbor for a huge
1364 amount of work on these changes. *** NOTE - there is still some
1365 SOCK_Connector problems related to these changes on HP-UX. The
1368 * ace/Connector.cpp (connect_n): return -1 if any of the connect
1371 * tests/Reactor_Performance_Test.cpp: Don't crash if any of the
1372 client's connect attempts fail.
1374 * ace/Reactor.h: Added #include "ace/Handle_Set.h" - AIX needs the
1375 class definition when generating templates in programs.
1377 * tests/Map_Manager_Test.cpp: Don't even try if the compiler doesn't
1378 have template specialization working correctly.
1380 * tests/Priority_Reactor_Test.h: Added #include "ace/SOCK_Stream.h"
1381 so AIX could generate template code correctly.
1383 * tests/Reactor_Performance_Test.cpp: Moved class definitions out to
1384 Reactor_Performance_Test.h (new file) to allow AIX to generate
1387 * tests/SOCK_Connector_Test.cpp: Added a couple more checks to make
1388 sure the local host is not the test target, and changed from using
1389 port 4242 to 42000 (there is actually a program on AIX which listens
1392 * tests/Thread_Manager_Test.cpp: Moved a class definition out to
1393 Thread_Manager_Test.h (new file) to allow AIX to use it in template
1396 * tests/Timer_Queue_Test.cpp: Limit the number of iterations to 2000.
1398 Thu Nov 6 16:51:36 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu>
1400 * tests/SOCK_Connector_Test.cpp (find_another_host): Added
1401 ACE_NETBSD to the #if define around gethostent.
1403 Thu Nov 06 00:08:01 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1405 * ACE version 4.3.38, released Thu Nov 06 00:08:01 1997.
1407 Wed Nov 5 21:32:36 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
1409 * ace/Service_Repository.cpp (close): Looking in the
1410 Service_Repository while shutting it down does really bad
1411 things. Some careful changes to the loop in
1412 Service_Repository::close() fixed this. Thanks to Eric
1413 C. Newton <ecn@smart.net> for reporting this.
1415 * Added new support for SCO UNIX with no threads. Thanks to
1416 Arturo Montes <mitosys@colomsat.net.co> for reporting this.
1418 Wed Nov 05 20:31:36 1997 <irfan@TWOSTEP>
1420 * ace/Connector.cpp (close): Added an explicit close() method for
1421 the Strategy_Connector. This closes down all Strategy_Connector
1422 specific things and then calls close() on the base class. Also
1423 modified the destructor to call this routine.
1425 Wed Nov 5 17:09:05 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
1427 * ace/OS.cpp (cleanup_tss): Rearranged how TSS'es get cleanup on
1428 Win32. This was causing a tiny memory leak on NT.
1430 Wed Nov 5 15:03:31 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
1432 * ace/Thread_Manager.{h,cpp}: Changed the data type of
1433 terminated_thr_queue_ back to
1434 ACE_Unbounded_Queue<ACE_Thread_Descriptor>.
1436 Wed Nov 05 14:16:27 1997 Steve Huston <shuston@riverace.com>
1438 * ace/OS.i (mutex_trylock): Fixed code for ACE_HAS_DCE_DRAFT4_THREADS
1439 (HP-UX) to process the returned status correctly. Thanks to
1440 Robert Head <rhead@virtc.com> for reporting this.
1442 Wed Nov 05 13:01:49 1997 David L. Levine <levine@cs.wustl.edu>
1444 * ace/ACE.cpp (daemonize): added ACE_UNUSED_ARG (close_all_handles)
1447 Wed Nov 05 01:06:53 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1449 * ACE version 4.3.37, released Wed Nov 05 01:06:53 1997.
1451 Tue Nov 04 23:11:41 1997 <nw1@COYOTE>
1453 * ace/Thread_Manager.h: Added an ACE_Unbounded_Queue to
1454 collect threads that need to be removed. We can no longer
1455 remove thread descriptors directly from <thr_list_> because that
1456 would clobber the integrity of the double-linked list. Changed
1457 the data type of <terminated_thr_queue_> from
1458 ACE_Unbounded_Queue<ACE_Thread_Descriptor> to
1459 ACE_Unbounded_Queue<ACE_Descriptor*> to reduce the codes
1462 * ace/Thread_Manager.cpp: Reordered several thread operations so they
1463 won't remove thread descriptor directly while traversing the
1464 <thr_list_>. Removed #ifdef <VXWORKS> from template
1465 instantiation section because now VxWorks needs it too.
1467 * ace/Container.{h,cpp}: Added more check on validities of passed in
1468 node to ACE_Double_Linked_List::remove_element. Also changed
1469 the function to reset a node's <prev_> and <next_> to prevent
1470 double removal of a node, which messes up the list structure.
1472 * ace/ace_{dll,lib}.dsp: Excluded Acceptor.cpp from make
1473 explicitly. Moving this file to "template file folder" was not
1476 Tue Nov 4 18:03:51 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
1478 * ace/config-sco*.h: Added #define ACE_DEFAULT_CLOSE_ALL_FILES 0
1479 to the SCO Unix config files.
1481 * ace/ACE.cpp: Added a new macro called
1482 ACE_DEFAULT_CLOSE_ALL_FILES to workaround a bug with SCO Unix.
1483 Thanks to Arturo Montes <mitosys@colomsat.net.co> for reporting
1486 * The ACE developer's drinking song:
1488 100 little bugs in the code,
1489 100 bugs in the code,
1490 fix one bug, compile it again,
1491 101 little bugs in the code.
1492 101 little bugs in the code.....
1494 Thanks to Steve Huston for appreciating the humor in this ;-).
1496 * ace/Containers.cpp (insert_head): Added some minor stylistic
1499 * apps/Gateway/Gateway/Event_Channel.cpp (initiate_acceptor):
1502 if (ACE_Reactor::instance ()->register_handler
1503 (&this->acceptor_, ACE_Event_Handler::ACCEPT_MASK) == -1)
1507 if (this->acceptor_.open(this->options ().acceptor_port_,
1508 ACE_Reactor::instance (), this->options ().blocking_semantics_) == -1)
1510 Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this.
1512 * apps/Gateway/Gateway/Gateway.cpp (parse_args): Changed
1514 ACE_Get_Opt get_opt (argc, argv, "abC:cdP:pq:t:vw:", 0);
1518 ACE_Get_Opt get_opt (argc, argv, "abC:cdP:p:q:t:vw:", 0);
1520 Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this.
1522 Tue Nov 4 18:13:52 1997 Sergio Flores <sergio@macarena.cs.wustl.edu>
1524 * examples/Timer_Queue/Async_Timer_Queue_Test.cpp (cancel):
1525 Initialized act pointer variable to 0, which was causing
1526 core dump in linux. In general, all pointers should be
1527 initialized. This should have been warned by the compiler.
1528 Thanks to Sandro Doro <doros@aureus.sublink.org> for
1531 Tue Nov 4 11:14:35 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
1533 * ace/Containers.cpp: Fixed some stylistic ambiguities.
1535 Tue Nov 04 10:12:21 1997 David L. Levine <levine@cs.wustl.edu>
1537 * include/makeinclude/platform_hpux.GNU: added +a1 to CFLAGS
1538 to select ANSI C, instead of the default K+R C. This is
1539 required with the current ace/Object_Manager.cpp, because
1540 it initialized autos using aggregates (via the
1541 ACE_STATIC_SVC_DEFINE macro). Thanks to Neil B. Cohen
1542 <nbc@metsci.com> for helping to sort this out.
1544 * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp: changed
1545 another lock () to mutex ().
1547 * tests/run_tests.vxworks: added MT_SOCK_Test.
1549 Tue Nov 04 04:13:23 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1551 * ACE version 4.3.36, released Tue Nov 04 04:13:23 1997.
1553 Tue Nov 04 03:50:57 1997 <irfan@TWOSTEP>
1555 * ace/Addr.i (operator == && operator !=): Comparison of
1556 sap.addr_type_ should be with this->addr_type_ and not with 0.
1558 Mon Nov 3 23:18:33 1997 Sergio Flores <sergio@macarena.cs.wustl.edu>
1560 * ace/Synch_T.cpp (dump): change the field lock_ to mutex_.
1562 Mon Nov 3 22:37:58 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
1564 * ace/Timer_Wheel_T.cpp:
1565 * ace/Timer_List_T.cpp:
1566 * ace/Timer_Hash_T.cpp: Changed the use of lock_ to mutex_.
1568 * ace/OS.cpp (cleanup_tss): Added TSS cleanup codes for Win32 when
1569 non-main threads are exiting. Without them, Thread_Manager won't
1570 cleanup its thread table correctly.
1572 * ace/SV_Semaphore_Complex.cpp (close): Changed to return 0
1573 only when this->key_ == -1 instead of <= -1. This was causing
1574 semaphore leaks on Solaris.
1576 * ace/UNIX_Addr.i (operator ==):
1577 * ace/SPIPE_Addr.i (operator ==):
1578 * ace/FILE_Addr.i (operator ==):
1579 * ace/DEV_Addr.i (operator ==):
1580 * ace/INET_Addr.cpp (operator ==): Added checking for the same
1581 Addr types for addresses under comparison. Thanks to Stephen
1582 Coy <stevec@magna.com.au> for pointing out the problem.
1584 Mon Nov 03 18:32:42 1997 Carlos O'Ryan <coryan@MILONGA>
1587 * ace/Timer_Queue_T.h:
1588 * ace/Timer_Queue_T.cpp:
1589 * ace/Timer_Heap_T.cpp:
1593 Changed the method name from lock() to mutex(), otherwise the
1594 lame HP/C++ compiler gets completely confused. Also changed the
1595 field from lock_ to mutex_
1597 Mon Nov 3 17:15:17 1997 Steve Huston <shuston@riverace.com>
1599 * ace/OS.h: Removed "class ace_dewarn_gplusplus;" from the
1600 ACE_CLASS_IS_NAMESPACE macro. Produces warnings on AIX and
1601 shouldn't be needed.
1603 Mon Nov 3 15:49:18 1997 Chris Cleeland <cleeland@cs.wustl.edu>
1605 * ace/Connector.cpp (connect): "Fixed" so that the service handler
1606 pointer passed in by the caller doesn't change until the connect
1607 completes without errors.
1609 Mon Nov 03 08:15:21 1997 David L. Levine <levine@cs.wustl.edu>
1611 * ace/Managed_Object.[hi] (get_preallocated_{object,array}):
1612 inlined function definitions into the class header so that
1613 it compiles on AIX 4.1 w/ xlC 3.01. Thanks to Bob Lyng
1614 <rlyng@synertech.highmark.com> for reporting this problem,
1615 at to Steve H. for testing the fix.
1617 * include/makeinclude/{platform_linux*.GNU,wrapper_macros.GNU},
1618 netsvcs/lib/Makefile: suppress -g when compiling ace/Timer_Hash.cpp
1619 and netsvcs/lib/Server_Logging_Handler.cpp on Linux only.
1620 (It really only needs to be suppressed on Linux/Alpha.)
1622 * apps/Gateway/Gateway: protect instantiation of
1623 ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_MT_SYNCH>
1624 with ACE_HAS_THREADS.
1626 * ace/{Naming_Context.cpp,Service_Config.cpp,Object_Manager.cpp}:
1627 moved ACE_Naming_Service and ACE_Service_Manager static service
1628 objects to ACE_Object_Manager.
1630 With this change, the ACE library no longer has any static
1631 objects that require destruction.
1633 * ace/Object_Manager.h: added documenation of
1634 ACE_HAS_NONSTATIC_OBJECT_MANAGER config #define.
1636 * performance-tests/Misc/preempt.cpp: cleaned up cleanup so that
1637 it compiles cleanly.
1639 Sun Nov 02 18:09:14 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1641 * ACE version 4.3.35, released Sun Nov 02 18:09:14 1997.
1643 Sun Nov 2 15:31:45 1997 Douglas C. Schmidt <schmidt@polka.cs.wustl.edu>
1645 * ace/Select_Reactor.i (cancel_timer): Make sure that we don't try
1646 to call cancel() through a NULL this->timer_queue_. Thanks to
1647 Stephen Coy <stevec@wsa.com.au> for reporting this.
1649 * ace/ACE.cpp (set_handle_limit): Fixed a subtle bug that occurs
1650 if the OS doesn't like non-initialized rlimit structs. Thanks
1651 to Stephen Coy <stevec@wsa.com.au> for reporting this.
1653 * examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp (main):
1654 Renamed allocator to my_alloc to work around wonderful STL and
1655 GCC problems... Thanks to Ben Eng <ben@jetpen.com> for
1658 * examples/System_V_IPC/SV_Semaphores/Semaphores_1.cpp: Removed
1659 unused constant SHMSZ. Thanks to Ben Eng <ben@jetpen.com> for
1662 * examples/Reactor/Misc/test_time_value.cpp (operator<<): Removed
1663 the "dec" stream manipulator since it isn't portable. Thanks to
1664 Ben Eng <ben@jetpen.com> for reporting this.
1666 * performance-tests/Misc/preempt.cpp (main): Cleaned up this test
1667 so it compiles on non-threaded platforms. Thanks to Ben Eng
1668 <ben@jetpen.com> for reporting this.
1670 * examples/Timer_Queue/main_*.cpp (main): std::auto_ptr does not
1671 have an operator= that accepts a raw pointer. Therefore, we
1672 must assign raw pointers to an auto_ptr via the constructor.
1673 Thanks to Ben Eng <ben@jetpen.com> for reporting this.
1675 * apps/Gateway/Gateway/Proxy_Handler.cpp: Make sure we distinguish
1676 between ACE_NULL_SYNCH and ACE_MT_SYNCH since these will be
1677 different on all platforms, whereas ACE_SYNCH will be the same
1678 as ACE_NULL_SYNCH on platforms without threads. Thanks to Ben
1679 Eng <ben@jetpen.com> for reporting this.
1681 * ace: Removed lots of uses of NULL and replaced them with 0.
1682 This works around bugs with lame C++ compilers that treat NULL
1683 as (void *). Thanks to Ben Eng <ben@jetpen.com> for reporting
1686 * ace/Thread.i (spawn): Replaced "stack" with "thr_stack" to work
1687 around bugs with lame C++ compilers and STL. Thanks to Evgeny
1688 Beskrovny <evgeny_beskrovny@icomverse.com> for reporting this.
1690 Sat Nov 1 11:55:05 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
1692 * ace/config-irix5.3-g++.h,
1693 ace/config-irix5.3-sgic++.h: Removed the ACE_HAS_SYS_SIGLIST
1694 macro since it doesn't seem to be working. Thanks to Laura
1695 Paterno <lpaterno@d0chb.fnal.gov> for reporting this.
1697 * include/makeinclude/platform_chorus.GNU: Tidied up
1698 platform_chorus.GNU a bit. Thanks to Wei Chiang
1699 <chiang@tele.nokia.fi> for this.
1701 Fri Oct 31 14:35:37 1997 David L. Levine <levine@cs.wustl.edu>
1703 * ace/OS.cpp (thr_create): on Chorus, double the stack size to
1704 avoid bad problems. Thanks to Wei Chang <chiang@tele.nokia.fi>
1705 for diagnosting this.
1707 * ace/Hash_Map_Manager.cpp (unbind_i): set the int_id
1708 reference argument instead of ignoring it. Thanks to
1709 Wei Chang <chiang@tele.nokia.fi> for providing the patch.
1711 * ace/OS.h,README: wrapped #include of dlfcn.h with
1712 ACE_HAS_DLFCN_H_BROKEN_EXTERN_C to support RedHat 4.2
1715 * ace/OS.i,README: added ACE_HAS_GETRUSAGE_PROTO support, for
1716 platforms that have a getrusage () prototype that is
1717 different from the one in OS.i.
1719 * ace/config-linux.h: added added some #defines to enable
1720 builds on RedHat 4.2/Linux 2.0.30/Alpha.
1722 * include/makeinclude/platform-linux.GNU: added -pipe and
1723 bumped optimization level up to -O3.
1725 * ace/Thread_Manager.cpp (wait_task): no-op if thr_list_
1726 size is 0. wait_task () can be called under that condition
1727 (after Thread_Manager::wait () has returned) from an
1728 ACE_Stream destructor, through ACE_Module::close () and
1729 ACE_Task_Base.wait (). Without this change, wait_task ()
1730 allocated a copy_table array of size 0. Sun C++ leaked
1731 that array, according to Purify.
1733 * ace/Service_Config.*,Object_Manager.cpp: moved static
1734 ACE_Service_Config::signal_handler_ to Object_Manager.
1736 * include/makeinclude/rules.local.GNU (show_statics,show_uninit):
1737 added $(TOOLENV) to allow specification of full path to nm.
1738 Thanks to Wei Chiang <chiang@tele.nokia.fi> for this suggestion.
1740 * include/makeinclude/platform_chorus.GNU: added trailing "/"
1741 to TOOLENV definition, so that it can be empty when not used.
1743 * ACE-INSTALL.html,include/makeinclude/wrapper_macros.GNU:
1744 added documentation for ACE show_statics and show_uninit targets.
1745 These are only supported with g++.
1747 Fri Oct 31 00:53:52 1997 <irfan@TWOSTEP>
1749 * The following five changes were suggested by Stephen Coy
1750 <stevec@wsa.com.au>. Thanks Stephen.
1752 * ace/OS.h (ACE_CLASS_IS_NAMESPACE): Changed friend
1753 ace_dewarn_gplusplus to friend class ace_dewarn_gplusplus.
1755 * ace/Malloc_T.h: Move the #include files to just after the
1756 declaration of the macros, otherwise Containers.cpp will be
1757 #included before the definition of the various allocator macros
1758 (such as ACE_ALLOCATOR_RETURN) have been seen (when
1759 ACE_TEMPLATES_REQUIRE_SOURCE is defined).
1761 * ace/Hash_Map_Manager.cpp (close_i): Changed &table[i] to
1764 * ace/Containers.h: The ACE_Node destructor needs to be publicly
1765 accessible in order to support the
1766 ACE_HAS_HPUX_ACC_BROKEN_TEMPLATE_DESTRUCTOR fix. Unfortunately,
1767 making the template function
1768 ACE_Destructor_Template_For_HPUX_aCC_Only a friend does not seem
1769 to work (although it should).
1771 * ace/ACE.cpp (ldfind): Changed path_entry from char* to
1774 * tests/Priority_Reactor_Test.cpp (main): Fixed auto_ptr usage.
1775 Thanks to Jack Erickson (jack@pinion.com) for pointing this out.
1777 * ace/OS.h (ACE_CLASS_IS_NAMESPACE): Changed the macro to not
1778 include the destructor. This causes undefined destructor
1779 problems on Win32. Also added ACE_UNIMPLEMENTED_FUNC macros
1780 around the remain functions.
1782 Thu Oct 30 21:22:47 1997 David L. Levine <levine@cs.wustl.edu>
1784 * ace/Makefile: added auto Svc_Conf_[ly].cpp patches.
1786 * etc/Svc_Conf_[ly].cpp.diff,README: the ace/Svc_Conf_[ly].cpp
1787 patches, and instructions for updating them.
1789 Thu Oct 30 19:54:50 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1791 * ACE version 4.3.34, released Thu Oct 30 19:54:50 1997.
1793 Thu Oct 30 17:49:56 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
1795 * tests/Priority_Task_Test.cpp (main): Moved "int status" out of
1796 the #if defined (ACE_HAS_THREADS) so that it will compile when
1797 the platform *doesn't* have threads.
1799 * ace/Synch_T.i (ACE_TSS): Added a missing ':' that was causing
1800 problems on platforms that lack threads. Thanks to Laura
1801 Paterno <lpaterno@d0chb.fnal.gov> for helping to track this
1804 * ace/Signal.cpp (register_handler): Make sure not to use
1805 SA_SIGINFO if we're running on LynxOS. At some point, we'll
1806 want to generalize this, once enough OS platforms support POSIX
1807 real-time signals. Thanks to Kirill.Rybaltchenko
1808 <Kirill.Rybaltchenko@cern.ch> for reporting this.
1810 * include/makeinclude/platform_chorus.GNU (CXX): Replaced
1811 DCFLAGS += -g with DCFLAGS += -gstabs+. Thanks to
1812 Wei Chiang for this.
1814 * ace/OS.cpp: It's not valid to set the NULL_key to anything other
1815 than implicit initialization. In particular, if we set it to -1
1816 it breaks on pthreads systems... Thanks to Check Gehr for
1819 * ace/config-irix5.3*++.h: Added ACE_NEEDS_SYSTIME_H. Thanks to
1820 Laura Paterno <lpaterno@d0chb.fnal.gov> for reporting the
1823 * ace/OS.h: Moved the unistd.h files back down to where
1824 they originally were defined since this was unnecessary.
1826 * include/makeinclude/platform_chorus.GNU (CXX): Replaced
1827 DCFLAGS += -g with DCFLAGS += -gstabs+. Thanks to
1828 Wei Chiang for this.
1830 Thu Oct 30 17:41:19 1997 James C Hu <jxh@lambada.cs.wustl.edu>
1832 * ace/OS.h: Stray semi-colon removed from ACE_CLASS_IS_NAMESPACE
1835 Thu Oct 30 17:04:52 1997 <irfan@TWOSTEP>
1837 * ace/OS.h (ACE_CLASS_IS_NAMESPACE): Changed the macro to not
1838 include the destructor. This causes undefined destructor
1839 problems on Win32. Also added ACE_UNIMPLEMENTED_FUNC macros
1840 around the remain functions.
1842 Thu Oct 30 10:50:21 1997 Chris Cleeland <cleeland@cs.wustl.edu>
1844 * ace/OS.h: Added new macro--ACE_CLASS_IS_NAMESPACE ()--to
1845 designate that a class is being used as a pseudo-namespace. It
1846 declares private CTOR, Copy CTOR, and DTOR, as well as a friend
1847 declaration in order to de-warn on g++. Typical usage would be
1850 class FooBarNamespace
1852 ACE_CLASS_IS_NAMESPACE (FooBarNamespace);
1858 The ACE_OS class has been updated to use this.
1860 * ace/ACE.h: Updated class ACE to use the new
1861 ACE_CLASS_IS_NAMESPACE ().
1863 * ace/OS.i (getopt): Changed ACE_LACKS_SOME_POSIX_PROTOTYPES back
1864 to ACE_LACKS_POSIX_PROTOTYPES so that a clean build on Linux is
1866 (msgsnd): Corrected errant spelling from
1867 ACE_LACKS_POSIX_SOME_PROTOTYPES to
1868 ACE_LACKS_SOME_POSIX_PROTOTYPES.
1870 Thu Oct 30 06:14:58 1997 David L. Levine <levine@cs.wustl.edu>
1872 * Makefile,ACE-INSTALL: removed ACE-INSTALL from CVS control.
1873 It will only be created when a release is made in
1874 /project/adaptive/ACE_wrappers, and not put under CVS control.
1876 * ace/Manager_Object.h: added ACE_INLINE specifier to
1877 get_preallocated_object/array declarations. Thanks to
1878 Torbjorn Lindgren <tl@funcom.no> for reporting this.
1880 * ace/Synch.cpp: removed duplicate
1881 ACE_Write_Guard<ACE_RW_Thread_Mutex> instantiation. Thanks to
1882 Torbjorn Lindgren <tl@funcom.no> for reporting this.
1884 * tests/Conn_Test.cpp: fixed template instantiation pragmas.
1885 Thanks to Torbjorn Lindgren <tl@funcom.no>, again.
1887 * tests/SPIPE_Test.cpp: replaced ACE_UNUSED_ARG of client and server
1888 with conditional compilation of those functions. Thanks to
1889 Torbjorn Lindgren <tl@funcom.no> for snagging this.
1891 * ace/OS.{h,cpp},Object_Manager.cpp (tss_open,tss_close): removed
1892 tss_open () dynamic allocation option because it wasn't used.
1893 Removed tss_close() because it was a no-op without tss_open ()
1896 * ace/OS.cpp (tss_open): On VxWorks, don't check for 0 tss_base ().
1897 It's not always 0 on program startup, especially if a program
1898 has been previously run by the shell directly, without spawning
1899 a new task to run it.
1901 * ace/OS.*: added ACE_TSS_EMULATION support for non-scalar
1902 ACE_thread_key_t. Thanks to Chuck Gehr <gehr@sweng.stortek.com>
1903 for motivating this.
1905 * ace/config-mvs.h: added ACE_HAS_NONSCALAR_THREAD_KEY_T. It
1906 is only used with ACE_HAS_TSS_EMULATION, which currently is
1907 not supported on MVS.
1909 * ace/OS.cpp (ACE_Thread_Adapter::invoke): cleaned up this function.
1911 Thu Oct 30 03:25:13 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
1913 * ace/Hash_Map_Manager.cpp (close_i): Can't use ACE_DES*
1914 template. Have I been here before?
1916 Thu Oct 30 03:03:41 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
1918 * ace/Hash_Map_Manager.cpp (close_i): Changed to use ACE_DES* macros.
1920 * ace/OS.h: Moved ACE_Allocator related macros to Malloc_T.h
1922 * ace/Malloc_T.h: Moved ACE_Allocator related macros from OS.h.
1923 Added two macros ACE_DES_NOFREE and ACE_DES_NOFREE_TEMPLATE to
1924 call objects' destructors explicitly. This is required to
1925 take care of some "broken" compilers. Thanks to Stephen Coy
1926 <stevec@magna.com.au> for providing the fix for HP-UX aCC.
1929 * ace/config-hpux-10.x-hpc++.h: Added flag
1930 ACE_HAS_HPUX_ACC_BROKEN_TEMPLATE_DESTRUCTOR.
1932 Thu Oct 30 02:56:25 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
1934 * ACE version 4.3.33, released Thu Oct 30 02:56:25 1997.
1936 Thu Oct 30 01:03:21 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
1938 * ace/LOCK_SOCK_Acceptor.cpp: Added a #include of "ace/Synch.h" so
1939 that the Conn_Test.cpp will compile on HP/UX. Thanks to Stephen
1940 Coy <stevec@magna.com.au> for reporting this.
1942 Wed Oct 29 22:55:15 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
1944 * ace/config-vxworks5.x-g++.h:
1945 * ace/config-unixware-2.1.2-g++.h:
1946 * ace/config-unixware-2.01-g++.h:
1947 * ace/config-sunos5.5-g++.h:
1948 * ace/config-sunos5.4-g++.h:
1949 * ace/config-sunos4-g++.h:
1950 * ace/config-osf1-4.0.h:
1951 * ace/config-osf1-4.0-g++.h:
1952 * ace/config-linux.h:
1953 * ace/config-linux-pthread.h:
1954 * ace/config-linux-lxpthreads.h:
1955 * ace/config-irix6.x-g++.h:
1956 * ace/config-irix5.3-g++.h:
1957 * ace/config-hpux-10.x-g++.h:
1958 * ace/config-gcc-2.7.2.h:
1959 * ace/config-freebsd.h:
1960 * ace/config-freebsd-pthread.h:
1961 * ace/config-chorus.h:
1962 * ace/config-aix-4.1.x.h:
1963 * ace/README: Removed ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR.
1964 It is no longer in use.
1966 Wed Oct 29 21:12:55 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
1968 * ace/README: Added a new macro called ACE_LACKS_SOCKET_BUFSIZ,
1969 which is enabled on VxWorks.
1971 * ace/OS.h: Added a new macro called
1972 ACE_DEFAULT_MAX_SOCKET_BUFSIZ, which is set to 65536.
1974 * ace/OS: Changed the tolower() method to to_lower() so that it
1975 won't conflict if there's a macro with the same name.
1977 * ace/OS.h: #include <unistd.h> before ACE_Time_Value as long as
1978 ACE_LACKS_UNISTD_H is false. Added this flag to the VxWorks and
1979 Win32 config.h files.
1981 * ace/OS.h: Added a special #define for IRIX5, which seems to put
1982 timeval in a strange file... Also, moved this #include to
1983 *before* ACE_Time_Value. Thanks to Carlos O'Ryan for suggesting
1984 this and to Laura Paterno <lpaterno@d0chb.fnal.gov> for
1985 reporting the problem in the first place.
1987 * ace: Changes all uses of the overly long
1988 ACE_LACKS_POSIX_PROTOTYPES_FOR_SOME_FUNCS to
1989 ACE_LACKS_SOME_POSIX_PROTOTYPES. However, I'm not really sure
1990 how this relates to the ACE_LACKS_POSIX_PROTOTYPES macro. I
1991 suspect we probably only need one of these...
1993 * ace/OS.h: Added a new ACE_HAS_STDARG_THR_DEST to handle
1994 weirdness with LynxOS. Thanks to Kirill.Rybaltchenko
1995 <Kirill.Rybaltchenko@cern.ch> for reporting this.
1997 * ace: OS.h,config-lynxos.h: Added a new ACE_LACKS_GETOPT_PROTO
1998 for LynxOS. Thanks to Kirill.Rybaltchenko
1999 <Kirill.Rybaltchenko@cern.ch> for reporting this.
2001 * ace/config-lynxos.h: Replaced
2002 ACE_LACKS_POSIX_PROTO_FOR_SOME_FUNCS with
2003 ACE_LACKS_POSIX_PROTOTYPES_FOR_SOME_FUNCTIONS. Thanks to
2004 Kirill.Rybaltchenko <Kirill.Rybaltchenko@cern.ch> for reporting
2007 Wed Oct 29 22:17:03 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
2009 * ace/config-hpux-10.x-hpc++.h (ACE_HAS_TEMPLATE_SPECIALIZATION):
2010 Moved to C++ section. Restored ACE_TEMPLATE_REQUIRE_SOURCE in
2011 C++ section. Thanks to Stephen Coy <stevec@magna.com.au> for
2012 providing the fix (patiently.)
2014 Wed Oct 29 20:30:55 1997 James C Hu <jxh@lambada.cs.wustl.edu>
2016 * ace/OS.i (strlen): Moved it earlier so that it would be declared
2019 * ace/OS.i (strcasecmp): Removed spurious semi-colons (how did
2020 they get in there?).
2022 Wed Oct 29 18:51:12 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
2024 * ace/OS.{h,i}: Added strcasecmp functionality for NT
2026 Wed Oct 29 15:56:01 1997 David L. Levine <levine@cs.wustl.edu>
2028 * ace/OS.cpp: replaced ACE_TSS_REF_TABLE with a reference count to
2029 remove dynamic allocation from ACE_TSS_Info. Also, enabled call
2030 of ACE_Task close hook before calling TSS destructors.
2032 * ace/OS.cpp: changed a few TSS 0 keys to ACE_OS::NULL_key.
2034 * ace/Thread_Manager.cpp (ace_thread_manager_adapter): with
2035 TSS_EMULATION, moved the call of tss_close () from here to
2036 ACE_Thread_Adapter::invoke () so that it can be called after
2037 the task's close hook, if any.
2039 * ace/{OS.h,Log_Msg.h,Object_Manager.cpp} (cleanup_tss): added
2040 an argument to indicate whether the main thread is calling or not.
2042 * ace/OS.i (ACE_TSS_Emulation::next_key): start key values at
2043 0 instead of 1, because it's easier to deal with arrays of
2044 keys then. That also corresponds with the starting key value
2047 * ace/IOStream.h: DEC_CXX #includes now depend on compiler version.
2048 Thanks to James Johnson <jcej@lads.com> for providing the fix.
2050 Wed Oct 29 10:32:16 1997 David L. Levine <levine@cs.wustl.edu>
2052 * ace/config-lynxos.h: fixed ACE_LACKS_POSIX_PROTOTYPES_FOR_SOME_FUNCS
2053 and added getopt () declaration.
2055 * include/makeinclude/platform_lynxos.GNU: updated LIBS.
2057 Thanks to Kirill Rybaltchenko <Kirill.Rybaltchenko@cern.ch> for
2060 * etc/purify.solaris2: added another _thrp_exit UMR.
2062 * include/makeinclude/wrapper_macros.GNU: added login (LOGNAME)
2063 and compiler (CXX) to Purify/Quantify cache names.
2065 Wed Oct 29 08:40:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2067 * ACE version 4.3.32, released Wed Oct 29 08:40:38 1997.
2069 Wed Oct 29 07:39:38 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
2071 * ace/Synch.cpp: Added an explicit template instantiations for
2072 ACE_Guard<ACE_Process_Mutex>.
2074 * ace/LOCK_SOCK_Acceptor.h: Removed the typedef of
2075 ACE_SOCK_Acceptor with a full expansion of the name to fix a G++
2078 * tests/Conn_Test.cpp: Fixed a template instantiation problem.
2080 * ACE-INSTALL.html: Pointed out that ACE is ported to LynxOS and
2083 * ACE-INSTALL.html: Added information about cloning that explains
2084 how you must to build a config.h and platform_macros.GNU in
2085 cloned directory. Thanks to Arturo for this.
2087 * bin/Makefile: Added
2088 $(ACE_ROOT)/include/makeinclude/platform_macros.GNU to Makefile
2089 so we can compile clone on any ACE platform. Thanks to Arturo
2092 * include/makefiles: Added new platform file for SCO UNIX with
2093 nothreads. Thanks to Arturo for this.
2095 * ace: Added new config files for SCO UNIX with nothreads.
2096 Thanks to Arturo for this.
2098 * apps/JAWS/server/HTTP_Server.cpp: Fixed the typedef for
2099 ACE_LOCK_SOCK_Acceptor. Thanks to Hans Rohnert for reporting
2102 * tests/Conn_Test.cpp: Changed template instantiations from
2103 SOCK_ACCEPTOR to LOCK_SOCK_ACCEPTOR. Thanks to Han Rohnert for
2106 Wed Oct 29 02:10:37 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2108 * ACE version 4.3.31, released Wed Oct 29 02:10:37 1997.
2110 Wed Oct 29 01:25:54 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
2112 * tests/Conn_Test.cpp: Modified Conn_Test to fully integrate
2113 Irfan's new LOCK_SOCK_Acceptor. This new implementation is
2114 truly the "mother of all Conn_Tests" ;-).
2116 * ace/LOCK_SOCK_Acceptor.cpp (lock): Added a lock() accessor
2117 method to the new ACE_LOCK_SOCK_Acceptor so that we can remove
2120 Wed Oct 29 00:29:52 1997 <irfan@TWOSTEP>
2122 * apps/JAWS/server: Fixed Win32 related compilation errors.
2124 * ace/OS.h (SIGUSR1 and SIGUSR2): Added new defines for these two
2127 * ace/LOCK_SOCK_Acceptor: New class added to ACE (it was
2128 originally a class in JAWS). It specialize ACE_SOCK_Acceptor to
2129 lock around <accept>. This class is particular useful if you
2130 want to have multiple threads accepting on the same endpoint and
2131 the system does not support have thread safe accept. Thanks to
2132 James Hu who initially wrote this class for JAWS. Thanks also
2133 to Johannes Gutleber <Johannes.Gutleber@cern.ch> who decided to
2134 use this in the Conn_Test.
2136 * tests/Conn_Test.cpp: Updated to use the new LOCK_SOCK_Acceptor.
2138 * apps/JAWS/server/HTTP_Server.h: Updated to use the new
2141 * apps/JAWS/server/HTTP_Server_T.*: These files are no longer
2142 necessary since this class has been absorbed into ACE.
2144 * tests: Fixed auto_ptr use in:
2146 Notify_Performance_Test.cpp
2147 Priority_Reactor_Test.cpp
2148 Reactor_Performance_Test.cpp
2150 Thanks to Jack Erickson (jack@pinion.com) for pointing this out.
2152 Tue Oct 28 11:26:39 1997 Nanbor Wang <nw1@CHA-CHA>
2154 * ace/ace_{dll,lib}.dsp: Moved Acceptor.cpp from Source file
2155 folders to Template file folders. Thanks to Satheesh Kumar
2156 <satheesh@aspectdv.com> for pointing this out.
2158 Tue Oct 28 05:44:56 1997 David L. Levine <levine@cs.wustl.edu>
2160 * ace/OS.cpp (thr_create): use pthread_attr_setprio instead of
2161 *_setsched with DCETHREADS, and check return values of
2162 ACE_OS::thr_[gs]etconcurrency (). Thanks to Stephen Coy
2163 <stevec@magna.com.au> for tracking these problems down.
2165 * tests/Priority_Task_Test.cpp (svc): removed ACE_ASSERT and
2166 replaced with setting of error flag. This allows the test
2167 to continue and gather more possibly useful information.
2169 * tests/Conn_Test.cpp: 1) Added template instantiations.
2170 2) Re-enabled with DEC_CXX. 3) Removed THR_DETACHED flags.
2172 * include/makeinclude/platform_osf1_4.0.GNU: suppress warnings
2173 about unreachable statments.
2175 * ACE-INSTALL.html: Conn_Test now runs with DEC_CXX 6.0.
2177 Tue Oct 28 00:38:58 1997 <irfan@TWOSTEP>
2181 ACE_Recycling_Strategy - Added new class ACE_Recycling_Strategy.
2182 It defines the interface (and default implementation) for
2183 specifying a recycling strategy for a SVC_HANDLER. This
2184 strategy acts as a consular to the Svc_Handler, preparing it for
2185 the tough times ahead when the Svc_Handler will be recycled.
2187 ACE_NOOP_Concurrency_Strategy - Added new class
2188 ACE_NOOP_Concurrency_Strategy. It implements a no-op activation
2189 strategy in order to avoid calling open on a recycled
2190 svc_handler multiple times.
2192 ACE_Cached_Connect_Strategy - Added a ACE_Creation_Strategy,
2193 ACE_Concurrency_Strategy, and ACE_Recycling_Strategy to the
2194 cached connector. This gives it more flexibility than by simply
2195 providing template methods. This is similar to the Strategy
2198 ACE_Cached_Connect_Strategy - Added new template methods for
2199 certain key occasions in the cached connector: make_svc_handler,
2200 activate_svc_handler, assign_recycler, and
2201 prepare_for_recycling.
2203 * tests/Conn_Test.cpp (client): Updated the tests such that it
2204 uses a null activation strategy.
2206 Mon Oct 27 22:17:54 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
2208 * OS.h: Added the ACE_NESTED_CLASS macro to deal with those
2209 compilers that do not allow a fully scoped type name appearing
2210 inside a scope in which it was defined.
2212 Mon Oct 27 22:17:32 1997 David L. Levine <levine@cs.wustl.edu>
2214 * ace/Thread_Manager.cpp (exit): don't use the cache when finding
2215 the thread ID. The cache is in the ACE_Log_Msg instance, and
2216 it might have been deleted already.
2218 Mon Oct 27 20:33:07 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2220 * ACE version 4.3.30, released Mon Oct 27 20:33:07 1997.
2222 Mon Oct 27 18:03:06 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
2224 * ACE-INSTALL.html (HREF): Added NT/Alpha to supporting platforms
2225 list. Added hyperlink to ACE newsgroup. Added hyperlink to
2226 FreeBSD homepage. Minor changes to Win32 intstallation guide.
2228 Mon Oct 27 17:50:16 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
2230 * include/makeinclude/platform_sco5.0.0-fsu-pthread.GNU (PRELIB):
2231 Changed PRELIB in platform_sco5.0.0-mit-pthread.GNU,
2232 platform_sco5.0.0-fsu-pthread.GNU to @true, so we can generate
2233 the TAO_IDL compiler. Thanks to Arturo Montes
2234 <mitosys@colomsat.net.co> for reporting this.
2236 Mon Oct 27 14:26:10 1997 <irfan@TWOSTEP>
2238 * ace/Synch_T (ACE_TSS): When ACE does not have thread specific
2239 storage, ACE_TSS will be a simple pointer holder. Previously, it
2240 had a instance as a member, now it has a pointer to an instance.
2242 * ace/WFMO_Reactor.cpp (update_state): Fixed a bug in the
2243 WFMO_Reactor. wakeup_all_threads() used to be an internal
2244 method that was called when changes were made to the state of
2245 the reactor. When wakeup_all_threads() became public, there was
2246 no code in place to handle explicit user wakeups. In
2247 particular, the wakeup_all_threads event was never reset.
2248 Thanks to Evgeny Beskrovny <evgeny_beskrovny@icomverse.com> for
2249 pointing out this bug.
2251 * ace/OS.i (ACE_FAIL_RETURN): Added mapping from
2252 ERROR_PATH_NOT_FOUND to ENOENT. Thanks to David Brackman
2253 <dbrackma@OhioEE.com> for suggesting this.
2255 Mon Oct 27 11:36:39 1997 David L. Levine <levine@cs.wustl.edu>
2257 * ace/OS.cpp (exit_cleanup_i): removed protection against recursive
2258 calls. This protection no longer is necessary, because
2259 ACE_TSS_Cleanup () is only called by ACE_Thread_Adapter::invoke ().
2260 It was problematic because it used the ACE_Allocator instance.
2262 * ace/config-vxworks*.h,README: added ACE_LACKS_FCNTL.
2264 * ace/OS.i,ACE.cpp: replaced #ifdef VXWORKS with #ifdef
2267 * ace/ACE.i (get_flags): return 0 if ACE_LACKS_FCNTL. It would
2268 be better to store ACE's notion of the flags associated with
2269 the handle so that they could be returned, but this works for now.
2271 * tests/run_tests.vxworks: re-enabled Reactors_Test, because it
2272 works with the ACE_LACKS_FCNTL mods.
2274 * include/makeinclude/platform_osf1_4.0.GNU: -pthread instead of
2275 -lpthread in LIBS. Thanks to James Johnson <jcej@lads.com> for
2278 * ACE-INSTALL.html: added info on bin/create_ace_build.
2280 Mon Oct 27 11:11:33 1997 Nanbor Wang <nw1@CUECA>
2282 * netsvcs/servers/servers.dsp
2283 * netsvcs/lib/netsvcs.dsp:
2285 * ace/ace_{dll,lib}.dsp: Added project configurations for Alpha
2286 machines. Configurations are named by adding "Alpha" in front
2287 of the original config names, e.g., "Win32 Alpha Unicode Debug.
2289 Mon Oct 27 06:40:18 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
2291 * include/makeinclude/rules.local.GNU (show_uninit): Added a
2292 missing semi-colon for one of the install rules. Thanks to
2293 Manojkumar Acharya <mja@cvsf325.gpt.co.uk> for reporting this.
2295 * ace/Synch_T.h: Make sure that ACE_Guard::remove() calls
2296 this->lock_->remove() rather than this->lock_->release().
2297 Thanks to Johannes Gutleber <Johannes.Gutleber@cern.ch> for
2300 Mon Oct 27 00:20:13 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
2302 * ace/config-hpux-10.x-hpc++.h: Added directive
2303 ACE_HAS_TEMPLATE_SPECIALIZATION. Thanks to Stephen Coy
2304 <stevec@wsa.com.au> for reporting this.
2306 Sun Oct 26 22:17:57 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2308 * ACE version 4.3.29, released Sun Oct 26 22:17:57 1997.
2310 Sun Oct 26 20:03:57 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
2313 ace/IO_SAP.cpp: Make sure that we don't use fcntl() when
2314 we're compiling on VXWORKS since it's not defined...
2316 * examples/Connection/non_blocking/CPP-connector.cpp: Changed the
2317 method named idle() to uninitialized() since idle() is now
2318 defined on ACE_Svc_Handler.
2320 * ace/OS.h: Added the TAO_DEFAULT_SERVER_PORT to OS.h.
2322 * tests/Conn_Test.cpp (cached_connect): Added a new variable
2323 called "n_client_iterations" to control how many times each
2324 client thread tries to connect with the Cached_Connector.
2326 Sun Oct 26 16:56:32 1997 Chris Cleeland <cleeland@cs.wustl.edu>
2328 * include/makeinclude/platform_linux_lxpthread.GNU (CFLAGS): Added
2329 -pipe to the compile options.
2331 Sun Oct 26 11:04:21 1997 David L. Levine <levine@cs.wustl.edu>
2333 * ace/Hash_Map_Manager.cpp (unbind): added ACE_UNUSED_ARG (int_id).
2335 * tests/Conn_Test.cpp (server): added ACE_UNUSED_ARG (options).
2336 And, added template instantations.
2338 * tests/Conn_Test.cpp (cached_connect): changed type of loop index i
2339 to int to avoid signed/unsigned comparison.
2341 * ace/Strategies_T.h: added #include of ace/Strategies.h. Thanks to
2342 James Johnson <jcej@lads.com> for reporting this.
2344 Sun Oct 26 10:01:01 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
2346 * ace/Connector.cpp (open): The original fix failed to replace
2347 strategies under some circumstances.
2349 * ace/OS.{h,cpp} (sprintf): Removed ACE_OS::sprintf (wchat_t, char).
2350 It didn't ever work.
2352 * ace/Connector.cpp (open): Added check if we had previously
2353 allocated various strategies and deleted these objects before
2354 allocating new objects. The original codes caused memory leaks
2355 and possible segmentation faults if it got called twice. We
2356 probably need a do-nothing constructor (the current constructor
2357 calls open.) However, this may break other codes.
2359 Sun Oct 26 01:00:07 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2361 * ACE version 4.3.28, released Sun Oct 26 01:00:07 1997.
2363 Sun Oct 26 00:50:00 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
2365 * tests/Conn_Test.cpp (close): Since the connect() method on
2366 ACE_Connector closes the svc_handler if failure occurs, we
2367 shouldn't do that again unless we succeed in connecting.
2369 * ace/OS.h: Moved the CORBA portability macros from
2370 CORBA_Handler.h into OS.h so they will be accessible from TAO.
2372 * ace/Filecache.cpp (finish): Replaced filename_ with filename()
2373 so that "const correctness" would work with template
2374 specialization. Go figure!
2376 * TAO/tests/IDL_Cubit/Makefile: Enhanced the "realclean" target to
2377 remove the generated IDL stubs and skeletons.
2379 * ace/OS.cpp (ace_sysconf_dump): Made a minor change to OS.cpp
2380 to fix some typos. Thanks to Wei Chiang <chiang@tele.nokia.fi>
2383 Sun Oct 26 00:06:17 1997 <irfan@TWOSTEP>
2385 * ace/Strategies_T.cpp (~ACE_Cached_Connect_Strategy): Must set
2386 recycler to 0 before calling close, else the svc_handler will
2387 try to purge itself from the cache.
2389 * tests/Conn_Test.cpp (client): Updated to use the new connection
2392 * ace/Hash_Map_Manager:
2394 - ACE_Hash_Map_Reverse_Iterator: Added reverse iterator.
2396 - ACE_Hash_Map_Entry: Added a prev pointer to the entry. Thus
2397 changing the bucket chains into doubly linked lists. Because of
2398 this, it was necessary to change the way the list was being
2399 managed. Sentinels were created for each bucket.
2401 This also changed (a) the way the iterators worked, (b) made it
2402 easy to delete entries when you have one (this scheme allows the
2403 entries to be easily used as ACTs).
2405 - New methods (bind, trybind, rebind, find): These methods allow
2406 the users to get access to ACE_Hash_Map_Entry of the node in
2407 question. This allows the user to treat the entry as an ACT and
2408 get access to the key (in case the user is interested in
2409 changing the key). These methods are only valid since the
2410 implementation of Hash_Map_Manager uses linked lists where nodes
2411 are never copied. These methods cannot be added to Map_Manager
2412 since it uses an array of nodes, where the your data may get
2413 copied to another node when the size of the Map_Manager changes.
2415 * ace/Strategies (ACE_Connection_Recycling_Strategy): Added a new
2416 abstract strategy for recycling connections.
2420 - ACE_Cached_Connect_Strategy: ACE_Cached_Connect_Strategy now
2421 implements the ACE_Connection_Recycling_Strategy interface.
2422 This allows Svc_Handlers to cache themselves with
2423 ACE_Cached_Connect_Strategy when they become idle. It also
2424 allows them to purge themselves from the connection cache when
2425 the Svc_Handlers close down.
2427 Also added ~ACE_Cached_Connect_Strategy that will cleanup up the
2430 - ACE_Hash_Addr: ACE_Hash_Addr is the key for the hash map used by
2431 ACE_Cached_Connect_Strategy. Previously it kept the Svc_Handler
2432 pointer in the key in order to find out if it was busy or not.
2433 Now the <in_use> flag has been moved from the Svc_Handler into
2434 the key. The also saves the Hash_Addr from requiring
2435 Svc_Handler as a template parameter.
2437 Also updated ACE_Hash_Addr::operator== such that if the
2438 Svc_Handler is busy, it does not bother to check compare the
2439 addresses but simply returns false.
2441 * ace/Svc_Handler.cpp: Added the ability for a Svc_Handler to
2442 recycle itself. idle() can be called when the Svc_Handler is
2443 done serving a particular connection and can how be recycled.
2444 The Svc_Handler now also has a pointer to a recycler that is
2445 responsible for managing the connections. The recycler is
2446 usually a Cached_Connector.
2448 * ace/Filecache.cpp (ACE_Hash_Map_Entry): Added a new constructor
2449 specialization as the ACE_Hash_Map_Entry now has two
2452 * tests/Hash_Map_Manager_Test.cpp (ACE_Hash_Map_Entry): Added a
2453 new constructor specialization as the ACE_Hash_Map_Entry now has
2456 * tests/Reactor_Exceptions_Test.cpp (class My_Reactor): Added the
2457 other handle_events method. Thanks to Stephen Coy
2458 (coys@mail.ns.wsa.com.au) for pointing this out.
2460 * ace/Strategies_T.cpp (hash_i): This default routine is no good.
2461 It uses a complicated scheme that calculate a hash value.
2462 Unfortunately, there is no guarantee that this hash algorithm
2463 will produce the same hash value for the same address.
2464 Therefore, it is better just to return a consistent hash value
2465 rather than an erroneous one. I have choosen 0 of the return
2466 value. Even though this will cause all the entries to be hashed
2467 to the 0 bucket, atleast they will be found. Users should
2468 override this to provide better hashing.
2470 (compare_i): Memcmp is not the correct default action.
2471 !(b1==b2) is the correct comparison, though this will assume
2472 that the addresses will have a comparison operation.
2474 * ace/Mem_Map.cpp (close and close_handle): close() is doing too
2475 much. It is closing the handle and unmapping the file.
2476 Changing this method might effect code that depends on this
2477 behavior. Therefore, we create a seperated method
2478 close_handle() that only closes down the handle, and does not
2479 unmap the file. Thanks to Jeff Richards (jrichard@OhioEE.com)
2480 for pointing this out.
2482 * ace/Strategies_T.cpp (connect_svc_handler): If connect() failed
2483 because of timeouts, we have to reject the connection entirely.
2484 This is necessary since currently there is no way for the
2485 non-blocking connects to complete and for the <Connector> to
2486 notify the cache of the completion of connect(). Therefore if
2487 errno is EWOULDBLOCK, it is changed to ENOTSUP and -1 is
2490 Sat Oct 25 17:41:57 1997 Sergio Flores <sergio@macarena.cs.wustl.edu>
2492 * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp:
2493 * examples/Timer_Queue/Async_Timer_Queue_Test.cpp:
2494 * examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp:
2495 * examples/Timer_Queue/main_async.cpp:
2496 * examples/Timer_Queue/main_reactor.cpp:
2497 * examples/Timer_Queue/main_thread.cpp:
2498 Added "#pragma instantiate" for template instantiations on
2499 platforms that use pragmas instead, like SGI.
2501 Sat Oct 25 4:44:00 1997 Carlos O'Ryan <coryan@cs.wustl.edu>
2503 * Today at 06:44 hours (Santiago, 04:44 St. Louis) Fernanda O'Ryan
2504 has joined the ACE family. She was born 3040 gr in weight and
2505 50 cm length. She has absolutely no experience in CORBA, C++ or
2506 programming in general. Therefore, she is the ultimate Java
2509 Sat Oct 25 10:13:56 1997 David L. Levine <levine@cs.wustl.edu>
2511 * ace/Singleton.h: added comment about best ACE_LOCK types to use.
2513 * Makefile (TIMESTAMP): replace tab with spaces in ChangeLog entry.
2515 * tests/Conn_Test.cpp (main): fixed typo, spawn_threads instead of
2516 spawn_thread. Also, protected definitions of spawn_processes ()
2517 and spawn_threads () to avoid compiler warnings about unused static
2520 Sat Oct 25 01:02:34 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2522 * ACE version 4.3.27, released Sat Oct 25 01:02:34 1997.
2524 Fri Oct 24 17:39:08 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
2526 * ace/ACE.cpp: Changed all the ACE_BIT_ENABLED () == 0 macros to
2527 ACE_BIT_DISABLED() since the logic is clearer.
2529 * ace/SOCK_Acceptor.cpp (shared_accept): Improved the handling of
2530 timed accepts. The original implementation was prone to race
2531 conditions if there were multiple processes all doing timed
2532 connects on the *same acceptor socket*! That's because select()
2533 and accept() are not performed atomically. Now, we're smarted
2534 about handling this...
2536 * tests/Conn_Test.cpp: Simplified the shutdown logic, which
2537 appeared to have race conditions.
2539 * tests/Conn_Test.cpp: Modified this test to spawn off a number of
2540 server processes, all of which will listen for connections on
2541 the same acceptor port. This demonstrates a useful idiom for
2542 writing connection-oriented concurrent server pools.
2544 * netsvcs/lib/Server_Logging_Handler_T: Fixed this code so that if
2545 we're on an HP/UX that has broken templates we don't use the
2546 Base_Optimizer. Thanks to Per Andersson for providing this fix.
2548 * ace/Thread_Manager: Added a destructor for ACE_Thread_Descriptor
2549 to keep some compilers happy. Thanks to Chuck Gehr
2550 <gehr@sweng.stortek.com> for reporting this.
2552 * ace/Task.cpp (ACE_Task_Base_cleanup): Changed
2553 ACE_Task_Base::cleanup (object);
2557 ACE_Task_Base::cleanup (object, 0);
2559 Thanks to Chuck Gehr <gehr@sweng.stortek.com> for reporting
2562 * ace/Thread_Manager.cpp (find_thread): Fixed another problem with
2563 == being used to compare threads rather than
2564 ACE_OS::thr_equal(). Thanks to Chuck Gehr
2565 <gehr@sweng.stortek.com> for reporting this.
2567 Fri Oct 24 17:11:14 1997 Sergio Flores <sergio@polka.cs.wustl.edu>
2569 * Thread_Timer_Queue_Test.cpp (shutdown_timer): added logic to
2570 cancel preemptively or voluntarily, the dispatching thread,
2571 depending on whether the platoform supports pthread_cancel().
2573 * Timer_Queue_Adapters.cpp (ACE_Thread_Timer_Queue_Adapter): Added
2574 initialization of <active_> flag to 1, active mode. We assume
2575 we start in active mode. Added an internal variable <thr_id_>
2576 that stores the thread id of the currently running thread. The
2577 motivation behind this is to be able to cancel this thread
2578 whenever we are shutting down. It is initialized to
2579 ACE_OS::NULL_thread.
2581 * Timer_Queue_Adapters.cpp (svc): Assign the <thr_id_> with the
2582 current running thread ID, using ACE_Thread::self ().
2584 * Timer_Queue_Adapters.h (ACE_Thread_Timer_Queue_Adapter): Added
2585 default <ACE_Thread_Manager> to be
2586 ACE_Thread_Manager::instance()
2588 * Timer_Queue_Adapters.h (activate): Override the default
2589 <activate> method to be able to enforce one thread of execution
2590 per timer queue. Does make much sense to have more than one
2591 managing the timer queue, and like Doug said too many weird
2592 things can happen...
2594 * Timer_Queue_Adapters.i (thr_id): Added this method to access the
2595 thread ID of this task.
2597 * Timer_Queue_Adapters.i (activate): Call
2598 ACE_Task_Base::activate() with n_threads = 1 to ensure that a
2599 single thread is spawned.
2601 Fri Oct 24 10:00:02 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
2603 * ace/Thread_Manager.cpp (wait_grp): Fixed a bug. Should wait on
2604 threads with same grp_id, not task.
2606 Fri Oct 24 09:24:14 1997 David L. Levine <levine@cs.wustl.edu>
2608 * ace/Select_Reactor.cpp (open): cast return value of
2609 ACE_::max_handles () to size_t to avoid signed/unsigned comparison.
2611 * ace/Singleton.cpp,Object_Manager.{h,cpp}: (get_singleton_lock):
2612 dynamically allocate ACE_Thread_Mutex and ACE_RW_Thread_Mutex locks,
2613 so we end up with one lock per ACE_Singleton instantiation.
2615 * ace/OS.cpp (ACE_TSS_Info, Win32 and VxWorks only): changed type
2616 of ACE_TSS_TABLE from ACE_Unbounded_Stack to fixed-size ACE_Array.
2617 With this change, we avoid some use of ACE_Allocator when
2618 destroying TSS objects. There are two more changes required to
2619 completely remove the ACE_Allocator use.
2621 * tests/TSS_Test.cpp (worker): added printout of iteration count.
2623 Fri Oct 24 01:53:58 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2625 * ACE version 4.3.26, released Fri Oct 24 01:53:58 1997.
2627 Thu Oct 23 19:05:08 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
2629 * netsvcs/clients/Naming/Client/Makefile
2630 netsvcs/clients/Naming/Dump_Restore/Makefile
2634 SHLIB = libClient_Test.so
2635 SHLIB = libDump_Restore.so
2639 SHLIB = libClient_Test.$(SOEXT)
2640 SHLIB = libDump_Restore.$(SOEXT)
2642 Thanks to Stephen Coy <stevec@magna.com.au> for reporting this.
2644 * ace/Thread_Manager.cpp (find_hthread): Replaced the call
2646 if (iter.next ()->thr_handle_ == h_id)
2650 if (ACE_OS::thr_equal (iter.next ()->thr_handle_, h_id))
2652 since the other one isn't portable to Pthreads. Thanks to
2653 Stephen Coy <stevec@magna.com.au> for reporting this.
2655 * ace/Hash_Map_Manager.cpp: Removed the sentinel in the
2656 Hash_Map_Manager. Sentinels are evil since they require us to
2657 hold write locks, even when we're doing finds!
2659 * ace/ACE.cpp (max_handles): By default, we now try to use the
2660 getrlimit() function before sysconf() since sysconf() doesn't
2661 work "correctly" for NO _SC_OPEN_MAX (i.e., it just returns the
2662 original value, which might have been changed by setrlimit().
2665 * ace/ACE.cpp (max_handles): If FD_SETSIZE is enabled return
2666 this as the number of handles. This isn't perfect, but it's
2667 probably better than returning -1.
2669 * ace/Select_Reactor.cpp (open): Added a call to
2670 ACE::set_handle_limit() if the requested size for the Reactor is
2671 greater than the current max number of descriptors in the
2672 process. Also check to make sure that the user isn't ask for
2673 more than the FD_SETSIZE. Thanks to Neil Lavelle
2674 <nlavelle@imcl.com> for motivating this.
2676 * ace/Thread_Manager: Changed the name THR_FUNC to
2677 ACE_THR_MEMBER_FUNC since it's now a global typedef on VxWorks
2678 and we don't have to have clashes with other names.
2680 * ace/Thread_Manager.h: There are mutually incompatible bugs with
2681 VxWorks and MVS. Therefore, we have to conditionally compile
2682 the THR_FUNC differently for these two platforms. Thanks to
2683 Chuck Gehr <gehr@sweng.stortek.com> for reporting this.
2685 * ace/OS.cpp (thr_create): Added a fix to set the Chorus stack
2686 size correctly. Thanks to Wei Chiang <chiang@tele.nokia.fi> for
2689 * ace/OS.cpp: Added a new method ace_sysconf_dump() to dump the
2690 state of the configuration. Thanks to Wei Chiang
2691 <chiang@tele.nokia.fi> for reporting this.
2693 * ace/Singleton.cpp (dump): There was a typo in the dump() method
2694 for ACE_TSS_Singleton, it should be
2695 ACE_TSS_Singleton::instance_i(). I've fixed this.
2697 Thu Oct 23 23:19:24 1997 James C Hu <jxh@lambada.cs.wustl.edu>
2699 * ace/Filecache.cpp: Removed template method specialization of
2700 shared_find. No longer needed since Hash_Map_Manager has been
2701 changed to no longer rely on sentinel_.
2703 * ace/Thread_Manager.cpp (various):
2704 Hacked 'til it compiled. (Chased down syntax errors.)
2706 Thu Oct 23 22:52:17 1997 Sergio Flores <sergio@polka.cs.wustl.edu>
2708 * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp (shutdown_timer):
2709 Added a line to call the cancel method on the timer queue task
2710 when we are shutting down; this is wrapped around #if's to only
2711 include this only when the platformm supports pthread_cancel().
2713 * ace/Timer_Queue_Adapters.cpp (svc): Added some POSIX thread
2714 cancellation points to make sure the mutex that the condition
2715 variable uses is unlocked before the thread is cancelled.
2717 * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp (list_timer):
2718 Deleted unnecessary cancellation points. Since we are not
2719 blocking on a condition variable, we don't need to guard the
2722 Thu Oct 23 22:07:03 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
2724 * ace/Thread_Manager.cpp (wait_task,wait_grp): We should also
2725 check for thread creation flags when collection information for
2726 threads belong to this group and don't try to join those threads
2727 created with THR_DETACHED or THR_DAEMON.
2729 Thu Oct 23 21:22:16 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
2731 * ACE-INSTALL.html: Copied some documentation about makefile flags
2732 from include/makeinclude/wrapper_macros.GNU and added a section
2735 Thu Oct 23 20:37:44 1997 David L. Levine <levine@cs.wustl.edu>
2737 * ace/Array.*: added ACE_Array_Iterator.
2739 Thu Oct 23 17:28:11 1997 Chris Cleeland <cleeland@cs.wustl.edu>
2741 * ace/Mem_Map.i (close_filemapping_handle): Moved this above its
2742 uses in the file so that g++ would de-warn.
2744 Thu Oct 23 15:30:17 1997 Steve Huston <shuston@riverace.com>
2746 * ace/Timer_Hash_T.h, Timer_Hash.cpp, Timer_Heap_T.h, Timer_Heap.cpp,
2747 Timer_List_T.h, Timer_List.cpp, Timer_Queue_T.h, Timer_Queue.cpp,
2748 Timer_Wheel_T.h, Timer_Wheel.cpp: Replaced all occurences of
2749 ACE_HPUX_BROKEN_TEMPLATES with ACE_HAS_BROKEN_HPUX_TEMPLATES.
2751 Wed Oct 22 23:23:29 1997 Nanbor Wang <nw1@COYOTE>
2753 * ace/ACE_Library.*, ace_lib.dsp: Made naming convention uniform
2754 for some less used ACE library. They are called: aced.dll,
2755 ace.dll, aceud.dll, aceu.dll, acesd.lib, aces.lib, aceusd.lib
2756 and aceus.lib. If you are using ACE on NT, you know what they
2759 Wed Oct 22 21:22:35 1997 David L. Levine <levine@cs.wustl.edu>
2761 * ace/Object_Manager.{h,cpp}: Added support for ACE_RW_Thread_Mutex
2762 ACE_Singleton lock type. Thanks to Nanbor for suggesting this,
2763 because TAO needs it.
2765 Also, removed at_exit registration of dynamically allocated
2766 ACE_Static_Object_Lock because Object_Manager instance isn't
2767 available for registration when it's created. Instead, handle
2768 this lock as a special case in the Object_Manager destructor.
2770 * ace/Singleton.cpp,Object_Manager.cpp: check for shutting_down ()
2771 as well as starting_up () when deciding whether to use a
2772 preallocated lock. Preallocated locks are not available at those
2775 * tests/Reactor_Performance_Test.cpp (client): removed declaration
2776 of loop index "i" because it shadowed a local. Also, the loop
2777 index declaration caused a signed/unsigned comparison.
2779 * ace/Singleton.cpp: temporarily disabled ACE_Guards until
2780 the lock acquistion is fixed.
2782 Wed Oct 22 17:53:26 1997 Steve Huston <shuston@riverace.com>
2784 * ace/SOCK_Connector.cpp: In connect(), changed the
2785 (local != ACE_Addr::sap_any) to be value comparison,
2786 not pointer comparison. Works on compilers which construct
2787 temporaries when a const reference is passed (like HP aC++), and
2788 also when a user passes an ACE_Addr which they construct to look
2789 just like an ACE_Addr::sap_any. Thanks to Stephen Coy
2790 <stevec@magna.com.au> for finding this.
2792 Wed Oct 22 16:43:25 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu>
2794 * tests/Reactor_Performance_Test.cpp (client): Corrected some code
2795 that wasn't logical (but compiled!) in the connect_n() test.
2797 Wed Oct 22 13:27:47 1997 Douglas C. Schmidt <schmidt@watusi.cs.wustl.edu>
2799 * tests/Reactor_Performance_Test.cpp (client): Revised the
2800 connection portion of this test to use the newly revised
2801 connect_n() method on Connector.
2803 * ace/Connector.cpp (connect_n): Revised the connect_n() method so
2804 that it keeps track of which connections succeeded and which
2807 Wed Oct 22 07:23:21 1997 David L. Levine <levine@cs.wustl.edu>
2809 * ace/OS.i (getpgid): fixed (commented) ACE_TRACE identifer.
2810 Thanks to Eric Newton <ecn@smart.net> for reporting this.
2812 * ace/Singleton.{h,cpp},Object_Manager.{h,cpp}: moved
2813 ace_singleton_lock_ to Object_Manager. ace_singleton_lock_
2814 was a static data member: in addition to the usual troubles
2815 associated with being a static, it was a static member of a
2816 template class. g++ can't handle those, so we used a local
2817 static; initialization of that static was not thread safe.
2819 The fix relies on knowledge from the Object_Manager about
2820 whether the program is in static construction phase or not.
2821 A critical assumption is that construction of static objects
2822 does not spawn threads. With that assumption, we know that
2823 there is only one (main) thread in the program prior to the
2824 Object_Manager instance being constructed. At that time,
2825 locking is not needed. The ACE_{TSS_}Singleton::instance ()
2826 methods rely on the state of the Object_Manager: if it has
2827 not been constructed yet, then they don't guard allocation
2828 of their singleton instance.
2830 The Object_Manager constructs four locks (of types ACE_Null_Mutex,
2831 ACE_Thread_Mutex, ACE_Recursive_Thread_Mutex, and
2832 ACE_RW_Thread_Mutex) for use only by ACE_Singleton classes.
2833 After the Object_Manager has been constructed, ACE_{TSS_}Singleton
2834 instantiations use one of those locks to guard their allocation of
2835 a new instance, via double-checked locking.
2837 This change has one impact, then:
2838 ACE_{TSS_}Singleton users are limited to the following types
2839 for their ACE_LOCK instantiation parameters: ACE_Null_Mutex,
2840 ACE_Thread_Mutex, ACE_Recursive_Thread_Mutex, and
2841 ACE_RW_Thread_Mutex. If another type is needed, it can be
2842 easily added to the ACE_Object_Manager: another overloaded
2843 get_singleton_lock () function and preallocated lock would
2846 As noted in Singleton.h, the best types of ACE_LOCKs to use
2847 for instantiating ACE_Singleton are ACE_Recursive_Thread_Mutex
2850 In addition to the above change, I made these two other
2852 1) ACE_Static_Object_Lock::instance (): dynamically allocate
2853 a lock if the Object_Manager has not been constructed yet.
2854 This approach replaces the static lock that was necessary
2855 to allow the static services to be constructed.
2857 2) Consolidated the singleton_ access in ACE_TSS_Singleton
2858 via a singleton_i () internal accessor function. Now,
2859 ACE_TSS_Singleton looks just like ACE_Singleton.
2861 * ACE-INSTALL.html: updated DEC CXX 6.0 build/test status.
2863 * examples/Service_Configurator/IPC-tests/server/Handle_Timeout.i
2864 (handle_timeout): convert arg to long if ACE_HAS_64BIT_LONGS.
2866 * examples/Shared_Malloc/test_malloc.cpp (worker): convert arg to
2867 long if ACE_HAS_64BIT_LONGS.
2869 * examples/Timer_Queue/Driver.cpp (run_test,parse_commands):
2870 added ACE_NOTREACHED.
2872 * examples/Logger/simple-server/Logging_Handler.cpp (handle_close):
2873 removed declaration of unused arg "mask".
2875 * include/makeinclude/rules.local.GNU: added show_statics and
2876 show_uninit targets. They show the statics (that have static
2877 destructor calls) and uninitialized data in the object files
2878 in the current directory. They work best (or at all) on object
2879 files compiled by g++.
2881 Wed Oct 22 05:04:07 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2883 * ACE version 4.3.25, released Wed Oct 22 05:04:07 1997.
2885 Tue Oct 21 22:55:36 1997 <irfan@TWOSTEP>
2887 * ace/WFMO_Reactor: Removed ACE_Event_Handler::CLOSE_MASK and the
2888 explicit registration for the closing of sockets from
2889 WFMO_Reactor. This is essentially for compatibility with UNIX
2890 programs. UNIX does not have a CLOSE_MASK and the notification
2891 of the closing of a socket is implicit in the socket becoming
2892 read ready. Therefore when you register for
2893 ACE_Event_Handler::READ_MASK with WFMO_Reactor, you will
2894 register for FD_READ and FD_CLOSE. When FD_CLOSE is triggered,
2895 handle_input() will be called on the Event_Handler. As on UNIX,
2896 read() will return 0 and the programmer will be able to tell
2897 that the socket has actually closed down.
2899 Arguably, this is lame for Win32 programmers as they have the
2900 explicit close notification, but portability and existing code
2901 base wins in this case.
2903 One other change. When an event_handler returns -1 from the
2904 callback, unbind() is called with ALL_EVENTS_MASK rather than
2907 The upcall routine still needs to threat the two masks
2908 separately. (FD_CLOSE | FD_READ) will not work as both maybe
2909 simultaneously enabled. Therefore handle_input() maybe be called
2910 twice (once for FD_READ and once for FD_CLOSE) unless the user
2911 returns -1 from the first callback.
2913 * ace/Event_Handler: Removed the CLOSE_MASK.
2915 * examples/Logger/simple-server/Logging_Handler.cpp: Minor fixes.
2917 * examples/Logger/Acceptor-server/server_loggerd.cpp: Minor
2918 changes. No need to register the acceptor with the
2919 Reactor. Acceptor::open() does that.
2921 * examples/Reactor/ReactorEx/test_network_events: Removed the use
2924 * tests/Reactor_Performance_Test: Removed the use of CLOSE_MASK.
2926 Tue Oct 21 21:48:54 1997 David L. Levine <levine@cs.wustl.edu>
2928 * ace/OS.[hi]: moved ACE_PTHREAD_CLEANUP_PUSH/POP definitions from
2929 OS.i to OS.h. Also, added #ifdef ACE_HAS_PTHREADS protection
2930 before ! defined ACE_LACKS_PTHREAD_CLEANUP so that only PThreads
2931 platforms need add ACE_LACS_PTHREAD_CLEANUP.
2933 * tests/Notify_Performance_Test.cpp: added #include of
2934 ace/Thread_Manager.h. It's needed on OSF-1.
2936 Tue Oct 21 21:09:35 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
2938 * ace/Memory_Pool.cpp (ACE_MMAP_Memory_Pool): Oops. Souldn't
2939 access options when it is 0.
2941 Tue Oct 21 12:58:30 1997 Nanbor Wang <nw1@CHA-CHA>
2943 * ace/Log_Msg.{h,cpp}: (thr_desc): Modified the method so it take
2944 an extra argument of type ACE_Thread_Manager* and uses it to
2945 block execution until thread manager release its lock.
2947 * ace/Thread_Manager.{h,cpp} (acquire_release): Added this new
2948 method whose only function is to grab the thread manager's
2949 lock. This function ensure that a newly spawned thread won't
2950 try to access its thread descriptor before it is fully built.
2952 * ace/OS.cpp (inherit_log_msg): Modified to cache the thread
2953 descriptor of spawned thread in TSS Log_Msg after it has been
2954 created and block the execution of new thread until thread
2955 manager releases the lock (i.e., fills in all the information.)
2957 * ace/OS.h (ACE_Thread_Adapter): Added one more argument of type
2958 ACE_Thread_Descriptor* to the constructor with default value 0.
2960 * ace/OS.cpp (invoke): If the thread descriptor ptr is not zero
2961 in thread arguemnt, then, we'll wait till the thread manger
2962 fills in the formation and cache the value in TSS Log_Meg.
2964 * ace/Thread_Manager (spawn_i): Changed to pass in the thread
2965 descriptor of the newly spawned thread to thread adapter so it
2966 can cache it in TSS Log_Msg. This must be created before
2967 spawning the thread. If all goes well, we'll need to append the
2968 thread descriptor into the double-linked list in the thread
2970 (append_thr): Added a new argument of type Thread_Descriptor*
2971 with default value 0. If we pass in a thread descriptor,
2972 append_thr won't try to create on itself.
2974 Tue Oct 21 21:34:35 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
2976 * ACE version 4.3.24, released Tue Oct 21 21:34:35 1997.
2978 Tue Oct 21 14:14:33 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
2980 * examples/Timer_Queue/Thread_Timer_Queue_Test.h:
2981 * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp:
2982 Use the typedef for Upcall to define the base Timer_Queue.
2983 Input_Task inherits from ACE_Task_Base, no need for ACE_Task<>
2986 Tue Oct 21 13:45:53 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
2988 * ace/config-irix6.x-sgic++-nothreads.h: Added ACE_HAS_TERM_IOCTLS
2989 for SGI. Thanks to Jeffrey Peterson
2990 <jpeterson@fallschurch.esys.com> for reporting htis.
2992 * TAO/tests/Thruput_test/server.cpp (main): Changed BOA_init()
2995 Tue Oct 21 12:58:30 1997 <nw1@CHA-CHA>
2997 * ace/OS.h (ACE_SINGLETON_DECLARATION):
2998 (ACE_SINGLETON_INSTANTIATION):
2999 (ACE_SVC_SINGLETON_DECLARATION):
3000 (ACE_SVC_SINGLETON_INSTANTIATION): Added these new macros. Each
3001 of them takes one argument which is the ACE_Singleton class.
3002 All these craps are needed because MSVCs very kindly instantiate
3003 the template codes for you. This ends up producing two
3004 ACE_Singleton objects, one in DLL and one in user program. What
3005 these macros do is to supress the template code instantiation in
3006 user program and force compilers to instantiate these codes in
3007 DLL. On other platforms, these macros simply expand to empty
3008 strings. Here is a simple use case. Say we have a class
3009 called <foobar> which we want to make it a singleton using
3010 ACE_Singleton template in our own DLL. In file <foobar.h>, add
3013 ACE_SVC_SINGLETON_DECLARATION (ACE_Singleton<foobar>);
3015 and it will be expanded to suitabe code to export the class or
3016 supress another template instantiation outside DLL depending on
3017 whether ACE_BUILD_SVC_DLL is defined or not. In file
3018 <foobar.cpp>, add a line,
3020 ACE_SVC_SINGLETON_INSTANTIATION (ACE_Singleton<foobar>);
3022 at the end of the file to instantiate the template object in
3023 DLL. Notice that there is a bug in MSVC 4.2 and you'll have to
3024 write up a DEF file to export the template interface
3027 These macros should be integrated with the case when
3028 ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION but because of the VC
3029 4.2's bug, it will cause too much trouble to export all these
3030 symbols for external access. Therefore, I'll leave them as they
3033 BTW, these is no templatized singleton object within ACE that
3034 needs to be exported at this moment.
3036 Tue Oct 21 07:14:24 1997 David L. Levine <levine@cs.wustl.edu>
3038 * ace/Svc_Conf_l.cpp: fixed compile warnings on g++.
3040 * ace/Timer_{Heap,List,Wheel}_T.cpp: replaced NULL with 0 because
3041 some compilers, such as GHS, define NULL as (void *) 0. So, it
3042 sometimes needs to be cast to be used. Thanks to Brian Mendel
3045 * ace/Thread_Manager.cpp (wait): removed thr_yield () hack because
3046 it's not needed with Nanbor's Thread_Manager fix.
3048 * tests/test_config.h (ACE_END_TEST): removed sleep hack with
3049 threading because it's not needed with Nanbor's Thread_Manager fix.
3051 * include/makeinclude/platform_vxworks*.GNU: added VXWORKS=1 macro,
3052 for use by individual Makefiles to suppress VxWorks builds.
3054 * examples/System_V_IPC: suppress VxWorks builds because the builds
3055 fail, and the examples wouldn't run anyways.
3057 * netsvcs/lib/TS_Server_Handler.cpp: only instantiate
3058 ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> if ! ACE_HAS_TLI
3059 because without TLI, the instantiation is in
3060 Client_Logging_Handler.cpp.
3062 * examples/Shared_Malloc/test_persistence.cpp: added #include of
3063 iostream.h with ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION.
3065 * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: removed
3066 instantiation of ACE_TSS<ACE_Dynamic> because it is in
3067 ace/Thread_Manager.cpp.
3069 Tue Oct 21 02:23:26 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
3071 * ACE version 4.3.23, released Tue Oct 21 02:23:26 1997.
3073 Tue Oct 21 02:18:56 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
3075 * examples/Makefile: Things are happier now, so we've added back
3076 the Timer_Queue directory to the Makefile.
3078 * examples/Timer_Queue: Added lots of annoying template
3079 specializations so that the timer queue tests now work with GCC.
3081 * ace/Svc_Conf.l: Changed the regular expression for a
3082 {string} so that it maches the null string (i.e., "").
3084 Tue Oct 21 01:07:58 1997 Sergio Flores <sergio@polka.cs.wustl.edu>
3086 * examples/Timer_Queue:
3087 Added documentation and fixed some warnings from the unused
3088 arguments in some member functions. Cleaned up some .h files of
3089 unnecessary template instantiations.
3091 Tue Oct 21 01:01:12 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
3093 * ace/Thread_Manager.h: Added more comments.
3095 * ace/Thread_Manager.{h,cpp}: Added a parameter <size> to
3096 Thread_Manager's constructor with default value 0. This
3097 parameter is currently unused and put in for backward
3099 (open): Putting back this method for backward compatibility.
3100 This is currently a no-op. Thanks to David for reporting this.
3101 Also modify some mis-inform comments.
3103 Mon Oct 20 22:34:46 1997 <irfan@TWOSTEP>
3105 * ace/OS.i (open): Moved Win32 specific errno mappings from open()
3106 to ACE_FAIL_RETURN. Also updated the wide-character version of
3109 Mon Oct 20 14:07:37 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
3111 * ace/config-hpux-10.x.h: Added #define ACE_DEFAULT_BASE_ADDR
3112 ((char *) 0x80000000) so that the various mmap() tests
3113 will work on HP/UX. Thanks to Stephen Coy <stevec@magna.com.au>
3116 * ace/OS.i: Fixed the implementation of ACE_OS::cond_timedwait()
3117 so that it will work on VxWorks. Thanks to David Levine for
3118 chasing this down and doing most of the changes.
3120 * ace/OS.h: Added a new special case for _KCC so that its
3121 ACE_UNUSED_ARG will work properly. Thanks to Torbjorn Lindgren
3122 <tl@funcom.no> for reporting this.
3124 Mon Oct 20 22:23:42 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
3126 * tests/Sigset_Ops_Test.cpp (main): It is not legal too for
3127 sigismember to return 0 if we pass an invalid signal to it.
3128 Thanks to Stephen Coy <stevec@magna.com.au> for fixing this.
3130 * Thread_Manager.*: Replace the thr_table_ with a double-linked
3131 list thr_list_. With this change, we can cache the thread
3132 descriptor entries in TSS area. Then, when accessing thread
3133 descriptor from a spawned thread's context, we don't have to
3134 search thru the whole list in order to find the corresponding
3135 thread descriptor. Double-linked list and caching also make
3136 adding/removing thread descriptor entries very fast. At this
3137 moment, we need to do a linear search when we try to access the
3138 cached pointer the first time. This overhead is expected to
3139 removed shortly. The will be some memory leaks at this moment
3140 because I haven't implemented the code to clean up the list when
3141 a thread manager gets deleted. Will fix it soon.
3143 * Log_Msg.{h,cpp}: Removed thr_state methods, variable, and thr_id
3144 methods and variable and replace them with thr_desc which cache
3145 the pointer to the thread descriptor structure.
3147 * Containers.*: Added two new template classes
3148 ACE_Double_Linked_List and ACE_Double_Linked_List_Iterator.
3149 These two classes implement the very fundamental data structure
3150 of double-linked list. Although this is not actually a
3151 container class, I couldn't find a better place to put these
3158 * ace/FIFO_Send_Msg.*
3159 * ace/FIFO_Recv_Msg.*
3160 * ace/Memory_Pool.* (ACE_MMAP_Memory_Pool_Options,
3161 ACE_MMAP_Memory_Pool): Added one member variable to these class
3162 so users can specify the LPSECURITY_ATTRIBUTES object they want
3164 (map_file, init_inquire): Pass the security attribute to
3165 underlying memory map object.
3167 * ace/Mem_Map.* (ACE_Mem_Map, map, open, map_it): Added a new
3168 function parameter LPSECURITY_ATTRIBUTES. It will be passed
3169 down to ACE_OS::mmap or ACE_OS::open. This is only used on
3172 Mon Oct 20 08:48:28 1997 Steve Huston <shuston@riverace.com>
3174 * ace/OS.h, config-hpux-10.x.h: Added a new definition,
3175 ACE_HAS_TIUSER_H_BROKEN_EXTERN_C - HP-UX's tiuser.h has
3176 def for t_errno/_terrno() outside of an extern "C" block,
3177 so in this case, wrap #include <tiuser.h> in our own
3178 extern "C" block. HP support call W3711856.
3180 Mon Oct 20 07:49:54 1997 David L. Levine <levine@cs.wustl.edu>
3182 * Makefile (TIMESTAMP): moved chmod after cvs commit.
3184 * include/makeinclude/platform_sunos{4,5}_sunc++*.GNU: don't
3185 create Templates.DB/Modules.DB, because that should have been
3186 Module.DB, and it's not needed anyways.
3188 * ace/config-vxworks-ghs-1.8.h: removed ACE_HAS_VERBOSE_NOTSUP.
3190 * tests/run_tests.vxworks: re-enabled Buffer_Stream_Test now that
3191 ACE_OS::cond_timedwait () is supported on VxWorks.
3193 * examples/IPC_SAP/TLI_SAP/ftp-server.cpp (main): removed call
3194 to ACE_Thread_Manager::open () because it no longer is available.
3196 Mon Oct 20 02:04:19 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
3198 * ACE version 4.3.22, released Mon Oct 20 02:04:19 1997.
3200 Mon Oct 20 02:01:43 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
3202 * examples/Makefile: Removed the Timer_Queue directory from the
3203 Makefile until Sergio has fixed all the examples for GCC.
3205 Sun Oct 19 21:15:10 1997 Sergio Flores <sergio@polka.cs.wustl.edu>
3207 * examples/Timer_Queue: Added a new testing framework for
3208 various types of ACE_Time_Queue usecases, e.g., threaded,
3209 reactive, and asynchronous.
3210 The new classes are:
3211 <Timer_Queue_Test_Driver> which factors out the common code for
3212 different type of Timer queue implementations, for example the parsing,
3213 the input reading, and leaves the implementation of display_menu() for
3214 example, to subclasses.
3215 <Async_Timer_Queue_Test_Driver> the asynchronous version of the timer
3216 queue, uses signals.
3217 <Reactor_Timer_Queue_Test_Driver> implements the reactive timer queue
3218 test driver using <ACE_Reactor>
3219 <Thread_Timer_Queue_Test_Driver> the threaded implementation of the
3221 <Command> this class is used to specify operations on the timer queue
3222 independently of their implementation. Thsi allows different
3223 implementations of the timer queue to have different ways of
3224 doing the operations without the base class having to know that.
3225 See the Command pattern.
3226 Added some helper functions into the <Input_Task> class.
3229 Sun Oct 19 18:07:31 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
3231 * ace: Added new config files for SCO OpenServer with a new initial scheme
3232 to make config files:
3234 - The config to SCO OpenServer has been changed to separate OS
3235 specific flags, threads and compiler flags.
3237 - For SCO OpenServer the base config file is config-sco-5.0.0.h
3239 - Pthreads base files are config-fsu-pthread.h and
3240 config-mit-pthread for FSU and MIT pthreads.
3242 - The compiler file has been named config-gcc-2.7.2.h, this is
3243 base config file for GNU gcc 2.7.2
3245 To build a config file for SCO using GNU gcc 2.7.2 would be:
3247 #include "ace/config-gcc-2.7.2.h"
3248 #include "ace/config-sco-5.0.0.h"
3250 We would obtain ACE config file for SCO OpenServer with GNU gcc
3251 2.7.2 with no threads. To build a config file for SCO using GNU
3252 gcc 2.7.2 with FSU pthread would be:
3254 #include "ace/config-gcc-2.7.2.h"
3255 #include "ace/config-sco-5.0.0.h"
3256 #include "ace/config-fsu-pthread.h"
3258 Thanks to Arturo Montes <mitosys@colomsat.net.co> for these
3261 * ace/OS.i (open): Modified ACE_OS::open() so that it sets errno
3262 to EACCES when the requested file is in use. Thanks to Edan
3263 Ayal <edana@vdo.net> for reporting this.
3265 Sun Oct 19 17:55:34 1997 David L. Levine <levine@cs.wustl.edu>
3267 * etc/purify.solaris2: the contents of my ~/.purify file
3268 for Solaris 2.x. The ACE tests purify cleanly with it.
3270 Sun Oct 19 13:49:17 1997 Carlos O'Ryan <coryan@MILONGA>
3273 The mutex vs lock name change strikes back, this time under NT.
3275 * tests/Conn_Test.h:
3276 * tests/Conn_Test.cpp:
3277 The Svc_Handler was cached, but it had the default
3278 handle_close() method, which destroys the object. The new
3279 version leaks a bit of memory, but it seems that it never
3282 Sat Oct 18 09:13:29 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
3284 * ace/Synch_T.cpp (lock): Moved the frigging lock method of
3285 Atomic_Op into the *.cpp file to work around bugs with earlier
3286 versions of the horribleHP/UX C++ compiler. Thanks to Neil
3287 Cohen for reporting this.
3289 Sat Oct 18 07:43:29 1997 David L. Levine <levine@cs.wustl.edu>
3291 * Makefile (release): oops, removed "echo" that was used to
3292 disable CVS commit, for testing.
3294 * ace/Thread_Manager.{h,cpp},Object_Manager.{h,cpp}: moved
3295 ace_thread_exit_lock_ to Object_Manager.
3297 * include/makeinclude/rules.local.GNU: added $(TEMPLATE_REPOSITORY)
3298 to OBJDIRS, so that individual platforms can add template
3299 repository directories for creation.
3301 * include/makeinclude/platform_sunos{4,5}_sunc++*.GNU: added
3302 TEMPLATE_REPOSITORY with Templates.DB and Templates.DB/Modules.DB.
3303 We can build without any warnings with Sun C++ now.
3305 Sat Oct 18 00:17:26 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
3307 * ACE version 4.3.21, released Sat Oct 18 00:17:26 1997.
3309 Fri Oct 17 22:51:46 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
3311 * ace/Timer_Queue_Adapters.h:
3312 * ace/Timer_Queue_Adapters.i:
3313 * ace/Timer_Queue_Adapters.cpp:
3314 * ace/Timer_Queue_T.h:
3315 * ace/Timer_Queue_T.i:
3316 * ace/Timer_Queue_T.cpp:
3317 * ace/Timer_List_T.cpp:
3318 * ace/Timer_Wheel_T.cpp:
3319 * ace/Timer_Hash_T.cpp:
3320 Changed the accessor name for the lock_ field from mutex() to
3321 lock(), we know this can cause trouble on HP-UX, but only if the
3322 function is inline; so it was moved to the .cpp file.
3324 * ace/Timer_Queue_Adapters.h:
3325 * ace/Timer_Queue_Adapters.i:
3326 Changed the method name from lock() to mutex(), this should
3327 workaround a bug in the HP/C++ compiler.
3329 * ace/Timer_Hash.cpp:
3330 * ace/Timer_Hash_T.h:
3331 * ace/Timer_Heap.cpp:
3332 * ace/Timer_Heap_T.h:
3333 * ace/Timer_List.cpp:
3334 * ace/Timer_List_T.h:
3335 * ace/Timer_Queue.cpp:
3336 * ace/Timer_Queue_T.h:
3337 * ace/Timer_Wheel.cpp:
3338 * ace/Timer_Wheel_T.h:
3339 Workaround HP/C++ compiler bug, we cannot include the .cpp file
3340 from the header file, but it must be included in the point of
3343 Fri Oct 17 18:34:00 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
3345 * ace/Atomic_Op.i (lock): Added an accessor to ACE_Atomic_Op to
3346 return a reference to the underlying lock. Thanks to Janusz
3347 Stopa <jstopa@Bear.COM> for suggesting this.
3349 Fri Oct 17 15:36:26 1997 <nw1@CHA-CHA>
3351 * ACE/config-win32-common.h: Added a directive to disable warning
3352 of using Microsoft template instantiation control extension.
3354 Fri Oct 17 06:31:20 1997 David L. Levine <levine@cs.wustl.edu>
3356 * ace/Atomic_Op.i (operator=): rsh.value () instead of just rhs.
3358 * Makefile (release): added ACE_VERSION string to ace/Version.h.
3359 The MS Resource-Compiler doesn't implement the preprocessor
3360 # operator, so ACE_VERSION supplies the concatenated version
3361 string. Thanks to Matthias for suggesting this.
3363 * ace/Svc_Handler.{h,cpp},Object_Manager.{h,cpp}: moved
3364 ace_svc_handler_lock_ to Object_Manager. This lock was
3365 created once per Svc_Handler instantiation. It has been
3366 replaced by a single lock for all instantiations. That
3367 shouldn't be a problem because there are so few Svc_Handler
3368 instantiations, and the lock is only used for singleton
3369 creation using double-checked locking.
3371 Fri Oct 17 01:19:35 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
3373 * ACE version 4.3.20, released Fri Oct 17 01:19:35 1997.
3375 Fri Oct 17 00:05:55 1997 <irfan@TWOSTEP>
3377 * ace/OS: Added ACE_Export to declarations to:
3378 ace_mutex_lock_cleanup_adapter, ftruncate, ace_thread_adapter
3380 * ace/OS.cpp (readv, writev): Moved ACE_Export directive from
3383 * ace/Atomic_Op (operator TYPE): operator TYPE() of Atomic_Op has
3384 been deprecated and removed. Because both user-defined
3385 conversions and user-defined operators were defined on
3386 Atomic_Op, it was possible to get ambiguities between the
3387 user-defined operators and the built-in operators. Therefore,
3388 operator TYPE() has been removed and explicit accessor value()
3389 has been added. Thanks to Stephen Coy <stevec@magna.com.au> for
3392 * ace/Atomic_Op (operator!=): Add new operator.
3394 * tests/Atomic_Op_Test.cpp: Previously we had foo.operator== (5).
3395 It was necessary to resolve the ambiguities between the
3396 user-defined operators and the built-in operators. Since we have
3397 removed the automagic type conversion, we can go back to writing
3400 * ACE: Atomic Op related minor changes:
3402 ace/Malloc.cpp (dump):
3403 tests/Future_Test.cpp (main):
3404 tests/Reactors_Test.cpp (handle_input):
3405 example/Threads/{future1.cpp future2.cpp manual_event.cpp task_two.cpp tss2.cpp}:
3406 examples/Reactor/Misc/test_reactors.cpp:
3408 * tests/Notify_Performance_Test.cpp:
3409 * tests/Reactor_Performance_Test.cpp:
3411 Moved explicit template instantiation code to ACE_HAS_THREADS
3412 part for the test. Thanks to Stephen Coy <stevec@magna.com.au>
3413 for pointing this out.
3415 Thu Oct 16 20:44:40 1997 James C Hu <jxh@cs.wustl.edu>
3417 * ace/Message_Block.cpp: Changed how continuations are released in
3418 the Message_Block::release_i() method to use an iteration rather
3419 than recursion. This is to avoid a stack overflow problem
3420 encountered by Janusz Stopa.
3422 * ace/OS.cpp: Added ACE_Export to the declarations of ::writev and
3423 ::readv. These are emulation implementations for systems that
3424 don't support them natively. Was not being resolved correctly
3425 on NT. Hopefully this will fix it. Fix suggested by Rob Head
3428 Thu Oct 16 14:21:34 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
3430 * ace/Proactor.cpp: Replaced #include "ace/Servie_Config.h" with
3431 #include "ace/Object_Manager.h" for declaration of
3432 ACE_Static_Object_Lock.
3434 Thu Oct 16 10:22:48 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
3436 * ace/Timer_Heap_T.h:
3437 Fixed comment on the Heap_Iterator, it said "Iterates over an
3438 <ACE_Timer_*Hash*_T>").
3440 Thu Oct 16 08:43:50 1997 David L. Levine <levine@cs.wustl.edu>
3442 * ace/OS.i (sema_trywait): on VxWorks only, fixed to set errno to
3443 EBUSY if the semaphore couldn't be taken. Thanks to Doug for
3444 suggesting this fix.
3446 * performance-tests/Misc/preempt.cpp (main): fixed program name.
3448 * include/makeinclude/platform_osf1_4.0.GNU: OCFLAGS instead of OFLAGS.
3450 * tests/test_config.h (VxWorks): restored the removal of the log
3451 file, because it again appears to be necessary.
3453 * tests/run_tests.vxworks: updated VxWorks tests status.
3455 * ace/OS.cpp,Token_Invariants.{h,cpp},Object_Manager.{h,cpp}:
3456 moved ace_os_monitor_lock and ACE_Token_Invariants_Creation_Lock
3459 Thu Oct 16 02:26:12 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
3461 * ACE version 4.3.19, released Thu Oct 16 02:26:12 1997.
3463 Thu Oct 16 02:07:54 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
3465 * tests/Priority_Reactor_Test.cpp: Added a "max_retries" flag to
3466 keep the test from hanging forever... Thanks to Stephen Coy
3467 <stevec@magna.com.au> for motivating this.
3469 * tests/Priority_Reactor_Test.h: Changed
3471 class Read_Handler : public ACE_Svc_Handler<<ACE_SOCK_Stream, ACE_INET_Addr, ACE_SYNCH>
3475 class Read_Handler : public ACE_Svc_Handler<<ACE_SOCK_STREAM, ACE_SYNCH>
3477 and the same for the Write_Handler. Thanks to the ever vigilant
3478 Stephen Coy <stevec@magna.com.au> for reporting this.
3480 Thu Oct 16 01:18:48 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
3482 * ace/OS.cpp (socket_init): Changed to use ACE_UNUSED_ARG.
3484 * ace/SV_Semaphore_Simple.cpp (name_2_key): Explicitly cast the
3485 return value to (key_t). It was causing problem on Win32.
3487 Wed Oct 15 22:47:30 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
3491 Added an implementation of the ISO 8802-3 standard 32 bits CRC,
3492 but for strings only. The implementation was taken from the
3495 * ace/SV_Semaphore_Simple.cpp: Improved the hashing algorithm to
3496 assign a "unique" key for semaphore keys using an string. This
3497 solves a problem detected by Mark L. Boriack
3498 (Mark.L.Boriack@cpmx.saic.com): under OSF/1 the were too many
3499 collitions with the default arguments for ACE_Process_Mutex.
3500 Note that this is only a problem if no name is given to it.
3502 * ace/Log_Msg.cpp: ACE_Log_Msg_message_queue_ was not initialized
3503 in platforms without threads.
3505 * ace/Containers.h: Added a duplicate ACE_Ubounded_Stack_Iterator
3506 to the NANBOR_EXP_CHANGES block.
3508 * ace/OS.h (ACE_DES_FREE_TEMPLATE): Removed unneeded concatenation
3509 that was getting the HP/aCC compiler a bit confused. Thanks to
3510 Stephen Coy <stevec@magna.com.au> for pointing out the problem
3511 and then reminding me of actually adding the solution to ACE.
3513 Wed Oct 15 11:07:47 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
3515 * ace/OS.i: Fixed the flock_trywrlock() and flock_tryrdlock() so
3516 that they both set errno = EBUSY if they lock is already held.
3518 * ace/OS.i (mutex_trylock): Make the VxWorks version consistent
3519 with the other versions by returning -1 and setting errno to
3520 EBUSY. Thanks to David Levine for reporting this.
3522 * ace/Synch.h: Updated the documentation to clarify what the
3523 return value is from the tryacquire() methods.
3525 * ace/OS.i (mutex_trylock): On NT, if we try to acquire a mutex
3526 that's already locked we'll return -1 and set errno to EBUSY
3527 rather than ETIME to be consistent with Pthreads. Please see
3528 the following entry to understand why this doesn't break
3531 * ace/OS.h: Added a #define for EBUSY on NT. We'll make it the
3532 same as ETIME to avoid breaking existing code!
3534 * tests/Process_Strategy_Test.cpp (main): Ignore SIGCHLD in the
3537 Wed Oct 15 14:59:41 1997 <nw1@CHA-CHA>
3539 * tests/run_tests.bat: Added Reactor_Performance_Test and
3540 Notify_Performance_Test to one button test script.
3542 * tests/tests.dsw: Added Reactor_Performance_Test.dsp and
3543 Notify_Performance_Test.dsp.
3545 Wed Oct 15 07:21:05 1997 David L. Levine <levine@cs.wustl.edu>
3547 * ace/ACE.{h,i},Version.h: added ACE version macros, and static
3548 functions to access them in class ACE.
3550 * Makefile (release): updates ace/Version.h based on contents of
3553 * tests/Time_Value_Test.cpp: added test of ACE version accessors.
3555 * ace/OS.cpp,Object_Manager.cpp: changed ACE_TSS_CLEANUP_LOCK
3556 from an ACE_Thread_Mutex to an ACE_Recursive_Thread_Mutex.
3558 * ace/OS.h: define ACE_NOTREACHED as empty on DEC_CXX (and
3559 on ghs instead of VXWORKS).
3561 * tests/TSS_Test.cpp (worker): convert void *c to long if
3562 ACE_HAS_64BIT_LONGS to avoid DEC cxx compiler warning.
3564 * examples/Threads/thread_specific.cpp (worker): convert void *c
3565 to long if ACE_HAS_64BIT_LONGS. Changed name of "lock" to
3566 "printf_lock" to avoid collision with lock () in DEC cxx
3569 * examples/threads/tss1.cpp: removed unused static "lock".
3571 * examples/IPC_SAP/TLI_SAP/ftp-server.cpp (read_file): convert
3572 void *fd to long if ACE_HAS_64BIT_LONGS. And, put "n" in
3573 ACE_UNUSED_ARG. (main): put "return 0" in ACE_NOTREACHED.
3575 * include/makeinclude/platform_osf1_4.0.GNU: minor cleanup, incl.
3576 addition of -use_ld_input to SOFLAGS.
3578 * include/makeinclude/platform_osf1_4.0_g++.GNU: added "c" to
3581 * tests/Future_Test.cpp,examples/Threads/future[12].cpp
3582 (Method_Object_Name): removed extraneous ";" after function
3585 * netsvcs/lib/Base_Optimizer.h: adding missing, default "public"
3588 * apps/JAWS/Server/HTTP_Config.h: added "class" to friend HTTP_Config
3589 declaration in HTTP_Config_Info.
3591 * examples/IPC_SAP/TLI_SAP/ftp-client.cpp: removed unused variable
3594 * examples/IPC_SAP/TLI_SAP/db-server.cpp (main): wrapped "return 0"
3595 with ACE_NOTREACHED.
3597 * examples/Reactor/Misc/test_timer_queue.cpp (handle_timeout):
3598 convert void *arg to long if ACE_HAS_64BIT_LONGS.
3600 * examples/Service_Configurator/IPC-tests/client/
3601 local_fifo_client_test.cpp: removed unused variable BUF_LEN.
3603 * examples/Shared_Malloc/test_persistence.cpp:
3604 removed unused Employee ostream << operator.
3606 * tests/Conn_Test.cpp: neutered Conn_Test on DEC_CXX. It
3607 doesn't build on DEC cxx 5.5 due to apparent template
3608 instantiation problems. Thanks to James Johnson for
3609 reporting that. And it doesn't terminate when built with
3612 * ace/Thread_Manager.h: removed parens from (???) because
3613 g++ got upset about encountering a trigraph.
3615 * tests/{Notify,Reactor}_Performance_Test.cpp: added
3616 ACE_UNUSED_ARG (handle).
3618 * tests/Makefile,run_tests.sh: added Reactor_Performance_Test and
3619 Notify_Performance_Test.
3621 * tests/run_tests.vxworks: added test status of
3622 Reactor_Performance_Test (doesn't appear to do anything,
3623 but doesn't return) and Notify_Performance_Test (fcntl
3626 Wed Oct 15 01:48:36 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
3628 * ace/Containers.{h,i,cpp}:
3629 * ace/Thread_Manager.{h,i,cpp}: Start modifying these files.
3630 Will work on them for a day or two. You guys shouldn't worry
3631 about these changes affecting anything because I surround my
3632 changes with #ifdef (NANBOR_EXP_CHANGES) my changes #else
3633 original codes #endif. More details change log will be added
3634 once I get them all working.
3636 Tue Oct 14 23:54:21 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
3638 * ACE version 4.3.18, released Tue Oct 14 23:54:21 1997.
3640 Tue Oct 14 20:27:28 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu>
3642 * tests/Priority_Reactor_Test.cpp:
3643 Added a debug message to find out who terminates the reactor
3646 * tests/Priority_Reactor_Test.cpp:
3647 The children could not connect sometimes, this will cause the
3648 test to hang, waiting for those failed connections.
3649 I added a simple exponential backoff strategy to retry
3650 connections until they succeed.
3652 Tue Oct 14 17:48:28 1997 Steve Huston <shuston@riverace.com>
3654 * ace/config-hpux-10.x-hpc++.h: Set ACE_LACKS_SIGNED_CHAR for
3655 both C++ and aC++, not just C++. Thanks to Stephen Coy and
3656 David Levine for finding this.
3658 Tue Oct 14 03:26:17 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
3660 * ace/OS.h: Moved <sys/types.h> to earlier in the file so that
3661 u_int will be defined. Thanks to Neil B. Cohen <nbc@metsci.com>
3664 * ace/OS.cpp (uname): Added a workaround for the fact that
3665 Chorus doesn't support uname(). Thanks to Wei Chiang for
3668 Tue Oct 14 08:02:20 1997 David L. Levine <levine@cs.wustl.edu>
3670 * ace/Managed_Object.{h,cpp} (ACE_Cleanup_Adapter): added virtual
3671 destructor, needed by some compilers for vtable placement.
3672 Thanks to Stephen Coy <stevec@magna.com.au> for this patch.
3674 * ace/Svc_Conf_y.cpp: commented out unused args and wrapped
3675 assignments in "if" conditionals to avoid g++ warnings.
3677 * ace/Object_Manager.{h,cpp},Synch.{h,cpp}: moved
3678 ACE_Static_Object_Lock from Synch.{h,cpp} to Object_Manager.{h,cpp}.
3679 This allows it to be absorbed into the ACE_Object_Manager's
3680 preallocated locks. The ACE_Static_Object_Lock interface
3681 isn't really needed any more, but has been kept for backward
3684 * ace/Object_Manager.cpp: use a static ACE_Static_Object_Lock,
3685 temporarily, because the ACE static services needs it.
3687 * ace/Malloc.cpp,Reactor.cpp,Service_Repository.cpp: added
3688 #include "ace/Object_Manager.h" for ACE_Static_Object_Lock.
3690 * ace/Thread_Manager.h: moved ACE_Thread_Manager::THR_FUNC typedef
3691 outside the class declaration to avoid compilation problems on
3692 g++/VxWorks/i960 with -g. THR_FUNC is only used by protected
3693 ACE_Thread_Manager methods so this doesn't widen the public
3694 interface. Thanks to Aaron Valdivia <avaldivia@hns.com> for
3695 reporting this and verifying the fix.
3697 * tests/IOStream_Test.cpp (client): multiply floats by 1.0 instead
3698 of 1 to avoid bad code generation on g++/VxWorks/i960. Thanks to
3699 Aaron Valdivia <avaldivia@hns.com> for reporting this.
3701 * tests/Buffer_Stream_Test.cpp: removed unused static thread_manager.
3702 It caused core dump during destruction of static objects with
3703 ACE_HAS_NONSTATIC_OBJECT_MANAGER.
3705 * examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp (handle_timeout):
3706 removed declaration of unused arg "tv".
3708 * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp (main):
3709 removed declarations of unused args "argc" and "argv". And,
3710 updated template instantiations.
3712 * ace/OS.h: use "complex" ACE_UNUSED_ARG for DEC_CXX.
3714 * ace/Reactor.i (implementation): moved definition to top of
3715 file to prevent use before definition.
3717 * ace/ARGV.cpp (ACE_ARGV): removed extraneous ; function definition.
3719 * ace/config-osf1-4.0.h: removed ACE_NEEDS_DEV_IO_CONVERSION.
3721 * tests/Time_Value_Test.cpp: ACE_HAS_64BIT_LONGS instead of
3724 Tue Oct 14 03:13:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
3726 * ACE version 4.3.17, released Tue Oct 14 03:13:38 1997.
3728 Tue Oct 14 03:10:00 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
3730 * ace/Service_Types.cpp (fini): Backed out the following change
3731 until we figure out how to keep existing Svc_Handler code from
3732 dying... Thanks to Nanbor for reporting this.
3734 * ace/Service_Types.cpp: Changed the implementation so that we
3735 bypass the default cleanup originally done in
3736 ACE_Service_Type_Impl::fini() and instead perform the cleanup in
3737 ACE_Service_Object_Type::fini (void). Thanks to Alex Chan
3738 <Alex.Chan@Aspect.com> for reporting this.
3740 * ace/Svc_Conf.y: Make sure that the Module has the same name as
3741 the Module_Type object from the svc.conf file. We need to do
3742 this because the Stream_Type::fini() method removes each module
3743 by the name given in the configuration file (stored in the
3744 Module_Type object). But the Stream::remove() method compares
3745 this name against the name stored in the Module. So the object
3746 is deleted, but never removed from the list. Another traversal
3747 of the list causes a crash... Thanks to Eric Newton for
3748 suggesting this fix.
3750 * ace/OS.cpp (invoke): Added call to AfxEndThread insides
3751 ACE_TSS_Cleanup::exit() such that the same cleanup would not be
3752 executed again when threads exit in ace_thread_adapter() in
3753 OS.cpp. Thanks to Alex Chan <Alex.Chan@Aspect.com> for
3756 * ace/Service_Config.cpp (process_directives): Avoid reporting
3757 lex/yacc leakage since there is nothing we could do about it.
3758 Thanks to Alex Chan <Alex.Chan@Aspect.com> for reporting this.
3760 * ace/Svc_Conf.y: Removed duplicate call to symbol() to avoid the
3761 problem that dynamic service objects are created twice. Thanks
3762 to Alex Chan <Alex.Chan@Aspect.com> for reporting this.
3764 * examples/Reactor/FIFO/client.cpp (main): Fixed the call to
3765 fifo_sender.send () so that it passes msg rather than &msg.
3766 Thanks to Sandro Doro <doros@aureus> for reporting this.
3768 Tue Oct 14 02:49:02 1997 <irfan@TWOSTEP>
3770 * tests/Notify_Performance_Test.cpp: New performance test. This
3771 test is used to time the notification mechanisms of the
3772 ACE_Reactors. Both the WFMO_Reactor and Select_Reactor can be
3773 tested. The notify() mechanism can also be tested with or
3776 * tests/Reactor_Performance_Test.cpp: New performance test. This
3777 test is used to time the dispatching mechanisms of the
3778 ACE_Reactors. Both the WFMO_Reactor and Select_Reactor can be
3781 * ace/Svc_Handler.cpp (shutdown): Change READ_MASK | WRITE_MASK to
3784 * ace/Atomic_Op (value): Added an explicit value accessor.
3786 Mon Oct 13 23:07:15 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
3788 * tests/Process_Strategy_Test.cpp (handle_signal): Removed the
3789 ACE_DEBUG calls in the child reader signal handler. This was
3790 causing all sorts of random problems due to the asynchronous
3791 nature of signals. Thanks to David Levine for pointing this
3794 Mon Oct 13 16:27:46 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
3796 * tests/Priority_Reactor_Test.h:
3797 * tests/Priority_Reactor_Test.cpp:
3798 Fixed wrong header file, thanks to Irfan (irfan@cs.wustl.edu)
3800 * examples/Shared_Malloc/test_persistence.cpp:
3801 * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp:
3802 Added a couple of ACE_NOTREACHED, thanks to Torbjorn Lindgren
3803 <tl@funcom.no> for pointing out this one.
3805 * ace/Priority_Reactor.cpp:
3806 Added some more template specializations.
3808 * tests/Priority_Reactor_Test.cpp:
3809 Fixed a number of bugs: hostname not initialized when creating
3811 The Svc_Handler base class should be instantiated using the
3812 ACE_*_STREAM macros.
3813 The code for non-threaded platforms was broken.
3814 Thanks to Irfan <irfan@cs.wustl.edu>
3816 * tests/Priority_Task_Test.cpp:
3817 We use the new ACE_Sched_Priority_Iterator.
3819 * include/makeinclude/platform_irix6.x-32_sgic++.GNU:
3820 * include/makeinclude/platform_irix6.x-n32_sgic++.GNU:
3821 Removed this old config files, they have been superseeded by
3822 platform_irix6.x_sgic++.GNU.
3824 Mon Oct 13 15:41:32 1997 Steve Huston <shuston@riverace.com>
3826 * ace/Select_Reactor.i, Priority_Reactor.i: Moved code for the
3827 ACE_Event_Tuple struct from Priority_Reactor.i to Select_Reactor.i.
3829 * ace/Priority_Reactor.cpp: added #include Malloc_T.h to build on AIX.
3831 * ace/Synch_T.h, Timer_Queue_Adapters.h - added a template argument
3832 to the non-ACE_HAS_TEMPLATE_TYPEDEFS, multi-threaded version of
3833 the ACE_SYNCH_CONDITION macro - of the 3 possibilities for its
3834 definition, this is the only case which requires a template
3835 argument. Timer_Queue_Adapters.h is the only user of the definition,
3836 and it was changed to not supply the template argument.
3838 * tests/Conn_Test.h:
3839 * tests/Process_Strategy_Test.h: Added #include "ace/SOCK_Stream.h"
3841 Mon Oct 13 13:42:05 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
3843 * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp (svc):
3844 Added a macro to define L_cuserid on Win32.
3846 Mon Oct 13 13:44:40 1997 <irfan@TWOSTEP>
3848 * ace/Priority_Reactor: Fixed a gross violation of ACE coding
3849 standard. Changed bucket to bucket_.
3851 Mon Oct 13 12:58:01 1997 David L. Levine <levine@cs.wustl.edu>
3853 * ace/OS.i: moved ACE_OS::strcasecmp () definition after
3854 ACE_OS::strlen () to prevent use before definition.
3856 * ace/Priority_Reactor.i: reordered initializers to match
3859 * ace/Sched_Params.i: reordered function definitions to prevent
3860 uses before definitions.
3862 * ace/Thread_Manager.cpp (ACE_Thread_Descriptor ctor): reordered
3863 initializers to match declaration order. (spawn_i): added
3864 ACE_UNUSED_ARG (t_handle) without WTHREADS.
3866 * ace/Thread_Manager.cpp (wait): moved all of the "join" block
3867 inside the #ifndef VXWORKS so that it compiles on VxWorks.
3869 * ace/Strategies_T.cpp (ACE_NOOP_Creation_Strategy<SVC_HANDLER>::
3870 make_svc_handler): removed unused arg declaration to avoid
3873 * ace/Svc_Conf_y.cpp: commented out unused args and wrapped
3874 assignments in "if" conditionals to avoid g++ warnings.
3876 * tests/Priority_Reactor_Test.cpp (handle_input): added
3879 * examples/Connection/non_blocking/CPP-connector.cpp (handle_signal):
3880 added ACE_UNUSED_ARG (signum).
3882 Mon Oct 13 03:25:45 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
3884 * ACE version 4.3.16, released Mon Oct 13 03:25:45 1997.
3886 Mon Oct 13 03:18:33 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
3888 * ace/Thread_Manager.h: Removed the following code from
3891 #if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
3892 static ACE_Thread_Mutex ace_thread_lock_;
3893 // Lock the creation of the Singleton.
3894 #endif /* defined (ACE_MT_SAFE) */
3896 What on earth was this doing here?! Thanks to Stephen Coy
3897 <stevec@magna.com.au> for reporting this.
3899 Mon Oct 13 00:10:00 1997 <irfan@TWOSTEP>
3901 * tests/Atomic_Op_Test.cpp (main): Changed "foo == 5L" to
3902 "foo.operator== (5L)" because the former was breaking some
3903 compilers (e.g., HP/UX aCC).
3905 * ace/Connector.h (open): Removed the defaults arguments since
3906 some compilers complain about the two open()s being
3909 Sun Oct 12 23:51:57 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
3911 * ace/{Synch_T,Atomic_Op}: All the relational operators should
3912 return int (really return bool) rather than TYPE.
3914 Sun Oct 12 18:41:01 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu>
3916 * tests/Priority_Reactor_Test.cpp:
3917 Added several missing template specializations.
3919 * ace/Priority_Reactor.cpp:
3920 Fixed typo (#pragme for #pragma).
3921 Added several missing template instantiation.
3923 * ace/Timer_Queue_Adapters.cpp:
3924 The includes were missing and there was a minor syntax error.
3926 Sun Oct 12 16:16:15 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
3928 * ace/ace_{dll,lib}.dsp: Added Timer_Queue_Adapters.cpp into
3931 * tests: Added a new test Priority_Reactor_Test.
3933 * ace/Timer_Queue_Adapters.{h,i}: Added or moved the line that
3934 instructs edit mode to use on emace to the first line. Also
3935 added ACE_Export to classes in this file.
3937 * ace/Timer_Queue_Adapters.cpp: Added proper inclusion of the
3938 header file. Corrected a syntax error.
3940 * examples/Timer_Queue/Timer_Queue.dsw: Added a new project
3941 Thread_Timer_Queue_Test.dsp.
3943 * tests/run_tests.{bat,sh}: Added MT_SOCK_Test and
3944 Priority_Reactor_Test into one-buttoned test set.
3946 Sun Oct 12 16:53:32 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
3948 * ace/examples/Service_Configurator/IPC-tests/server: Reformatted
3949 and recommented the code a bit.
3951 * ace/OS: Added 3 new ACE #defines:
3953 #define ACE_ONE_SECOND_IN_MSECS 1000L
3954 #define ACE_ONE_SECOND_IN_USECS 1000000L
3955 #define ACE_ONE_SECOND_IN_NSECS 1000000000L
3957 This is much easier to read than trying to keep track of the
3958 000s! Then, replaced all uses of the original values with the
3959 new symbolic constants.
3961 * ace/Timer_List.cpp: Removed an explicit template instantiation
3962 of ACE_Async_Timer_Queue_Adapter<>. Why was it here in the
3965 * ace: Created a new group of Timer_Queue_Adapters files and moved
3966 the Async and Thread adapters into this file. This reduces the
3967 amount of coupling in the ACE library and removes problems with
3970 * ace/Timer_Queue_T: Added a new ACE_Thread_Timer_Queue_Adapter,
3971 which makes it possible to use a timer queue in a thread
3972 automagically. Thanks to Carlos O'Ryan for writing this.
3974 * examples/Timer_Queue: Began to integrate Carlo's new thread
3977 * examples/Timer_Queue/Async_Timer_Queue_Test.cpp: Changed the
3978 timer queue from a Timer_List to a Timer_Heap.
3980 * examples/Makefile (DIRS): Added Timer_Queue to the list of DIRS
3983 Sun Oct 12 16:45:47 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
3985 * ace/Sched_Params.h:
3986 Added some comments.
3988 * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp:
3989 Added some comments and template specializations.
3991 * examples/Naming/Makefile:
3992 There is no need to set LDLIBS to add local object files
3993 anymore, using FILES is enough.
3995 Sun Oct 12 03:35:37 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
3997 * examples/Timer_Queue: Added a new directory for testing of
3998 various usages of timer queue.
4000 * tests/Async_Timer_Queue_Test: Moved to examples/Timer_Queue.
4001 It doesn't really belong to tests/ directory.
4003 * ace/ACE.cpp (register_stdin_handler): Must register the reactor
4004 we are using to the event handler.
4005 (read_adapter): Must notify the reactor when we are done with
4006 handling stdin event.
4008 Sun Oct 12 00:26:56 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
4011 * ace/Priority_Reactor.h:
4012 * ace/Priority_Reactor.i:
4013 * ace/Priority_Reactor.cpp:
4014 Augmentes Select_Reactor, adding priority based dispatching for
4015 the I/O Event_Handlers, the only feature supported is
4016 dispatching in the order defined by the priorities.
4017 Each Event_Handler defines its priority, if the priority is out
4018 of range the culprit is "punished" by dispatching at the lowest
4020 Care has been exercised to avoid dynamic memory allocation.
4023 * tests/Priority_Reactor_Test.h:
4024 * tests/Priority_Reactor_Test.cpp:
4025 Added small tests of the Priority_Reactor, the test runs an
4026 Acceptor on the main thread and creates several threads (or
4027 processes if the plaform does not support threads) that connect
4028 to this Acceptor. The writing threads send several short
4029 messages, the main thread receives them using one Svc_Handler
4030 per writer, dispatched at different priorities.
4031 The test itself is interesting, it shows how to write very
4032 simple Svc_Handler, Connectors and Acceptors.
4034 * ace/Select_Reactor.h:
4035 * ace/Select_Reactor.cpp:
4036 The dispatching of all the handles in a "group" (READ, WRITE or
4037 EXCEPT) was encapsulated in a single routine.
4040 In the Cached_Allocator memory was allocated as an arrays of
4041 char, it must be released the same way.
4043 * ace/Sched_Params.h:
4044 * ace/Sched_Params.i:
4045 Added a new class (ACE_Sched_Priority_Iterator) to iterate over
4048 * tests/Priority_Task_Test.cpp:
4049 Added some comments.
4051 Sat Oct 10 16:23:49 1997 Steve Huston <shuston@riverace.com>
4053 * tests/SOCK_Connector_Test.cpp: Passes the test if the should-fail
4054 non-blocking test fails for any reason - not limited to ECONNREFUSED
4057 Sat Oct 11 16:02:33 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
4059 * ACE version 4.3.15, released Sat Oct 11 16:02:33 1997.
4061 Sat Oct 11 14:38:16 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
4063 * ace/SOCK_Connector.cpp (complete): Fixed a typo with
4064 ACE_NON_BLOCKING_BUG_DELAY. Thanks to John Zeb Dhom"
4065 <zeb@ibm.net> for reporting this.
4067 * tests/MT_SOCK_Test.cpp (client): Slightly revised the client
4068 function so that it doesn't try to use non-blocking connects if
4069 it's on a Win32 platform that has bugs with non-blocking
4072 * ace/SOCK_Connector.cpp: It appears that connect() can set the
4073 ETIMEDOUT errno if the connection times out (whatever that
4074 means). Therefore, I need to check for that errno, rather than
4075 ETIME after calling connect().
4077 * tests/SOCK_Connector_Test.cpp: Added a check for ETIMEDOUT
4078 since this appears to be set by some platforms (e.g.,
4081 Sat Oct 11 02:52:10 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
4083 * ACE version 4.3.14, released Sat Oct 11 02:52:10 1997.
4085 Sat Oct 11 02:10:29 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
4087 * examples/Logger/simple-server/Makefile:
4088 * examples/Mem_Map/IO-tests/Makefile:
4089 * examples/Reactor/Multicast/Makefile:
4090 * examples/Service_Configurator/Misc/Makefile:
4091 Fixed some more problems with the Makefiles for binaries; I took
4092 the chance and added RCS ids on the Makefiles
4094 Fri Oct 10 18:39:39 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
4096 * tests/Service_Config_Test.cpp: Moved the static member function
4097 called cleanup() out into a stand-alone extern "C" function
4098 called test_singleton_cleanup() to workaround MVS C++ compiler
4099 bugs. Thanks to Chuck Gehr for reporting this.
4101 * ace/Task.cpp: Solved the age old MVS C++ problem where we can't
4102 register C++ static member functions as C callback functions.
4103 The solution here was to create a C wrapper to do the callback.
4104 Thanks to Chuck Gehr for reporting this.
4106 * tests/Service_Config_Test.cpp: Made the destructor of
4107 Test_Singleton public to work around bugs with the MVS C++
4108 compiler. Thanks to Chuck Gehr for reporting this.
4113 ace/SPIPE_Connector,
4115 tests/Conn_Test: Changed ETIMEDOUT errno to ETIME errno to be
4116 consistent throughout ACE. There should be no uses of
4117 ETIMEDOUT in ACE or the test apps and examples.
4119 * ace/ACE.cpp (handle_timed_complete): Only assume that we've
4120 timed out if the return value from select() == 0 *and* the
4121 timeout value isn't NULL...
4123 * ace/Object_Manager.h: Replaced the use of ACE_MT() in the header
4124 file with a #ifdef. This solves problems that arise when ACE_MT
4125 is defined as "nothing" when MT_SAFE is not defined. As a code
4126 which has "ACE_MT();" becomes just ";" and fail to compile.
4127 Thanks to Avraham Nash <ANash@Engagetech.com> for reporting
4130 Fri Oct 10 19:55:50 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
4132 * examples/ASX/CCM_App/Makefile:
4133 * include/makeinclude/rules.bin.GNU:
4134 I have re-applied Steve Huston changes from Oct 01, the change
4135 was (IMHO) useful and made compilation cleaner.
4137 * examples/ASX/Event_Server/Event_Server/Makefile:
4138 Fixed problem that made compilation fail.
4140 Fri Oct 10 19:52:44 1997 <nw1@CHA-CHA>
4143 * ace/Connector.cpp:
4144 * ace/SOCK_Connector.cpp: Added new #define
4145 ACE_NON_BLOCKING_BUG_DELAY and replace their uses from some
4146 magic numbers to this constant.
4148 Fri Oct 10 19:27:28 1997 Steve Huston <shuston@riverace.com>
4150 * include/makeinclude/rules.bin.GNU
4151 examples/ASX/CCM_App/Makefile
4152 Removed the changes to these files added Oct 01.
4154 Fri Oct 10 15:21:07 1997 <irfan@TWOSTEP>
4156 * examples/Connection/non_blocking/CPP-connector.cpp
4157 (disconnecting): Remove this method. It was not being used. Also
4158 rewrote some parts of handle_close to make the code simple.
4160 * ace/Connector.cpp (create_AST): The register_handler() method
4161 now needs to explicitly be given the handle to wait on. This is
4162 because the get_handle() method of Connector has been
4165 * examples/Connection/non_blocking/test_sock_connector.cpp (main):
4166 Since this test waits on the STDIN handle to become ready, we
4167 have to make sure that the WFMO_Reactor is used on Win32. This
4168 is necessary since select() on NT does not support waiting on
4171 * examples/Connection/non_blocking/CPP-connector.cpp (open): On
4172 Win32, the std handle must be registered directly (and not as a
4173 socket). On non-Win32, the std handle must be registered as a
4174 normal handle with the READ mask. Since on Win32, STDIN is used
4175 directly as an waitable handle, handle_signal will be called
4176 instead of handle_input. Therefore, we had to add handle_signal
4177 to the event_handler.
4179 Fri Oct 10 15:16:47 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
4181 * ace/WFMO_Reactor.{h,cpp}:
4182 * ace/Select_Reactor.{h,cpp}:
4183 * ace/Reactor_Impl.h:
4184 * ace/Reactor.h: Added 2 new functions in ACE_Reactor class so we
4185 can replace the signal handler and timer queue the reactor is
4186 using. Notice that you should do this before you start the
4187 reactor, otherwise, you may loose your scheduled timed events.
4189 Fri Oct 10 14:49:40 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
4191 * bin/man2html: Added a new set rul -e 's/^$/<P>/g', which
4192 correctly preserves paragraph boundaries. Regenerated all of
4193 the ACE html documentation so that it is much better formatted.
4195 Fri Oct 10 11:08:02 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
4197 * tests/run_tests.sh:
4198 We remove the log file before running a test, we also check for
4199 the log file existance before running run_test.check on
4200 it. Thanks to Dean Clamons <dean@n5170a.nrl.navy.mil> for
4201 helping us with this.
4203 * tests/run_tests.check:
4204 IRIX egrep does not support -q, we redirect the output the
4207 Fri Oct 10 01:46:07 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
4209 * ACE version 4.3.13, released Fri Oct 10 01:46:07 1997.
4211 Thu Oct 9 22:23:56 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu>
4213 * ace/Thread_Manager.cpp: Moved the explicit template
4214 instantiations for ACE_Unbounded_Queue out of the complicated
4215 #ifdef since we also want this to compile even if we don't have
4218 * tests/MT_SOCK_Test.cpp: Revised the code so that it uses
4219 processes on UNIX rather than threads.
4221 * tests/SOCK_Test.cpp (spawn): Cleaned up the code to make it
4224 * ace/Get_Opt.cpp (ACE_Get_Opt): Changed the third argument to the
4225 ACE_Get_Opt constructor be changed from `char *' to `const char
4226 *'. Thanks to Eric Newton for suggesting this.
4228 Thu Oct 09 18:43:14 1997 <irfan@TWOSTEP>
4230 * ace/Strategies_T.cpp (connect_svc_handler): Added
4231 synchronization to the method as the setting of the in_use bit
4232 in the service handler must be done atomically with the finding
4233 and binding of the service handler in the cache.
4235 * tests/Conn_Test.cpp (client_connections): Added multithreading
4236 to the test in order to test out the new MT features of the
4239 * ace/OS.cpp (invoke): Somehow there was a bug introduced in
4240 ACE_Thread_Adapter::invoke where the user entry point was being
4243 Thu Oct 09 17:54:31 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
4245 * ACE version 4.3.12, released Thu Oct 09 17:54:31 1997.
4247 Thu Oct 9 17:46:59 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
4249 * ace/Thread_Manager.cpp:
4250 Added explicit instantiation of
4251 ACE_Unbounded_Queue_Iterator<ACE_Thread_Descriptor>, it seems to
4252 be needed on Linux and other platforms; thanks to Huiying Shen
4253 <shen@environ.org> for pointing out this one.
4257 Reverted the change that added support for
4258 pthread_setconcurrency on IRIX, the function was supposed to be
4259 undocumented, but present on the libraries, I could not find it
4260 in any of the SGI machines we have access to.
4262 * ace/Thread_Manager.cpp:
4263 On IRIX/SGIC++ we need to instantiate ACE_Node too.
4266 Moved the open() method to the public interface, it is used by
4269 Wed Oct 8 20:01:35 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
4271 * ace/SOCK_Connector: Modified the ACE_SOCK_Connector so that it
4272 doesn't maintain state and doesn't inherit from ACE_SOCK.
4273 Therefore, we can have multiple threads using the same
4274 ACE_SOCK_Connector simultaneously without any reentrancy
4277 * ace/SOCK.h: Moved the open() method into the public part of the
4278 class so it can be used in ACE_SOCK_Connector::connect().
4280 * ace/Connector.h: Removed the this->connector_ from the
4281 ACE_Connector class in order to make this pattern work correctly
4282 with multi-threaded programs. Also removed the connector()
4283 accessor (which was never useful anyway).
4285 * ace/SOCK.cpp (open): Explicitly test setsockopt() for -1 in case
4288 * tests/SOCK_Test.cpp (server): Revised this test to reflect the
4289 fact that it doesn't iterate, but only runs one client and one
4292 * tests: Added a new test for multi-threaded sockets called
4293 MT_SOCK_Test.cpp. Thanks to Bob Laferriere
4294 <laferrie@gsao.med.ge.com> for motivating this test.
4296 Wed Oct 8 12:09:46 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
4298 * ace/OS.i (strcasecmp): Oops, we forgot to compare the strlen
4299 first. Thanks to Murphy Ivan <Ivan.Murphy@med.siemens.de> for
4302 * ace/OS.h: Added THR_DAEMON macro definition for Win32 (et. al.?)
4303 to avoid compilation error.
4304 Removed ACE_HAS_BROKEN_TEMPLATE_DESTRUCTOR and related macros.
4306 Wed Oct 8 09:52:20 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
4308 * ace/Parse_Node.cpp:
4309 Fixed the minor syntax error *again*.
4311 Tue Oct 7 17:10:51 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu>
4313 * ace/Token_Manager.cpp:
4314 Added a defined(ACE_MT_SAFE) protection around the lock creation
4315 on ACE_Token_Manager::instance(), otherwise it would not work on
4316 platforms without threads. Thanks to "Neil B. Cohen"
4317 <nbc@metsci.com> for pointing this one out.
4319 Tue Oct 7 07:07:45 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
4321 * ace/Parse_Node.cpp (symbol): Added an ACE_ERROR_RETURN instead
4322 of an ACE_RETURN to bail out if an error occurs. Thanks to Eric
4323 Newton for reporting this.
4325 Tue Oct 7 10:57:48 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu>
4328 Added a prototype for pthread_setconcurrency when
4329 ACE_HAS_IRIX62_THREADS is defined. This function is undocumented
4330 but was needed by some users.
4332 * ace/Parse_Node.cpp:
4333 Fixed a minor syntax error.
4335 Tue Oct 07 06:58:40 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
4337 * ACE version 4.3.11, released Tue Oct 07 06:58:40 1997.
4339 Tue Oct 7 02:51:55 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
4341 * tests/TSS_Test.cpp (main):
4342 * tests/Task_Test.cpp (main):
4343 * tests/Barrier_Test.cpp (main): Removed thread_handles[] since we
4344 don't need to join the thread explicitly anymore.
4346 * ace/Thread_Manager.{h,cpp}: Added an ACE_Unbounded_Quque to
4347 collect terminated threads so that we can later join the threads
4348 automatically by issuing a ACE_Thread_Manager::wait(). Some
4349 typos are also fixed. Next step will be to replace current
4350 thr_table_ with a hash table and store an index to this table
4353 Mon Oct 6 22:16:45 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
4355 * ace/Thread_Manager: Added a new task() method to
4356 ACE_Thread_Manager that returns a pointer to the current
4357 ACE_Task_Base we're executing in if this thread is indeed
4358 running in an ACE_Task_Base, else return 0. Thanks to Ari Erev
4359 <ari_erev@icomverse.com> and John Neystadt for suggesting this.
4361 * ace/Thread_Manager: Moved the task_ pointer from the public part
4362 of the ACE_Thread_Descriptor class into the private part of the
4363 class and added an inline accessor instead.
4365 * ace/{Parse_Node.{h,cpp},Svc_Conf.y}: Added support to enable
4366 dynamically allocate objects from factory functions that have
4367 been pre-registered with the Service Configurator instead of
4368 relying on dynamic loading. The new config file syntax would be
4371 dynamic joe Service_Object * : make_queue() active
4372 dynamic bob Service_Object * : make_queue() active
4374 Functions are found in the list of statically defined functions
4375 for static services. Thanks to Eric C. Newton <ecn@smart.net>
4378 Mon Oct 6 13:00:19 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
4380 * ace/CORBA_Handler.cpp: Removed the use of reactor_ in the .cpp
4381 file too; we are using the ACE_Event_Handler reactor_ (which is
4384 Sat Oct 04 17:40:30 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
4386 * ACE version 4.3.10, released Sat Oct 04 17:40:30 1997.
4388 Sat Oct 4 11:57:25 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
4390 * apps/Orbix-Examples/Event_Comm/{Supplier,Consumer}/Makefile:
4391 Changed a typo where /src/ was being used instead of /libsrc/.
4392 Thanks to Jean-Marc STRAUSS <strauss@objectif.fr> for reporting
4395 * examples/Connection/non_blocking/CPP-connector.cpp (init):
4396 Removed the initialization of the local address. This is
4397 error-prone and confusing to use. Thanks to Huiying Shen
4398 <shen@environ.org> for reporting this.
4400 * ace/SV_Semaphore_Simple: Added support for IPC_EXCL in order to
4401 determine, upon creating the semaphore, if it already exists
4402 (which means a bad key was selected), another daemon is still
4403 running or the previous daemon didn't remove its resources. I
4404 have this implemented now by first opening the semaphore and if
4405 that fails then creating it. To support this, added another
4406 enum, ACE_EXCL = IPC_EXCL, to the class header.
4407 Also, changed the ACE_SV_Semaphore_Simple::open( key_t, ... )
4410 if (ACE_BIT_ENABLED (flags, IPC_CREAT))
4414 if (flags == IPC_CREAT)
4416 Thanks to Michael McKnight <mcknight@signalsoftcorp.com> for
4419 * ace: Replaced all uses of the template param LOCK with ACE_LOCK
4420 to avoid conflicts with some systems that have a macro named
4423 * ace/IOStream_T.h: Added ACE_LACKS_ACE_IOSTREAM to the
4424 IOStream_T.* files. Thanks to Torbjorn Lindgren <tl@funcom.no>
4427 * ace/{Proactor,Service_Config,ACE_Sig_Handler}: Removed the use
4428 of sig_atomic_t as a return type. Thanks to Torbjorn Lindgren
4429 <tl@funcom.no> for reporting this.
4431 Sat Oct 04 03:14:46 1997 <irfan@TWOSTEP>
4433 * ace/WFMO_Reactor.cpp (add_network_events_i): While looking
4434 through all entries in the current (and suspended) handles for a
4435 matching handle, we need to skip those that have been scheduled
4436 for deletion). Also changed ACE_BIT_STRICTLY_ENABLED to
4439 * ace/Select_Reactor.cpp (bit_ops): Since CONNECT is no longer a
4440 logical OR of READ and WRITE, we have to explicitly make sure
4441 that enable the handle in the correct wait sets.
4443 * ace/Event_Handler.h: Changed the values of the event
4444 masks. CONNECT is no longer a logical OR of READ and WRITE. It
4445 was its own unique value.
4447 * ace/OS.h: Removed ACE_BIT_STRICTLY_ENABLED. It did not do what I
4448 thought it would do.
4450 * ace/Connector.cpp (handle_output): Added code that tries to find
4451 out if the reactor uses event associations for the handles it
4452 waits on. If so we need to reset it. This is necessary for
4453 asynchronous connects.
4455 * ace/SOCK_Connector.i (reset_new_handle): Added new method on all
4456 connectors to reset event associations of handles.
4458 Fri Oct 03 21:20:26 1997 David L. Levine <levine@cs.wustl.edu>
4460 * ace/Makefile: disable INSTALL in $(ACE_ROOT)/ace Makefile,
4461 because it's not needed and it creates circular symlinks when
4462 the library build fails.
4464 Fri Oct 3 11:39:45 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
4466 * ace/Thread_Manager: Added a new flags_ field to
4467 ACE_Thread_Descriptor and changed the insert_thr() and
4468 append_thr() methods to update this flag so that we can keep
4469 track of whether the thread was created "detached" or not.
4471 * ace/Reactor.cpp (event_loop_done): Replaced the use of
4472 sig_atomic_t with int to workaround bugs with KAI C++. Thanks
4473 to Torbjorn Lindgren <tl@funcom.no> for reporting this.
4475 * ace/CORBA_Handler: Removed the reactor() accessors since they
4476 are subsumed by the methods in ACE_Event_Handler. Thanks to
4477 Jean-Marc STRAUSS <strauss@objectif.fr> for reporting this.
4479 Thu Oct 02 15:38:34 1997 <irfan@TWOSTEP>
4481 * Reactor: Renamed reset_new_handle to uses_event_associations.
4483 * ace/FIFO_Recv.cpp (ACE_FIFO_Recv): aux_handle_ must correctly be
4484 initialized to ACE_INVALID_HANDLE. Thanks to Sandro Doro
4485 <doros@aureus> for reporting this.
4487 Thu Oct 02 11:21:37 1997 Steve Huston <shuston@riverace.com>
4489 * include/makeinclude/platform_{aix aix4.2}.GNU: added the
4490 shared_libs_only = 0 and static_libs = 1 settings since C Set++
4491 builds the shared libs from the static.
4493 * ace/OS.h: Removed spaces around '##' in ACE_DES_FREE_TEMPLATE macro.
4495 * ace/Strategies_T.cpp: added #include "ace/Thread_Manager.h"
4497 * ace/Managed_Object.h: Added <TYPE> template arg in the "unimplemented
4500 Thu Oct 02 10:46:18 1997 Steve Huston <shuston@riverace.com>
4502 * ace/Malloc.h: added some comments on rationale and use of
4505 Wed Oct 01 19:08:26 1997 Steve Huston <shuston@riverace.com>
4507 * include/makeinclude/rules.bin.GNU: correctly builds programs
4508 with multiple object modules.
4510 * examples/ASX/CCM_App/Makefile: needed some adjustment to work with
4511 new rules.bin.GNU, above.
4513 Wed Oct 01 14:11:03 1997 <nw1@CHA-CHA>
4515 * ace/Remote_Name_Space.cpp (resolve): We need to allocate one more
4516 space than what strlen reports.
4518 Wed Oct 01 12:45:51 1997 David L. Levine <levine@cs.wustl.edu>
4520 * ace/ACE.cpp (count_interfaces, get_handle): changed "unix" to
4521 "__unix" because DEC CXX doesn't #define "unix". Thanks to
4522 Billy Quinn <bquinn@lads.com> for reporting this.
4524 * ace/High_Res_Timer.h: added comment from Gabe
4525 <begeddov@proaxis.com> about ACE_OS::gethrtime () drift on MP
4528 * ace/OS.i (gethrtime, Solaris only): removed ACE_OSCALL_RETURN
4529 wrapper around ::gethrtime () because it was broken (the type
4530 was int) and not necessary (::gethrtime () should never fail),
4531 so we can remove its overhead.
4533 * tests/Time_Value_Test.cpp: undef ACE_NO_INLINE in the
4534 ACE_U_LongLong test hacks.
4536 * tests/SV_Shared_Memory_Test.cpp: delay construction of allocator
4537 until first needed because it needs something that the
4538 ACE_Object_Manager constructs.
4540 * tests/run_tests.vxworks: added console printout before each test.
4542 Tue Sep 30 21:42:58 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
4544 * ACE version 4.3.9, released Tue Sep 30 21:42:58 1997.
4546 Tue Sep 30 17:15:14 1997 James C Hu <jxh@lambada.cs.wustl.edu>
4548 * ace/Filecache.{h,cpp}: I removed the static locks in the
4549 Filecache and made them local member objects. Since Filecache
4550 is usually a singleton, no more memory is required this way.
4552 * tests/Hash_Map_Manager_Test.cpp: Added some code to test the
4553 Hash_Map_Manager_Iterator. This is to show Bob Laferriere that
4556 Tue Sep 30 13:41:14 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
4558 * examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.i
4560 * examples/Reactor/ReactorEx/test_network_events.cpp (handle_input):
4561 * examples/Logger/simple-server/Logging_Acceptor.cpp
4562 (handle_input): Changed to use reset_new_handle () for querying
4563 whether we need to reset handles or not.
4565 Tue Sep 30 08:35:15 1997 David L. Levine <levine@cs.wustl.edu>
4567 * ace/Atomic_Op.i: added CVS header.
4569 * ace/Object_Manager.{h,cpp}: removed Filecache arrays, because
4570 Filecache no longer needs them.
4572 * ace/Filecache.{h,cpp}: removed unused static Filecache::lock_.
4574 * tests/test_config.h: Added 1 second sleep to ACE_END_TEST to
4575 allow all threads to terminate gracefully.
4576 VxWorks only: removed the hack removal of the log file, because
4577 it no longer appears to be necessary.
4579 * tests/TSS_Test_Errno.h,TSS_Test.cpp: dynamically allocate
4580 Errno::lock_ to try to avoid problem with cleanup of statics
4581 on VxWorks. It doesn't solve the problem, all of the time.
4582 There are still statics in the ACE library, which could be
4585 Tue Sep 30 01:35:28 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
4587 * ace/Naming_Context.cpp (close, close_down): Separated these two
4588 functions calls. Close now only release the name_space_
4589 resource and close_down release all resources. Close should be
4590 use when changing the name_space.
4592 Mon Sep 29 22:29:46 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
4594 * ace/Strategies_T.cpp (accept_svc_handler ):
4595 * ace/Service_Manager.cpp (handle_input):
4596 * ace/Acceptor.cpp (handle_input, accept_svc_handler): Changed to
4597 use reset_new_handle () for querying whether we need to reset
4600 * ace/Reactor.{h,i} (reset_new_handle):
4601 * ace/Reactor_Impl.h (reset_new_handle):
4602 * ace/Select_Reactor.{h,i} (reset_new_handle):
4603 * ace/WFMO_Reactor.{h,i} (reset_new_handle): Added this new method
4604 so we can determine whether the implementation of the reactor
4605 requires us to decouple the event a handle inherit from accept.
4606 This scheme doesn't depend on the RTTI support of compilers.
4607 Thanks to Irfan for the tips.
4609 Mon Sep 29 21:28:02 1997 <irfan@TWOSTEP>
4611 * ace/Synch (ACE_Recursive_Thread_Mutex): Methods were added to
4612 ACE_Recursive_Thread_Mutex so that it has a consistent interface
4613 with other locking mechanisms. Thanks to Phil Logan
4614 <phill@in.ot.com.au> for submitting these changes.
4616 Mon Sep 29 13:28:05 1997 David L. Levine <levine@cs.wustl.edu>
4618 * ace/OS.i (thr_setconcurrency): added support on Irix 6.x, using
4619 its ::pthread_setconcurrency (). Thanks to Felix Popp
4620 <fxpopp@immd9.informatik.uni-erlangen.de> for letting us know
4621 about this Irix 6.2/3 system function, and for testing it out.
4623 * ace/ACE.cpp (handle_timed_complete) force recv check on VxWorks
4624 because its read handle is always not set. Thanks to Steve for
4625 helping track down the problem. We might want to consider doing
4626 it this way on Unix platforms, as well, according to Steve.
4628 * apps/JAWS/server/HTTP_Server_T.cpp (accept): fixed typo,
4629 "remote_address" instead of "remote_adrress".
4631 * tests/Time_Value_Test.cpp (test_ace_u_longlong): replaced
4632 ACE_ASSERTs with calls to a static function that prints out
4633 why the test failed. Also, disabled test of ACE_U_LongLong
4634 if ACE_HAS_64BIT_LONG.
4636 * ace/OS.h: 1) Use u_long for ACE_hrtime_t if ACE_HAS_64BIT_LONGS.
4637 2) Added ACE_NO_INLINE support to allow wrapper_macros.GNU to
4638 disable inlining from the command line. 3) Added
4639 ACE_HAS_VERBOSE_NOTSUP support.
4641 * include/makeinclude/wrapper_macros.GNU: added "inline" flag to
4642 allow enabling/disabling of inlining from the command line or
4643 platform_macros.GNU.
4645 * ace/config-vxworks*.h: added ACE_HAS_VERBOSE_NOTSUP.
4647 Mon Sep 29 11:15:10 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
4649 * ace/OS.h (ace_cleanup_destroyer): Made this an export function.
4651 Sat Sep 27 17:04:48 1997 <irfan@TWOSTEP>
4653 * ace/Reactor: Added new methods to be able to set and get the
4654 implementation class being used by the reactor. The set method
4655 is protected and should be used with care, specially while
4656 changing the implementation class midway through an
4657 application. Also both the methods are virtual, and user can
4658 subclass to change their behavior. The internal code of the
4659 reactor also changed to now use these methods exclusively rather
4660 than the the raw data variables.
4662 * ace/Acceptor.cpp (handle_input): When using the WFMO_Reactor, we
4663 need to reset the event association for the newly created
4664 handle. This is because the newly created handle will inherit
4665 the properties of the listen handle, including its event
4666 associations. Therefore two changes were made:
4668 - A new directive (flag) was added to all the acceptors
4669 (LSOCK_Acceptor, SOCK_Acceptor, SPIPE_Acceptor, TLI_Acceptor,
4670 and UPIPE_Acceptor) to reset the event associations of the
4671 newly created handle. Currently only the SOCK_Acceptor pays
4672 attentions to this directive, others just ignore it. This flag
4673 had to be added to all the acceptors for interface
4674 compatibility and also to make sure that the Acceptor template
4675 code works correctly.
4677 - A dynamic_cast was necessary to determine at run-time which
4678 implementation of the Reactor we are using. But because this
4679 code is limited to Win32, there should be no problems doing
4682 The same thing as above needed to be done to:
4684 - ACE_Accept_Strategy::accept_svc_handler (ace/Strategies_T.cpp)
4686 - ACE_Service_Manager::handle_input (ace/Service_Manager.cpp)
4688 - LOCK_SOCK_Acceptor::accept (apps/JAWS/server/HTTP_Server_T.h)
4690 - Logging_Acceptor.cpp::handle_input (examples/Logger/simple-server/Logging_Acceptor.cpp)
4692 - Network_Listener::handle_input (examples/Reactor/ReactorEx/test_network_events.cpp)
4694 - Handle_R_Stream::handle_input (examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.i)
4696 Sat Sep 27 20:03:29 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
4698 * include/makeinclude/platform_sunos5_sunc++_orbix.GNU:
4699 Activated exceptions by default too, since they are used by
4702 * include/makeinclude/platform_sunos5_sunc++.GNU:
4703 Some libraries were missing and the locations were not
4704 completely accurate.
4706 * ace/config-sunos5.5-sunc++-4.x-orbix.h:
4707 I let the MT Orbix as the default, since that is the
4708 configuration here and that was implicit in the platform*.GNU
4711 * include/makeinclude/wrapper_macros.GNU:
4712 Added flags to the IDL compiler to emit support for both
4713 CORBA::Any (-A) and the BOAImpl (-B) approach for the server
4714 side implementations.
4716 * ace/CORBA_Handler.cpp:
4717 The full definition for Thread_Manager was missing, I added an
4720 Sat Sep 27 07:59:18 1997 David L. Levine <levine@cs.wustl.edu>
4722 * include/makeinclude/wrapper_macros.GNU,
4723 platform_{chorus,lynxos,vxworks*}.GNU:
4724 default to building shared libs only, except on Chorus,
4725 LynxOS, and VxWorks. While the "shared_libs_only=1" make
4726 flag is still supported, it is no longer necessary because
4729 To revert to the prior behavior of building both shared and
4730 static libraries, add "static_libs=1" to either your make
4731 command invocation or your include/makeinclude/platform_macros.GNU.
4733 Sat Sep 27 00:45:10 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
4735 * examples/OS/Process/README (imore):
4736 * examples/OS/Process/Makefile:
4737 * examples/OS/Process/imore.cpp: Added a new example: imore.
4739 * ace/SOCK_Stream.cpp (close, close_reader, close_writer): Moved
4740 invalid handlers checking from close to close_reader and
4743 Fri Sep 26 14:28:36 1997 Nanbor Wang <nw1@CHA-CHA>
4745 * tests/SPIPE_Test.cpp:
4746 * tests/Process_Strategy_Test: Changed the macro "ACE_LACKS_EXEC"
4747 to "ACE_LACKS_FORK".
4749 * ace/SOCK_Stream.cpp (close): Added checking for invalid handle
4750 before shutting down the write end.
4752 Fri Sep 26 11:55:27 1997 Steve Huston <shuston@riverace.com>
4754 * ace/Malloc.h: Use signed math in the preprocessor calculations
4755 for ACE_CONTROL_BLOCK_ALIGN_LONGS (and all of its contributing
4758 * ace/ACE.cpp: Fixed the TLI/BSD checks in handle_timed_complete.
4760 * tests/SOCK_Connector_Test.cpp: Added ENOTCONN as a valid fail
4761 condition (in addition to ECONNREFUSED).
4763 Fri Sep 26 05:11:40 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
4765 * ace/SOCK_Acceptor.cpp (shared_accept): Made the newly added
4766 WSAEventSelect code unreachable. It caused several test program
4767 hung when performing socket recieving. Don't know why this is
4768 happening. According to the online manual, this should be the
4769 right thing to do. Some more Access Violations to be fix
4770 tomorrow. Oh, I mean, today.
4772 Fri Sep 26 01:22:28 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
4774 * ace/OS: Made a few changes to OS.h and OS.i to stop compiler
4775 warnings. Thanks to Wei Chiang <chiang@tele.nokia.fi> for
4778 * ace/config-chorus.h: Added ACE_LACKS_RLIMIT and removed
4779 ACE_LACKS_SIGACTION. Thanks to Wei Chiang
4780 <chiang@tele.nokia.fi> for reporting this.
4782 * ace/TLI_Connector.cpp (complete): Changed the call to
4783 ACE::handle_timed_complete() to use the new parameter.
4785 * ace/ACE: Added an extra parameter to the call to
4786 ACE::handle_timed_complete() to indicate (at run-time) that this
4787 is being called via a TLI interface. Thanks to the
4788 ever-vigilant Steve Huston for suggesting this.
4790 * tests/SOCK_Connector_Test.cpp: "ACEified" the new test program.
4792 Thu Sep 25 23:27:38 1997 <irfan@TWOSTEP>
4794 * ace/config-win32.h: Error in directives: it should be "Define
4795 ACE_HAS_WINSOCK2 to 0 in your config.h file if you do *not* want
4796 to compile with WinSock 2.0.". The typo was a 1 instead of the
4797 0. Thanks to Gonzalo A. Diethelm <gonzo@ing.puc.cl> for pointing
4800 Thu Sep 25 20:33:09 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
4802 * ace/Message_Queue.h: Changed the *_i() methods to be virtual so
4803 that we can change the queueing mechanism by subclassing from
4804 ACE_Message_Queue. Thanks to Eric Newton <ecn@smart.net> for
4807 * ace/Timer_List_T.cpp (ACE_Timer_List_Iterator_T): Changed
4808 listParam to timer_list to keep programming style consistent...
4810 Thu Sep 25 17:06:42 1997 Steve Huston <shuston@riverace.com>
4812 * ace/OS.i - ACE_OS::cond_timedwait - HP's threads return
4813 EAGAIN on timeout from pthread_cond_timedwait, so adjust that
4816 * tests/SOCK_Connector_Test.cpp - will now try to find another
4817 host to run the connect to. Won't try on Win32 or VxWorks
4820 Thu Sep 25 15:25:53 1997 David L. Levine <levine@cs.wustl.edu>
4822 * ace/Object_Manager.cpp,OS.cpp: moved socket_init to Object_Manager
4823 ctor and socket_fini to Object_Manager dtor, to be sure that
4824 WinSock gets initialized early and closed late.
4826 * ace/SOCK.{h,cpp}: removed dummy_ static now that the
4827 Object_Manager initializes WinSock.
4829 No, I'm not a Win32 wizard all of the sudden. Thanks to
4830 Irfan and Nanbor for directing these changes.
4832 * tests/run_tests.vxworks: commented out tests that don't run
4833 productively on VxWorks: SV_Shared_Memory_Test,
4834 Reactor_Exceptions_Test, SPIPE_Test, and UPIPE_SAP_Test.
4836 Thu Sep 25 03:50:27 1997 <irfan@TWOSTEP>
4838 * ace/OS.i (thr_getspecific): Must restore errno if no errors have
4841 * ace/Log_Msg.cpp (close): Must close the message queue *before*
4842 destruction since there is no destructor for the queue.
4844 * netsvcs/lib/Client_Logging_Handler.cpp (fini): fini must close
4845 and unregister the acceptor. Closing the socket is simply not
4848 Thu Sep 25 01:39:47 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
4850 * ace/Containers.{i,cpp}: Commented out all ACE_TRACE macros in
4851 ACE_Unbounded_Queue<T> so that they won't cause SIGSEGV when we
4852 turn the tracing on. Unbounded_Queue is used in Object_Manager
4853 which must be initialize before most of other objects.
4855 Wed Sep 24 23:37:19 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
4857 * ace/OS.i (thr_getspecific): On NT, added check whether
4858 ::GetLastError() is NO_ERROR when ::TlsGetValue() return 0.
4860 Wed Sep 24 13:37:02 1997 <irfan@TWOSTEP>
4862 * ace/config-win32-common.h (ACE_LACKS_FORK): Added in macro to
4863 distinguish between ACE_LACKS_FORK and ACE_LACKS_EXEC. Also
4864 updated config-chorus.h, config-vxworks-ghs-1.8.h, and
4865 config-vxworks5.x-g++.h.
4867 * ace/OS.h (ACE_WIN32CALL_RETURN && ACE_WIN32CALL): Added new
4868 macros to distinguish between Win32 calls that set GetLastError
4869 and those that set errno. Also updated ACE_OSCALL_RETURN and
4870 ACE_OSCALL such that they do not set errno to GetLastError. This
4871 is because these calls automatically set errno.
4873 Updates OS.* files to reflect these changes.
4875 * ace/SOCK_Acceptor.cpp (shared_accept): Make sure to reset the
4876 event association inherited by the new handle.
4878 * ace/WFMO_Reactor.i (unbind): Added a check for invalid handles
4879 being passed in for removals.
4881 Wed Sep 24 10:34:29 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
4884 Under HP-UX and g++ <dl.h> must be included for dynamic loading,
4885 not <cxxdl.h>; thanks to Warren Thompson (wthompson@altaira.com)
4886 for helping us with this one.
4888 Wed Sep 24 09:36:21 1997 David L. Levine <levine@cs.wustl.edu>
4890 * ace/Managed_Object.{h,i},Object_Manager.{h,cpp}: removed
4891 ACE_Managed_Object get_object () interface. It wasn't
4892 used anywhere; it was originally intended to support preallocated
4893 objects but turned out to not be necessary. I think that it would
4894 be more useful to make it possible to instantiate
4895 ACE_Managed_Object instead, and have it implicitly register
4896 with the ACE_Object_Manager.
4898 * ace/Timer_List_T.cpp (ACE_Timer_List_Iterator_T):
4899 changed name of "list" argument ot "listParam" to resolve name
4900 conflict with STL. Thanks to Brian Mendel for reporting this.
4902 * tests/run_tests.check: print out filename with error messages.
4904 Tue Sep 23 17:11:44 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
4906 * ace/config-hpux-10.x-g++.h:
4907 Added A ACE_LACKS_TIMESPEC_T, thanks to Warren Thompson
4908 (wthompson@altaira.com) for this one.
4910 * include/makeinclude/platform_hpux_gcc.GNU:
4911 Added a -D_REENTRANT define, to enable reentrant methods, thanks
4912 to Warren Thompson (wthompson@altaira.com) and Steve Huston
4913 (shuston@riverace.com) for pointing out this.
4915 * ace/config-hpux-10.x.h:
4916 Added an small comment to clarify that DCE/threads must be
4917 installed if threading is wanted, they are an optional product
4920 Tue Sep 23 10:13:57 1997 David L. Levine <levine@cs.wustl.edu>
4922 * ace/Select_Reactor.cpp: added #include of ace/Thread.h.
4923 Thanks to Vladimir Schipunov <vlad@staff.prodigy.com> for
4926 * ace/Object_Manager.cpp: added #include of ace/Malloc.h.
4927 Thanks to Vladimir Schipunov <vlad@staff.prodigy.com> for
4930 * ace/config-aix-4.1.x.h: added ACE_HAS_PTHREAD_T and
4931 ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR #defines.
4932 Thanks to Vladimir Schipunov <vlad@staff.prodigy.com> for
4933 reporting the build problem on AIX 4.1, and to
4934 Torbjorn Lindgren <tl@funcom.no> for providing these fixes.
4936 * ace/Token_Manager.{h,cpp},Object_Manager.{h,cpp}:
4937 preallocate ACE_Token_Manager creation lock.
4939 * ace/Object_Manager.cpp: use ACE_Cleanup_Adapter<TYPE[COUNT]>
4940 for preallocated arrays.
4942 Mon Sep 22 16:51:44 1997 <irfan@TWOSTEP>
4944 * ace/OS.i (open): Changed code so that (_O_CREAT | _O_TRUNC)
4945 means CREATE_ALWAYS. Thanks to Dave Brackman
4946 (dbrackma@OhioEE.com) for pointing this out.
4948 Mon Sep 22 11:01:28 1997 Steve Huston <shuston@riverace.com>
4950 * tests/SOCK_Connector_Test.cpp, Makefile, run_tests.sh - added new
4951 test to exercise ACE_SOCK_Connector focusing on fail conditions.
4953 Mon Sep 22 07:11:21 1997 David L. Levine <levine@cs.wustl.edu>
4955 * ace/Message_Block.cpp (clone): check this block's cont ()
4956 instead of the new block's cont_ when cloning the continuation
4957 messages. Thanks to Eric Newton <ecn@smart.net> for tracking
4958 down this problem with failing to clone continuation blocks,
4959 and for providing the fix.
4961 * ace/OS.{h,i} (ACE_U_LongLong): added operator!=, and made args
4962 const to ctor, operator/, hi, and lo member functions.
4964 * ace/Managed_Object.[hi]: renamed ACE_Managed_Cleanup to
4965 ACE_Cleanup_Adapter because it doesn't implicitly register
4966 itself with the ACE_Object_Manager.
4968 * ace/ACE.cpp: moved ACE_Object_Manager_Destroyer to
4969 Object_Manager.cpp because the ACE_Object_Manager should
4970 always be linked into executables now, even if libACE is
4973 * ace/Filecache.{h,cpp},Signal.{h,cpp} preallocate locks for
4974 Filecache and Signal in ACE_Object_Manager.
4976 * ace/Object_Manager.{h,cpp}: 1) renamed ACE_Managed_Cleanup to
4977 ACE_Cleanup_Adapter. 2) Moved ACE_Object_Manager_Destroyer from
4978 ACE.cpp to Object_Manager.cpp. 3) Added Filecache and Signal locks.
4980 * ace/Singleton.*: removed instance (TYPE *) member function because
4981 it wasn't being used. And, it allows us to store the contained
4982 instance_ as an object instead of a pointer, saving a dynamic
4983 memory allocation on construction.
4985 * include/makeinclude/platform_vxworks5.x_g++.GNU: added $(MUNCHED)
4986 to PRELINK, to allow applications to add libraries or object
4987 files to be munched.
4989 * ace/stdcpp.h: stdarg.h must be #included before stdio.h on LynxOS.
4991 Sat Sep 20 17:32:23 1997 David L. Levine <levine@cs.wustl.edu>
4993 * ace/Object_Manager.{h,cpp},Managed_Object.*,
4994 CORBA_Handler.{h,cpp},Dump.{h,cpp},Log_Msg.cpp,OS.cpp
4995 revised ACE_Object_Manager interface for preallocated objects.
4997 Also, added documentation of ACE_Object_Manager interface to
4998 Object_Manager.h and Managed_Object.h.
5000 * ace/CORBA_Handler.cpp,Dump.cpp,OS.cpp: use ACE_MT with
5003 * include/makeinclude/platform_*.GNU,wrapper_macros.GNU:
5004 moved -O out of wrapper_macros.GNU and into each platform
5005 file's OC[C]FLAGS to support "optimize" make flag.
5007 I moved -O and similar compile flags out of CFLAGS and/or
5008 CCFLAGS and into OCFLAGS and/or OCCFLAGS. This allows the
5009 ACE make system to support the "optimize" flag. It operates
5010 similar to the "debug" flag, i.e., you can set "optimize=1"
5011 or "optimize=0" in your platform_macros.GNU file to enable
5012 or disable optimization. You can use the same syntax to
5013 get the same effect from the "make" command line, e.g.,
5014 "make optimize=1 debug=0".
5016 I added optimize=1 to platform_*.GNU files that had -O, etc.,
5017 in their C[C]FLAGS. Therefore, there should be no net effect
5018 from this change on any platform.
5020 * include/makeinclude/wrapper_macros.GNU:
5021 I _removed_ the disabling of "debug" when "optimize=1" is
5022 enabled. This _will_ have a net effect: if you were relying
5023 on "debug" to be disabled when you enabled "optimize=1",
5024 you'll be surprised. The change supports platforms that
5025 allow "debug" and "optimize" simultaneously.
5027 Because I had added the disabling of "debug" recently,
5028 and because "optimize=1" wasn't supported well, if at all,
5029 I'd be suprised if any is actually affected by this change.
5031 Sat Sep 20 11:47:14 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
5033 * ace/Timer_Queue_T.cpp:
5034 Changed the return type to <int>, to match its declaration. The
5035 intent was to error error values, which are declared as <int>
5038 Sat Sep 20 08:07:36 1997 David L. Levine <levine@cs.wustl.edu>
5040 * ace/OS.i (gethrtime): on Linux only, removed "volatile" qualifier
5041 from declaration of local variable "now". I don't think that
5042 it's necessary. It causes compilation failure with g++ because
5043 the ACE_U_LongLong copy constructor won't take a volatile
5044 argument. Thanks to Sandro Doro <doros@aureus.sublink.org> for
5045 tracking down this problem.
5047 * tests/Time_Value_Test.cpp: reverted to test ACE_U_LongLong on
5048 all platforms except WIN32. It works properly on Linux with
5049 the removal of volatile from ACE_OS::gethrtime's "now". Thanks
5050 to Sandro Doro <doros@aureus.sublink.org> for figuring this one
5053 Fri Sep 19 18:49:50 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
5055 * ace/config-irix6.x-g++.h:
5056 * include/makeinclude/platform_irix6.x_g++.GNU:
5057 Added support for IRIX 6.x w/gcc, thanks to Celeste E. Copeland
5058 (celeste@altaira.com) for this.
5060 Thu Sep 18 19:33:02 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
5062 * Douglas added the following changes while going through the
5065 * ace/Timer_Queue_T.h: Factored out the code for handling
5068 * ace/Timer_Queue_T.cpp (handle_signal): Cleanedup the logic
5069 for rescheduling a ualarm() after expiring a timer.
5071 * tests/Async_Timer_Queue_Test.cpp (signal_handler): Changed the
5072 use of ACE_DEBUG to ACE_ERROR to ensure that the call doesn't
5073 magically disappear if ACE_NDEBUG is enabled.
5075 Fri Sep 19 18:05:48 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
5077 * ace/Log_Msg.cpp (log): Changed the send() to a send_n() so that
5078 all the data gets written...
5080 Fri Sep 19 14:52:53 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
5082 * netsvcs/lib/Client_Logging_Handler.cpp (get_handle): Can't use
5083 ACE_ERROR_RETURN here because ACE_HANDLE is a void* on NT, not
5086 * examples/Reactor/Misc: Added reactors.dsp signals_1.dsp
5089 * ace/OS.cpp (thr_exit): Commented out the call to
5090 ACE_TSS_Cleanup::exit () because ACE_OS::thr_exit is actually
5091 called from ACE_TSS_Cleanup::exit ().
5093 Fri Sep 19 12:50:37 1997 David L. Levine <levine@cs.wustl.edu>
5095 * ACE-INSTALL*,ace/README: added more documentation of requirement
5096 for explicit main (int, char *[]) arguments and int return type
5097 with ACE_HAS_NONSTATIC_OBJECT_MANAGER (on VxWorks).
5099 Thu Sep 18 22:45:09 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5101 * netsvcs/lib/Client_Logging_Handler.cpp (close): Fixed a
5102 typo: it's output_ not outout_. Thanks to David for
5105 * netsvcs/lib/Client_Logging_Handler.cpp: Make sure to clean up
5106 all our resources (e.g., acceptor-mode and data-mode sockets)
5109 * netsvcs/servers/main.cpp (main): Restored the entire contents of
5112 * tests/Semaphore_Test.cpp: Updated the test to use a temporary
5113 ACE_Time_Value variable that is passed to
5114 ACE_Semaphore::acquire() so that we don't have problems with
5115 reference anachronisms... Thanks to David Levine for reporting
5118 * ace/Log_Msg.cpp: Changed over to using ACE_SPIPEs for the
5119 logging mechanism rather than ACE_FIFOs to conform to the
5120 changes to Client_Logging_Handler.
5122 * netsvcs/lib/Client_Logging_Handler.cpp:
5123 Completely rewrote the Client Logging Daemon so that it uses
5124 ACE_SPIPEs by default, rather than ACE_FIFOs. This is more
5125 portable and makes it easier to write a generic client logging
5126 daemon... If a platform doesn't support ACE_SPIPEs, then we
5127 revert to using sockets.
5129 Thu Sep 18 21:56:33 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
5131 * ace/OS.cpp (ACE_TSS_Cleanup::exit): Masked out codes that relate
5132 to freeing TSS keys and remove key entries from TSS cleanup
5133 table. I removed it here to avoid race condition.
5134 (ACE_TSS_Cleanup::free_all_key_left): Added this function to
5135 free all left over TSS keys and remove them from TSS cleanup
5136 table when the program exits. It is only called from
5137 ACE_OS::cleanup_tss.
5138 (ACE_OS::cleanup_tss): Added call to
5139 ACE_TSS_Cleanup::free_all_key_left when ACE_WIN32 or
5140 ACE_HAS_TSS_EMULATION are defined.
5142 Thu Sep 18 16:30:24 1997 David L. Levine <levine@cs.wustl.edu>
5144 * ace/Semaphore_Test: protected declarations of test_timeout_count
5145 and timeouts because they're not used on Solaris.
5147 * netsvcs/lib/Client_Logging_Handler.cpp: added template
5150 Thu Sep 18 09:04:40 1997 <irfan@TWOSTEP>
5152 * ace/Dynamic: Changed the way ACE_Dynamic worked. Instead of
5153 keeping the "this" pointer of the object in question, we are now
5154 simply keeping a flag that indicates whether the object was
5155 dynamically created. The trick to this approach is to make sure
5156 to reset the flag in the constructor. The "this" pointer
5157 approach was broken when used with multiple inheritance, because
5158 of "shearing" of the "this" pointer to get to the base
5161 Thu Sep 18 01:12:36 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
5163 * ACE version 4.3.8, released Thu Sep 18 01:12:36 1997.
5165 Wed Sep 17 22:47:20 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5167 * ace/ACE: Added two new varargs methods for send() and recv().
5168 These are modeled after the ones that are in, e.g., ACE_SOCK_IO.
5170 * ace/Log_Msg.cpp (open): In the UNICODE version the compiler
5171 complains about mixed wchar/char usage in Log_Msg.cpp:
5173 Log_Msg.cpp(468) : error C2665: 'ACE_INET_Addr::ACE_INET_Addr' :
5174 none of the 8 overloads can convert parameter 1
5175 from type 'const unsigned short *'
5177 I fixed it modifing the connect() call from
5179 status = con.connect (*ACE_Log_Msg_message_queue,
5180 ACE_INET_Addr (logger_key));
5184 status = con.connect (*ACE_Log_Msg_message_queue,
5186 (ACE_MULTIBYTE_STRING(logger_key)));
5188 Thanks to Dieter Quehl <dietrich.quehl@med.siemens.de> for
5191 * ace/SV_Semaphore_Simple.h: By default, we want the flags to
5192 perform a SEM_UNDO. Thanks to Sandro Doro
5193 <doros@aureus.sublink.org> for reporting this.
5195 * tests/Makefile (BIN): Added Semaphore_Test.cpp to the Makefile.
5196 Thanks to Sandro Doro <doros@aureus.sublink.org> for reporting
5199 * tests/Async_Timer_Queue_Test.cpp: If you want to print a '\',
5200 you need to make it a \\... Thanks to David for noticing this.
5202 * apps/JAWS/clients/Blobby/Blob_Handler.h: There was a missing
5203 #include for "ace/SOCK_Stream.h".
5205 * netsvcs/lib/Client_Logging_Handler: Reimplemented this service
5206 so that it uses sockets on Win32 to receive logging messages
5209 * ace/Log_Msg.cpp: Enhanced ACE_Log_Msg::log() so that it now uses
5210 sockets on Win32 platforms to work around the lack of FIFOs.
5212 * ace/Log_Record.h: Revised the field layout of the ACE_Log_Record
5213 so that the length field comes first. This is necessary for the
5214 framing mechanisms used throughout ACE in various
5217 Wed Sep 17 15:17:38 1997 James C Hu <jxh@lambada.cs.wustl.edu>
5219 * ace/Filecache.cpp: ACE_Filecache::finish should check to see if
5220 the file passed in is NULL before attempting to grab the
5221 associated hash lock. Reported by Samuel Melamed
5224 Wed Sep 17 13:51:25 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
5227 I setup autoflush on the logfile, it makes debugging and non
5228 crontab usage a bit easier.
5230 Wed Sep 17 12:59:34 1997 <irfan@TWOSTEP>
5232 * ace/Local_Name_Space_T.cpp: Fixed warnings caused by SEH macros.
5234 Wed Sep 17 01:07:40 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
5236 * ACE version 4.3.7, released Wed Sep 17 01:07:40 1997.
5238 Tue Sep 16 23:34:36 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5240 * netsvcs/servers/main.cpp (main): The use of braces was incorrect
5241 so that some services were being prematurely closed...
5243 * ace: Added a new flag called ACE_LACKS_FIFO to distinguish the
5244 (lack of) features on Win32...
5246 * ace/Timer_Queue_T: Added an expire() wrapper for the
5247 Async_Timer_Queue_Adapter.
5249 * ace/OS: Added a wrapper for strpbrk() and wcspbrk(). Thanks to
5250 Bob Olson <olson@jeeves.mcs.anl.gov> and Irfan for pointing out
5253 Tue Sep 16 18:03:58 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
5256 It wouldn't report an error when run_tests.sh scream "FAILED",
5259 Tue Sep 16 08:30:28 1997 Steve Huston <shuston@riverace.com>
5261 * ace/OS.i: Changed a couple of ACE_UNUSED(arg) to ACE_UNUSED_ARG(arg)
5263 Mon Sep 15 12:08:38 1997 <irfan@TWOSTEP>
5265 * ace/Reactor (register_handler): Originally this interface was
5266 available for all platforms, but because ACE_HANDLE is an int on
5267 non-Win32 platforms, compilers are not able to tell the
5269 register_handler(ACE_Event_Handler*,ACE_Reactor_Mask) and
5270 register_handler(ACE_Event_Handler*,ACE_HANDLE). Therefore, we
5271 have restricted this method to Win32 only.
5273 * ace/WFMO_Reactor.h: Removed non-Win32 version of the
5274 WFMO_Reactor. This is no longer required in the new scheme.
5278 Added remove_handler_i(const ACE_Handle_Set &,ACE_Reactor_Mask)
5279 to make the compiler happy.
5281 Also changed ACE_Reactor_Handle_Set to ACE_Select_Reactor_Handle_Set.
5283 * ace/Select_Reactor.cpp (ACE_Select_Reactor_Token): Added set/get
5284 select_reactor methods.
5286 * ace/OS.h (ACE_SEH_TRY): Changed ACE_SEH_TRY from nothing to
5287 "if(1)" on non-Win32 platforms. This should stop some compilers
5288 from complaining about unreachable code.
5290 Mon Sep 15 11:37:49 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
5292 * include/makeinclude/platform_hpux.GNU:
5293 Added -D_REENTRANT to enable the _r functions.
5295 Mon Sep 15 09:40:57 1997 Carlos O'Ryan <coryan@polka.cs.wustl.edu>
5298 Enabled the shared_libs_only flags to speed up compilations (and
5299 reduce disk space usage).
5301 Sun Sep 14 22:36:17 1997 <irfan@TWOSTEP>
5303 * ace/Select_Reactor.h: Added a no-op constructor for
5304 ACE_Select_Reactor_Token to make the compiler happy.
5306 Sun Sep 14 21:02:31 1997 David L. Levine <levine@cs.wustl.edu>
5308 * all Makefiles: ran "make depend" to update all ACE Makefiles.
5310 * include/makeinclude/platform_irix6.x-32_sgic++.GNU,
5311 platform_tandem.GNU: added debug = 1, to disable ACE_NDEBUG.
5313 * ace/Acceptor.cpp: added #include of ace/Handle_Set.h so that
5314 it will compile on g++/Solaris.
5316 * ace/Managed_Object.h: added #include of ace/OS.h because
5317 ACE_Cleanup class is used.
5319 * ace/Managed_Object.cpp: only #include ace/Synch.h if
5320 ACE_TEMPLATES_REQUIRE_SOURCE is not defined. The #include
5321 appears to be necessary with Digital Unix. But, it causes
5322 inline functions warnings with g++, both with inlining
5323 enabled and disabled. Circular #includes are evil :-)
5325 * ace/Select_Reactor.h: removed "," at end of DEFAULT_SIZE
5328 * ace/Select_Reactor.i (register_handler): added ACE_UNUSED_ARGS.
5330 * ace/Select_Reactor.i: moved ACE_Select_Reactor::size () after
5331 ACE_Select_Reactor_Handler_Repository::size () to prevent use
5334 * ace/Select_Reactor.cpp: added template instantiation.
5336 * ace/Svc_Conf_y.cpp: commented out unused args and wrapped
5337 assignments in "if" conditionals to avoid g++ warnings.
5339 * ace/Token_Manager.h: inserting missing "public" access control
5340 specifier for ACE_Cleanup.
5342 * ace/OS.{h,cpp} (gethrtime, Linux only): inlined and added Alpha
5345 * ace/config-linux*.h: only define ACE_HAS_PENTIUM if i386 is defined.
5347 Sun Sep 14 10:35:57 1997 <irfan@TWOSTEP>
5349 * ace/Reactor: The Reactor classes (ACE_Reactor and ACE_ReactorEx)
5350 have changed. The motivation for this change was to allow users
5351 to program abstractly and use the most efficient implementation
5352 available on their platform. At the same time, we wanted to
5353 make the changes required by the users kept to a minimal.
5355 Here is a layout of the new Reactor hierarchy in ACE (an example
5356 of the GOF Bridge Pattern). Thanks to Thomas Jordan
5357 (Thomas_Jordan@deluxedata.com) for suggesting this new design.
5360 Reactor -----> Reactor_Impl
5363 --------------------
5366 Select_Reactor WFMO_Reactor
5370 The Reactor class now becomes an interface class that contains
5371 a pointer to an implementation class. All methods of the
5372 Reactor class forward all calls to the appropriate
5373 implementation class. Users can pass in their own
5374 implementation class. If an implementation class is not
5375 supplied at creation time, the following default rules apply:
5377 On non-Win32 platforms: An instance of the Select_Reactor
5378 class will be created and used as the implementation.
5380 On Win32 platforms: An instance of the WFMO_Reactor class will
5381 be created and used as the implementation. This default
5382 behavior can be overwritten at compile-time by setting the
5383 ACE_USE_SELECT_REACTOR_FOR_REACTOR_IMPL flag. In this case, an
5384 instance of the Select_Reactor class will be created and used
5385 as the implementation.
5389 Reactor_Impl is an abstract class (i.e., the Bridge).
5390 Select_Reactor and WFMO_Reactor inherit from this class.
5394 Previously known as the Reactor class. This class implements
5395 the Reactor_Impl interface by using the select() system
5396 call. This implementation is available on all platforms
5401 WFMO (Wait For Multiple Objects) Reactor, previously known as
5402 the ReactorEx class. This class implements the Reactor_Impl
5403 interface by using the WaitForMultipleObjects() system call.
5404 This implementation is currently only available on Win32
5407 Code changes for users:
5409 The higher authorities of ACE have decided that ReactorEx was
5410 a "goofy" name and made little sense in the new hierarchy.
5411 Therefore users using the old ReactorEx will have to change
5412 over to start using the Reactor class (and make sure that the
5413 implementation class being used is WFMO_Reactor).
5415 Also users that have extended Reactor or ReactorEx must
5416 now subclass from Select_Reactor or WFMO_Reactor,
5421 The ReactorEx interface has been extended to be identical to the
5422 Reactor interface. Some of these new operations will not be
5423 supported in this version. However, we will have interface
5424 compatability at this point. This allows the creation of the new
5425 Reactor hierarchy in ACE.
5427 Removed all static (singleton) methods from ReactorEx. These are
5428 not necessary anymore since ReactorEx will become an
5429 implementation class. Reactor will take over this functionality.
5431 Changed methods names from resume_all to resume_handlers and
5432 suspend_all to suspend_handlers. This increases the similarity
5433 between ReactorEx and Reactor.
5435 Add a lock_adapter so that we can return an ACE_Lock form of our
5438 Added signal handling capabilities to ReactorEx.
5440 Added handler, requeue_position, mask_ops, and ready_ops
5441 operations. However, they are not supported in this
5442 version. They are mostly here for interface compatibility with
5445 Added a size() accessor that returns the current size of the
5446 ReactorEx's internal descriptor table.
5448 Added an initialized() accessor that returns true if ReactorEx
5449 has been successfully initialized, else false.
5453 The Reactor interface has been extended to be identical to the
5454 ReactorEx interface. Some of these new operations will not be
5455 supported in this version. However, we will have interface
5456 compatability at this point. This allows the creation of the new
5457 Reactor hierarchy in ACE.
5459 Added resume_handler(ACE_Handle_Set &) and
5460 suspend_handler(ACE_Handle_Set &) to the Reactor. This
5461 increases the similarity between ReactorEx and Reactor.
5463 Add a lock_adapter so that we can return an ACE_Lock form of our
5464 internal lock. This changes the signature of the return type
5465 from ACE_Reactor_Lock to ACE_Lock.
5467 Added a size() accessor that returns the current size of the
5468 Reactor's internal descriptor table.
5470 Added wakeup_all_thread() operation. Currently it just does a
5473 Added alertable_handle_events() operation. Currently it just
5474 calls handle_events().
5476 Added register_handler (that take event handles) operations.
5477 However, they are not supported in this version. They are mostly
5478 here for interface compatibility with ReactorEx.
5480 * ace/XtReactor: Now inherits from Select_Reactor instead of
5483 * ace/Timer_Queue_T.h: Removed the inclusion of Time_Value.h. This
5484 file does not exist anymore
5486 * ace/Synch_T (ACE_Lock_Adapter): Changed the implementation of
5487 the adapter such that the user is allowed to (optionally) pass
5488 in the locking mechanism.
5490 * ace/Strategies: Removed ACE_ReactorEx_Notification_Strategy.
5492 * ace/Service_Config: Updated Service_Config so that all ReactorEx
5493 and Proactor methods are removed. ReactorEx does not exist any
5494 longer and Proactor methods are available as statics methods on
5497 * ace/OS.h (ACE_DEFAULT_SELECT_REACTOR_SIZE): Changed
5498 ACE_DEFAULT_REACTOR_SIZE to ACE_DEFAULT_SELECT_REACTOR_SIZE.
5499 There is no default size dictated by the Reactor class anymore.
5501 * ace/Local_Tokens,Token: Added new methods: acquire_read,
5502 acquire_write, tryacquire_read, tryacquire_write. These methods
5503 allow the Tokens to be used by the ACE_Lock_Adapter class.
5505 * ace/Handle_Set.h (MAXSIZE): Changed ACE_DEFAULT_REACTOR_SIZE to
5506 ACE_DEFAULT_SELECT_REACTOR_SIZE. There is no default size
5507 dictated by the Reactor class anymore.
5509 * ace/Event_Handler: Removed the Proactor and ReactorEx pointers
5510 from Event_Handler. The Proactor has its own event handler
5511 (ACE_Handler), and the ReactorEx does not exist anymore.
5515 Changed Proactor to work with the new Reactor.
5517 Updated Proactor to bring it upto date with the recent changes
5522 Removed the ACE_NEW_THREAD macro. With the new thread adapter,
5523 the log stream for the new thread will automatically be set to
5524 the creator thread's stream. Therefore, this macro is not
5527 Removed the inclusion of Service_Config.h. All tests are now
5528 accessing the singletons that are supported by the class directly.
5530 * examples/Reactor/Proactor: Updated examples to use and access
5531 the new Reactor class instead of the old ReactorEx.
5533 * examples/Reactor/ReactorEx: Updated examples to use and access
5534 the new Reactor class instead of the old ReactorEx.
5536 Sun Sep 14 09:50:22 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
5538 * ace/Singleton.i (ACE_Singleton): Moved the definition of the
5539 ACE_Singleton default constructor into the *.i file. In
5540 general, it's not a good idea to put definitions in *.h files.
5542 * tests/test_config.h: Improved the #undef scheme for ACE_NDEBUG.
5544 Sat Sep 13 23:51:55 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu>
5546 * ace/ACE_Library.{mak,mdp}: Removed Service_Record.cpp and added
5547 Service_Type.cpp in project file.
5549 * ace/: Removed ace.{mak,mdp} and replaced them with
5550 ACE_Library.{mak,mdp}. MSVC 4.2 insists to change the release
5551 version DLL from our original setting "ace.{dll,lib}" to "ACE
5552 dynamic Library.{dll,lib}". This is so far the only known
5553 method to get around this.
5555 * netsvcs/servers/servers.{dsw,dsp}: Changed the output filenames
5556 of debug version from maind.exe to main.exe.
5558 * netsvcs/lib/netsvcs.{dsw,dsp}: Changed the output filenames of
5559 debug version from netsvcsd.{dll,lib} to netsvcs.{dll,lib}.
5562 * ace/ace_{dll,lib}.dsp: Removed Service_Record.cpp and added
5565 * ace/Log_Msg.cpp (open): Fixed a typo.
5567 * ace/Reactor.cpp: Fixed a typo.
5569 Sat Sep 13 17:23:22 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
5571 * ACE version 4.3.6, released Sat Sep 13 17:23:22 1997.
5573 Sat Sep 13 12:11:50 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
5575 * tests: #include "test_config.h" before all the other files so
5576 that we always have the ACE_ASSERT enabled... Thanks to Carlos
5579 * ace/Reactor.cpp: Added Arturo's improvements for suspending and
5580 resuming Event_Handlers.
5582 * tests/Reactors_Test.cpp: As a result of the new changes to
5583 ACE_Thread_Manager, the Reactors_Test now seems to be working
5586 * ace/Thread_Manager.cpp (append_thr): When we append a new
5587 Thr_Descriptor make sure to zero-out the cleanup_info_ fields
5588 since otherwise horrible things will happen...
5590 * ace/Reactor: Added a new ACE_Reactor_Handle_Set called
5591 suspend_set_ and updated the suspend_i() and resume_i() method
5592 to use this set to store the ready bits that are enabled when we
5593 suspend and resume and Event_Handler, respectively. Thanks to
5594 Arturo for this suggestion.
5596 * tests/TSS_Test.cpp (main): Had to move the allocation and
5597 deletion of TSS_Error into the ACE_HAS_THREADS section since
5598 otherwise this test doesn't work when threading is disabled.
5600 * tests/Thread_Manager_Test.cpp: Move the template specialization
5601 inside of the ACE_HAS_THREADS macro since otherwise this test
5602 doesn't work when threading is disabled.
5604 * ace/Thread_Manager.cpp: Arrgh! Must initialize the cleanup_info
5605 fields to 0 in the constructor for ACE_Thread_Descriptor! This
5606 should fix a nasty bug...
5608 * tests/Async_Timer_Queue_Test.cpp: Continued to improve the
5609 documentation in the test of the ACE_Async_Timer_Queue_Adapter.
5611 * ace/Timer_Queue_T.cpp (schedule): Oops, must pass &this->mask_
5612 to ACE_Sig_Set rather than this->mask_.
5614 * ace/Object_Manager.cpp: Changed #include
5615 "ace/Service_Repository.h" to #include "ace/Service_Config.h"
5616 since we now call ACE_Service_Config::close().
5618 * ace/Service_Types: Removed a nasty circular dependency by simply
5619 having each of the ACE_Service_Type_Impl subclasses take const
5620 void *'s rather than their specific type (i.e., ACE_Stream or
5621 ACE_Module, etc.). This turns out not to be a problem since we
5622 treated them as const void *'s internally anyhow...
5624 * ace/Strategies_T.cpp: Fixed a bug in ACE_DLL_Strategy:
5626 ACE_Service_Type_Impl stp = new ACE_Service_Object_Type (svc_handler, this->svc_name_);
5630 ACE_Service_Type_Impl *stp = new ACE_Service_Object_Type (svc_handler, this->svc_name_)
5632 I wonder how this ever compiled?!
5634 Fri Sep 12 13:26:50 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5636 * ace/Mem_Map.cpp (close): Removed the following code in the
5637 close() method that appears to be redundant with the code in
5640 if (this->file_mapping_ != this->handle_
5641 && this->file_mapping_ != ACE_INVALID_HANDLE)
5642 ACE_OS::close (this->file_mapping_);
5644 Also cleaned up the close() code so that it doesn't try to close
5645 the handle multiple times, even if close() is called more than
5646 once. Thanks to Beged-Dov <begeddov@proaxis.com> for reporting
5649 * tests/Async_Timer_Queue_Test.cpp: Improved the structure of the
5650 program and finished implementing the new feature that makes it
5651 possible to avoid blocking SIGQUIT.
5653 * ace/Timer_Queue_T: Added support for an ACE_Sig_Set that can be
5654 passed into the constructor of ACE_Async_Timer_Queue_Adapter.
5655 This will enable us to selectively block only certain signals.
5657 * ace/Signal: Added a new constructor for ACE_Sig_Set that takes
5658 ACE_Sig_Set * and also improved the documentation of the
5659 constructor interfaces.
5661 Fri Sep 12 13:46:04 1997 David L. Levine <levine@cs.wustl.edu>
5663 * ace/OS.[hi],Log_Msg.h,config-lynxos.h,
5664 include/makeinclude/platform_lynxos.GNU: added LynxOS port,
5665 provided by Dave Mayerhoefer <davem@lynx.com>. Note how few
5666 files were affected. What's even more amazing is the very small
5667 number, 8, of very minor code changes to OS.[hi] and Log_Msg.h.
5668 This is a tribute to the maturity of
5669 <a href="http://www.lynx.com>LynxOS</a>, a POSIX-conforming,
5670 multiprocess, and multithreaded real-time operating system.
5671 And to the maturity of ACE.
5673 Fri Sep 12 12:53:20 1997 David L. Levine <levine@cs.wustl.edu>
5675 * ace/config-osf1-4.0.h: added
5676 ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR.
5678 * ace/Managed_Object.cpp: added #include "ace/Synch.h".
5680 * ace/Strategies_T.cpp: added #include "ace/Service_Types.h".
5682 Thanks to James Johnson for the three fixes above.
5684 * ace/Service_Types.cpp: #include Service_Types.i instead of
5687 * ace/Synch_T.cpp: added #include "ace/Log_Msg.h". I don't know
5688 what change caused this to be necessary, but tests/TSS_Test
5689 wouldn't build without it.
5691 * ace/Log_Msg.cpp (instance): preallocate ACE_Log_Msg instance lock.
5693 Thu Sep 11 21:07:25 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
5695 * ace/Service_Object.h: Moved the ACE_Service_Type class into the
5696 Service_Object.h file since this is "publically" visible to
5699 * ace/Service_Types.h: Improved the documentation of the
5700 ACE_Service_Type subclass implementations.
5702 * ace/Service_Types: Changed the name next_ to link_ to be
5703 consistent with the accessor name.
5705 * ace: Renamed Service_Record.{h,i,cpp} to Service_Types.{h,i,cpp}
5706 to reflect the recent change in names.
5708 * ace/Service_Object.h: Renamed ACE_Service_Type to
5709 ACE_Service_Type_Impl and ACE_Service_Record to ACE_Service_Type
5710 in order to emphasize the use of the Bridge pattern. Thanks to
5711 Eric Newton for motivating this.
5713 * ace/Svc_Conf.y: Removed the warning about Service name being
5714 different from Module name. I'm not sure why this was
5715 complaining in the first place. Thanks to Eric Newton for
5718 * netsvcs/lib/README: The entry point for the time service client
5719 is _make_ACE_TS_Clerk_Processor and not
5720 _make_ACE_TS_Clerk_Connector. Thanks to Ivan for pointing this
5723 Thu Sep 11 10:59:12 1997 <nw1@CHA-CHA>
5725 * ace/Connector.cpp (handle_output): Increased the idle time
5726 before we check the status of a non-blocking connection from 1
5727 ms to 35 ms when ACE_HAS_BROKEN_NON_BLOCKING_CONNECTS is
5728 defined (i.e., Win32.) This is very odd but wait a whole lot
5729 longer seems to solve the problem.
5731 * ace/Log_Msg.cpp (close): On Win32, ACE_Log_Msg_Manager needs to
5732 delete main thread's ACE_Log_Msg instance also.
5734 Thu Sep 11 10:37:00 1997 Carlos O'Ryan <coryan@polka.cs.wustl.edu>
5737 * ace/INET_Addr.cpp:
5739 * ace/Memory_Pool.h:
5742 * ace/Parse_Node.cpp:
5743 * ace/Strategies_T.h:
5745 * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.h:
5746 I checked the use of MAXNAMELEN vs. MAXPATHLEN; all buffers
5747 intended to keep full filenames should have at least
5749 Only buffers that will keep basenames (without any directories)
5750 should have MAXNAMELEN+1 bytes.
5751 I also added a new macro ACE_MAX_FULLY_QUALIFIED_NAME_LEN which
5752 is the maximum number of characters for a fully qualified
5754 There remain one obscure usage of these macros in ace/Malloc.h
5755 and Local_Naming_Space_T.{h,cpp}, but a quick fix broke
5756 something, I will try again soon.
5758 Thu Sep 11 08:52:36 1997 David L. Levine <levine@cs.wustl.edu>
5760 * ace/OS.cpp (thr_key_detach): check to see if the
5761 ACE_TSS_Cleanup lock has been constructed, and not
5762 destructed, before attempting to use it. Statics are evil.
5764 * ace/Log_Msg.cpp (~ACE_Log_Msg): release guard before calling
5765 ACE_Log_Msg_Manager::close (), because that deletes the lock.
5767 * ace/Managed_Object.{h,cpp} (get_object): changed type of "id"
5768 to int because it will often be passed an enum. Pass "id" by
5769 value to get_object (int id), for preallocated objects.
5771 * ace/Object_Manager.{h,cpp}: added ACE_LOG_MSG_INSTANCE_LOCK,
5772 and ACE_PREALLOCATE_OBJECT macro.
5774 * include/makeinclude/wrapper_macros.GNU: ignore shared_libs_only
5775 in modules that only build a static lib. Fixed shared_libs_only
5776 by removing OBJDIRS, unless BIN is undefined, and VDIR. Removed
5777 SHOBJ from both shared_libs_only and static_libs_only because
5780 * include/makeinclude/rules.local.GNU: added lib*.*_pure* to
5781 clean.local target, to remove Purified libraries.
5783 * examples/Connection/non_blocking/Makefile,
5784 examples/Service_Configurator/IPC-tests/server/Makefile:
5785 removed -L./ from LDFLAGS because it's redundant:
5786 wrapper_macros.GNU adds it.
5788 Wed Sep 10 22:58:10 1997 Douglas C. Schmidt <schmidt@mambo.cs.wustl.edu>
5790 * ace/Thread_Manager.cpp (exit): Reordered the code so that it
5791 will keep the lock held long enough to copy out the thread exit
5792 hook but will release the lock before calling this hook.
5794 Wed Sep 10 11:04:08 1997 David L. Levine <levine@cs.wustl.edu>
5796 * ace/config-sunos5.5-g++.h: added
5797 ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS.
5799 * include/makeinclude/wrapper_macros.GNU: added PIC= with
5800 static_libs_only, and added list of supported make flags.
5802 * include/makeinclude/wrapper_macros.GNU: added support for
5803 debug=0, etc. Also, made debug, optimize, and profile
5804 flags independent instead of exclusive. Thanks to Per
5805 Andersson for suggesting this.
5807 * include/makeinclude/platform_*.GNU: replaced "CFLAGS +=
5808 $(DCFLAGS) with debug=1 so that debugging can easily be
5809 disabled. Thanks to Per Andersson and James CE Johnson
5810 for noticing this deficiency.
5812 * include/makeinclude/platform_vxworks5.x_g++.GNU: removed
5813 "-I. -I$(ACE_ROOT)" from CFLAGS because it duplicates the
5814 INCLDIRS set in wrapper_root.GNU.
5816 Wed Sep 10 10:35:06 1997 David L. Levine <levine@cs.wustl.edu>
5818 * ACE version 4.3.5, released Wed Sep 10 10:35:06 1997.
5820 Wed Sep 10 10:25:41 1997 David L. Levine <levine@cs.wustl.edu>
5822 * ace/Thread_Manager.cpp (exit): copy the thread exit hook before
5823 releasing the guard, and call it after releasing the guard.
5825 * examples/Shared_Malloc/test_malloc.cpp (spawn): added (char *)
5826 cast of slave_name () to avoid compilation warnings on Solaris.
5828 Wed Sep 10 00:43:04 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu>
5830 * ace/Makefile: Added Managed_Object to template sources.
5832 * ace/Object_Manager.{h,cpp}: * ace/Managed_Object.{h,cpp}:
5833 Separate ACE_Managed_Object to a new set of file.
5835 Tue Sep 9 23:41:56 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5837 * tests/Reactors_Test.cpp (main): Check to see if wait() returns
5838 -1 and then test to see what's gone wrong!
5840 * ace/OS.h: Added a "fake" #define for SIGALRM so that programs
5841 will *compile* on platforms like Chorus. Thanks to Wei Chiang
5844 * examples/Shared_Malloc/test_malloc.cpp (spawn): HP/UX doesn't
5845 seem to like const char *const argv[] being given an initializer
5846 list. I've fixed this to be just plain ol' char *argv[].
5847 Thanks to Sandro Doro for reporting this.
5849 * ace/Handle_Set.i (clr_bit): Replaced SOCKET with ACE_SOCKET so
5850 this will compile on UNIX.
5852 Tue Sep 09 17:16:21 1997 <irfan@TWOSTEP>
5854 * ace/Proactor: Updated Proactor to bring it upto date with the
5855 recent changes to the Timer_Queue.
5857 * ace/Handle_Set.i (clr_bit and set_bit): These methods now change
5858 the size_ member of the class on Win32. This is necessary since
5859 the ACE_Handle_Set::operator fd_set *() accessor has been
5860 optimized for size_ == 0.
5862 Tue Sep 09 09:14:07 1997 David L. Levine <levine@cs.wustl.edu>
5864 * ace/OS.cpp (cleanup_tss): On WIN32 and with ACE_HAS_TSS_EMULATION,
5865 delete the ACE_TSS_Cleanup instance instead of registering it for
5866 cleanup via the ACE_Object_Manager's at_exit (). This should allow
5867 applications to use ACE_Log_Msg in their at_exit () hooks. Thanks
5868 to Wei Chiang <chiang@tele.nokia.fi> for reporting this problem.
5870 * ace/Object_Manager.{h,cpp}: added guard of internal structures.
5871 (dtor): call at_exit hooks before calling cleanup_tss, now that
5872 the ACE_TSS_Cleanup instance is no longer registered for an at_exit
5873 call. (at_exit): set errno instead of returning different values
5874 on error. Added ACE_Managed_Object template class, intended for
5875 use in replacing static instances.
5877 * ace/Thread_Manager.cpp (exit): release guard before running the
5878 thread exit hooks. This should help avoid deadlocks, in case
5879 one of those hooks needs to operate on the Thread_Manager.
5881 * ace/CORBA_Handler.{h,cpp},Dump.{h,cpp},Object_Manager.{h,cpp}:
5882 preallocate locks for CORBA_Handler and Dump in ACE_Object_Manager.
5885 * ace/Synch.{h,cpp},OS.cpp,Object_Manager.{h,cpp}: removed
5886 ACE_TSS_Cleanup_Lock and replaced it with a preallocated mutex
5887 in OS.cpp. Thanks to Nanbor for reporting problems at shutdown
5888 with the old ACE_TSS_Cleanup_Lock static instance.
5890 * include/makeinclude/platform_sunos5_sunc++.GNU: when building
5891 libraries only, don't use CC to create individual .shobj/*.so
5892 files. The .so files are not needed to build libraries, because
5893 libraries are built with -G. (They are needed to avoid upsetting
5894 the ACE make rules, so they're created as links to their
5895 corresponding .o files.) The .so files are still needed when
5896 building executables in order to get all template instantiations.
5898 * include/makeinclude/platform_sunos5_g++.GNU: removed unused
5901 Mon Sep 8 18:38:22 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5903 * tests/Handle_Set_Test.cpp: It is possible for the order to get
5904 the handles (using the iterator) will not agree with insert
5905 order in ACE_Unbounded_Queue. It's best to use
5906 ACE_Unbounded_Set. Thanks to Arturo for this fix.
5908 Mon Sep 8 17:43:43 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
5910 * ace/Timer_{List,Wheel,Hash,Heap}_T.cpp: The iter() method now
5911 returns a pointer to an iterator that is in a reset state
5912 instead of an unknown one.
5914 Mon Sep 8 14:05:15 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
5916 * ace/ACE.cpp (read_adapter): Removed ACE_Thread_Control object in
5917 this function. This is now taken care of by ACE_Thread_Manager.
5918 (register_stdin_handler): This function no longer uses
5919 ACE_Stdin_Args to pass in thread manager into read_adapter.
5921 * ace/ACE.h (ACE): Removed class ACE_Stdin_Args, because it is no
5924 Mon Sep 08 11:49:02 1997 David L. Levine <levine@cs.wustl.edu>
5926 * tests/run_tests.sh: moved log file checks out to separate file,
5929 * tests/run_tests.vxworks: added one-button test for VxWorks.
5930 Check it out, Darrell.
5932 * ace/Filecache.cpp: commented out unused constants [RW]COPY_FLAGS.
5934 Mon Sep 08 08:26:52 1997 David L. Levine <levine@cs.wustl.edu>
5936 * ACE version 4.3.4, released Mon Sep 08 08:26:52 1997.
5938 Sat Sep 6 10:41:17 1997 Carlos O'Ryan <coryan@polka.cs.wustl.edu>
5941 sizeof() must be casted to int in ACE_CONTROL_BLOCK_ALIGN_LONGS
5942 otherwise unsigned int arithmetic is used, thus obtaining
5945 Sat Sep 06 09:07:02 1997 David L. Levine <levine@cs.wustl.edu>
5947 * OS.{h,cpp}: added ACE_Cleanup base class and
5948 ace_cleanup_destroyer adapter.
5950 * Object_Manager.*: added at_exit () interface for ACE_Cleanup objects.
5952 * Singleton.{h,cpp},Token_Invariants.{h,cpp},Token_Manager.{h,cpp}:
5953 base on ACE_Cleanup, so that simpler ACE_Object_Manager::at_exit ()
5956 * performance-tests/Misc/Makefile: moved $(BIN) files from FILES
5957 to SRC so that they don't get put into libPerf.
5959 Sat Sep 6 02:36:31 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
5961 * tests/test_config.h (set_output): Added openning flag ios::trunc
5962 explicitly if we are not appending to the opening ofstream.
5963 This is required by standard CPP iostream libraries on NT (i.e.,
5964 we can't use ios::out alone when ofstream.open a file.)
5966 Sat Sep 6 00:21:33 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
5968 * ace/Synch_T.h: Added new constructors:
5970 ACE_Guard(ACE_LOCK& l) : lock_(&l)
5971 { this->owner_ = this->acquire(); }
5973 ACE_Read_Guard(ACE_LOCK& m) : ACE_Guard(&m)
5974 { this->owner_ = this->acquire_read(); }
5976 ACE_Write_Guard(ACE_LOCK& m) : ACE_Guard(&m)
5977 { this->owner_ = this->acquire_write(); }
5979 Remove default argument to current Guard classes.
5981 ACE_Guard(ACE_LOCK&l, int block)
5982 ACE_Read_Guard(ACE_LOCK& m, int block)
5983 ACE_Write_Guard(ACE_LOCK&m, int block)
5984 with the current semantic.
5986 This change allows OS platforms with
5987 ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION or ACE_HAS ??? PRAGMA
5988 ???, to> invoke common case constructor in a more efficient
5989 way. Thanks to Arturo for this.
5991 * ace/Synch_T.h: ACE_Guard's destructor should be:
5993 ~ACE_Guard() { this->release(); }
5997 ~ACE_Guard() { if (this->owner_ != -1) this->release(); }
5999 because ACE_Guard::release has this test. Thanks to Arturo for
6002 * ace/ARGV.cpp: Declared the char* parameters for the ACE_ARGV
6003 class constructors as const. Since they are copied in the
6004 constructors, this is a safe thing to do. This makes it easier
6005 to pass the result of string::c_str() to it. Thanks to Stephen
6006 Coy <stevec@magna.com.au> for this suggestion.
6008 * ace/Thread_Manager.cpp: We were missing a Guard in the
6009 ACE_Thread_Manager::at_exit() method.
6011 * ace/config-sunos5.5-sunc++-4.x.h: It appears that we need to set
6012 ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS for Solaris 2.5 since otherwise
6013 wierd things happen randomly. This is based on the following man
6014 page entry for pthread_exit():
6016 Do not call pthread_exit() from a cancellation cleanup handler
6017 or destructor function that will be invoked as a result of
6018 either an implicit or explicit call to pthread_exit().
6020 * ace/Thread_Manager.cpp (run_thread_exit_hooks): Once the cleanup
6021 hook(s) are called we set the value of the cleanup hook variable
6022 to 0 to avoid false matches later on.
6024 Fri Sep 5 21:57:44 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
6026 * ace/Containers.i (is_empty):
6027 * ace/Malloc.cpp (instance): Commented out ACE_TRACE in these
6028 routines. They were causing recursive call if we used TRACE.
6029 Thanks to Craig Perras <craig.perras@CyberSafe.COM> for solving
6032 * ace/Handle_Set.i (fd_set *): Added conditional compilation code
6033 for Win32 platforms. This is because we don't maintain <size_>
6034 on Win32 and, therefore, can't depend on it.
6036 Fri Sep 5 19:05:02 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
6038 * tests/Thread_Manager_Test.cpp (main): moved delete
6039 signal_catcher into the ACE_HAS_THREADS part of the main()
6042 * ace/Reactor.cpp (check_handles): When handle_error was optimized
6043 with fstat we put NULL value to second argument. It requires a
6044 value to SCO OpenServer to work. Therefore, I added struct stat
6045 temp and changed ACE_OS::fstat(handle, NULL) by
6046 ACE_OS::fstat(handle, &temp); Thanks to Arturo for fixing this.
6048 * examples/Threads/process_manager.cpp (sig_handler): Fixed a bug
6049 where the thread was exiting if no more children existed.
6050 Thanks to Avraham Nash <ANash@Engagetech.com> for reporting
6053 * ace/Handle_Set: Added the following performance enhancements:
6055 . Assignment operator to optimize size == 0.
6057 . min_handle to manage the case when the Handle_Set start in
6058 handle different of zero.
6060 . A new iterator algorithm tuned for select function calls.
6062 Thank to Arturo for these enhancements.
6064 * ace/config-aix-4.1.x.h: Added ACE_LACKS_TIMESPEC_T. Thanks to
6065 Rob Head (rhead@virtc.com) for reporting this.
6067 * ace/OS.cpp (fork_exec): Changed the logic so that we don't
6068 create a new console window on Win32. This isn't done on UNIX,
6069 so there's no point in doing it here. Thanks to Jeff Richard
6070 <jrichard@OhioEE.com> for pointing this out.
6072 * ace/Reactor.cpp: The call to
6073 ACE_Reactor_Handler_Repository::open() in the constructor of
6074 ACE_Reactor should check for == -1! Thanks to Brian Mendel for
6077 * ace/Reactor.cpp (remove_handler): Fixed a braino where the
6078 conditional compile for NSIG should have been > 0 rather than ==
6079 0. Thanks to fixing this codeKaren Amestoy
6080 <kamestoy@CCGATE.HAC.COM> for reporting this fix.
6082 Fri Sep 05 16:17:50 1997 David L. Levine <levine@cs.wustl.edu>
6084 * performance-tests/Misc/preempt.cpp: added command line options,
6085 and explanation on how to interpret the results.
6087 Thu Sep 04 10:26:11 1997 David L. Levine <levine@cs.wustl.edu>
6089 * ace/OS.cpp: (tss_open): removed paren from around type in "new"
6090 statement, because GHS (and ANSI C++) compilers will choke on it.
6091 Thanks to Brian Mendel <brian.r.mendel@boeing.com> for reporting
6094 * ace/Thread_Manager.cpp: (ACE_Thread_Descriptor ctor): zero out
6095 cleanup_hook_ in cleanup_info_ because we read it later on.
6096 (dump): added guard because thr_table_ is accessed. (wait):
6097 hacked in thr_yield () to give waited threads a chance to clean
6098 up before continuing.
6100 * ace/OS.h (ACE_Cleanup_Info): added default ctor.
6102 * ace/Log_Msg.cpp (close): delete main thread's Log_Msg instance,
6103 on Solaris if ACE_HAS_EXCEPTIONS is not defined, because main
6104 thread TSS dtors apparently don't get called.
6106 * ace/Token_Manager.{h,cpp}: register ACE_Token_Manager singleton
6107 for deletion with ACE_Object_Manager.
6109 * ace/Token_Invariants.{h,cpp}: register ACE_Token_Invariant_Manager
6110 singleton for deletion with ACE_Object_Manager.
6112 * ace/Naming_Context.cpp (close) moved deletion of "name_options_"
6113 from dtor to close (), because when Service_Repository is closed,
6114 it calls close () instead of deleting the service.
6116 * ace/Process_Strategy.cpp (handle_signal): suppress printouts during
6117 shutdown, to prevent using ACE_Log_Msg while it's being deleted.
6119 * ace/Timer_List.cpp: replace ACE_Recursive_Thread_Mutex with
6120 ACE_SYNCH_RECURSIVE_MUTEX, for non-threaded platforms.
6122 * tests/Reactors_Test (~Test_Task): moved ASSERT after the printout,
6123 so we can see why it failed. (svc): added printout with thread ID.
6124 (main): deleted reactor at end of test to prevent leak.
6126 * tests/SPIPE_Test (client): increased sleep time to 10 sec,
6127 because a long delay is needed with Purify.
6129 * tests/UPIPE_Test (connector): added 5 second sleep to give
6130 acceptor a chance to start up.
6132 * include/makeinclude/wrapper_macros.GNU: added -max_threads=100 to
6135 * include/makeinclude/rules.local.GNU: added *.sym to clean target.
6137 Thu Sep 04 09:39:08 1997 David L. Levine <levine@cs.wustl.edu>
6139 * ACE version 4.3.3, released Thu Sep 04 09:39:08 1997.
6141 Thu Sep 04 08:48:13 1997 David L. Levine <levine@cs.wustl.edu>
6143 * include/makeinclude/wrapper_macros.GNU: added shared_libs_only
6144 and static_libs_only build options. Only static_libs_only
6145 has been tested successfully.
6147 * include/makeinclude/rules.lib.GNU: added INSTALL support for
6148 shared_libs_only and static_libs_only.
6150 * include/makeinclude/platform_vxworks*.GNU: use static_libs_only.
6152 * ace/OS.cpp: moved tss_open ()/tss_close () calls from invoke ()
6153 to ace_thread_adapter.
6155 * examples/Threads/auto_event.cpp,manual_event.cpp,
6156 process_manager.cpp,reader_writer.cpp,tss2.cpp:
6157 cast spawn entry point to ACE_THR_FUNC.
6159 * examples/Threads/task_four.cpp (Invoker_Task): rearranged
6160 initializers to match declaration order.
6162 * examples/Threads/thread_specific.cpp (worker): use
6163 ACE_OS::printf () instead of printf (), and print out the
6164 ACE_hthread_t instead of the ACE_thread_t.
6166 * examples/IPC_SAP/SPIPE_SAP/client.cpp,consumer_msg.cpp,
6167 consumer_read.cpp,producer_msg.cpp,producer_read.cpp,server.cpp:
6168 moved #include of shared.h inside ACE_HAS_STREAM_PIPES protection
6169 to avoid compilation warnings on unsupported platforms.
6171 * examples/Reactor/Ntalker/ntalker.cpp (main): removed unused "argc".
6173 * examples/*/*.cpp,netsvcs/clients/Tokens/mutex/test_mutex.cpp:
6174 added args to main ().
6176 Wed Sep 3 21:38:18 1997 Carlos O'Ryan <coryan@polka.cs.wustl.edu>
6178 * ace/config-irix6.x-sgic++.h:
6179 IRIX uses pthread_sigmask to manage per-thread signal mask,
6180 thanks to Gonzalo Diethelm (gonzo@ing.puc.cl) for pointing out
6184 Removed an initial '#' for a comment line, thanks to Gonzalo
6185 Diethelm (gonzo@ing.puc.cl) for pointing out this one.
6187 * ace/Timer_Hash_T.cpp:
6188 * ace/Timer_Hash_T.h:
6189 * ace/Timer_Heap_T.cpp:
6190 * ace/Timer_Heap_T.h:
6191 * ace/Timer_List.cpp:
6192 * ace/Timer_List_T.cpp:
6193 * ace/Timer_List_T.h:
6194 * ace/Timer_Queue_T.cpp:
6195 * ace/Timer_Queue_T.h:
6196 * ace/Timer_Wheel_T.cpp:
6197 * ace/Timer_Wheel_T.h:
6198 In the word of its author: Modified the iterators kept in
6199 each of these classes so that they are constructed
6200 dynamically on the heap after the Queue has been properly
6201 initialized. Otherwise, the iterators try to iterate over a
6202 non-initialized queue, and fail miserably (usually dumping
6203 core). Once more thanks to Gonzalo Diethelm
6204 (gonzo@ing.puc.cl) for this changes.
6206 * tests/UPIPE_SAP_Test.cpp:
6207 Gonzalo improved the error message.
6210 Gonzalo updated the documentation for some macros.
6212 Wed Sep 03 15:21:46 1997 David L. Levine <levine@cs.wustl.edu>
6214 * ace/OS.h: define ACE_TSS macros with ACE_HAS_TSS_EMULATION,
6215 and renamed some ACE_TSS_Emulation methods.
6217 * ace/OS.i: allow TSS_Emulation storage to be on thread stack,
6218 instead of always dynamically allocating it.
6220 * ace/OS.cpp (ACE_Thread_Adapter::invoke): allocate TSS_Emulation
6221 storage on thread stack. (ACE_TSS_Cleanup::exit): only call
6222 a TSS destructor if the thread's value is non-zero.
6224 * ace/Thread_Manager.cpp: support TSS_Emulation.
6226 * ace/Thread_Manager.cpp (resize): zero out unused cleanup_hooks
6227 in thr_table_; (run_thread_exit_hooks): check for zero cleanup
6228 hook before calling.
6230 * ace/Synch_T.*: allow ACE_HAS_TSS_EMULATION _or_
6231 ACE_HAS_THREAD_SPECIFIC_STORAGE.
6233 * ace/Object_Manager.{h,cpp}: allocate main thread's TSS_Emulation
6234 storage in the ACE_Object_Manager instance.
6236 * ace/Log_Msg.h: befriend ACE_OS::cleanup_tss () instead of
6237 ACE_Object_Manager, because the cleanup path is now indirect
6238 from the ACE_Object_Manager.
6240 * ace/Log_Msg.cpp: use TSS_Emulation on VxWorks, so
6241 VxWorks-specific code was removed.
6243 * ace/Task.cpp: removed unused #include of ace/Dynamic.h. (It had
6244 been used for template instantiations, but they were moved.)
6245 Also, removed unused #include of ace/Object_Manager.h.
6247 * ace/Svc_Handler.{h,cpp}: register Svc_Handler singleton for
6248 deletion with the ACE_Object_Manager.
6250 * tests/Process_Strategy_Test (Options): added a destructor so that
6251 the dynamically allocated concurrency_strategy_ can be deleted.
6253 Wed Sep 3 08:05:26 1997 Steve Huston <shuston@riverace.com>
6255 * ace/Message_Block.h: Corrected comment on release(void) - the
6256 underlying ACE_Data_Block's refcount is decremented; the
6257 ACE_Message_Block is always deleted.
6259 Tue Sep 2 18:26:22 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
6261 * ace/Task: Revised the ACE_Task_Base::svc_run() method to
6262 register a thread exit hook (ACE_Task_Base::cleanup())
6264 * ace/Task: Added a static method called cleanup() that can serve
6265 as a thread exit hook to ensure that close() is always called
6266 when a task exits a thread.
6268 * ace/Thread_Manager: Added the first-cut implementation of the
6269 thread exit hooks. This one is butt-simple -- just allowing a
6270 single hook per-thread, but that should be enough to get us over
6273 * ace/OS.h: Moved the object_info_t type from Object_Manager.h and
6274 renamed it to ACE_Cleanup_Info since we will use it with the
6275 Thread_Manager and the Object_Manager.
6277 * ChangeLog-97b: Emptied out the ChangeLog-97b file until
6278 we move the ChangeLog to this file...
6280 * ace/OS.h: Moved the <ACE_CLEANUP_FUNC> typedef from the
6281 ACE_Object_Manager into global scope so that it can also be used
6282 by the ACE_Thread_Manager.
6284 * ace/DEV_IO: Moved the get_remote_addr() and get_local_addr()
6285 from the DEV class to the DEV_IO class, which seems to be more
6286 consistent with how they should be used.
6288 * ace/FILE_IO: Added the get_remote_addr() and get_local_addr()
6289 methods to FILE_IO. Now we should be able to use this with the
6290 Connector pattern. Thanks to Stephen Coy
6291 <coys@mail.ns.wsa.com.au> for reporting this.
6293 * ace/DEV_Connector*h, ace/FILE*.h: Added "traits" for PEER_ADDR
6294 and PEER_STREAM. Now we should be able to use this with the
6295 Connector pattern. Thanks to Stephen Coy
6296 <coys@mail.ns.wsa.com.au> for reporting this.
6298 * tests/Async_Timer_Queue_Test.cpp (main): Replaced the use of
6299 fputs() with read() so that it will be signal-safe. Thanks to
6300 Carlos for pointing out the need for this.
6302 * ace/Task: All the complex ACE_Task_Exit logic has been moved out
6303 of the Task file and into the Thread_Manager file. This will
6304 both simplify and generalize the behavior of cleanups on thread
6307 Tue Sep 2 14:42:52 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
6309 * ace/config-chorus.h (ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR):
6310 Added this directive for Chorus uses g++. Thanks to David
6311 Levine for pointing this out.
6313 Mon Sep 01 21:31:25 1997 David L. Levine <levine@cs.wustl.edu>
6315 * ChangeLog-97b,Makefile,bin/create_ace_build: ChangeLog is no longer
6316 a symbolic link, but instead is the most recent ChangeLog file.
6317 ChangeLog-97b was moved to ChangeLog.
6319 * ace/Timer_Queue_T.cpp (schedule): added ACE_UNUSED_ARGs for act
6322 * ace/OS.h: changed ACE_SEH_EXCEPT and ACE_SEH_FINALLY from null
6323 to "while (0)" on all platforms except ACE_WIN32. Thanks to
6324 Nanbor for this bit of macro wizardry.
6326 * ace/OS.i (tss_base): cast VxWorks TCB spare field to a void **&
6327 instead of a void **, because the function returns a reference
6330 * ace/OS.cpp: protected definition of
6331 ACE_TSS_Emulation::tss_collection_ on VxWorks, where it's not used.
6333 * ace/OS.cpp (ACE_Thread_Adapter::invoke) don't exit the thread
6334 with TSS_EMULATION, except on WIN32. (thr_create) On VxWorks,
6335 use thread adapter as entry point instead of func (via macros).
6337 * ace/config-vxworks*.h: added ACE_HAS_TSS_EMULATION, with
6338 ACE_DEFAULT_THREAD_KEYS set to 16, and ACE_LACKS_UNIX_SIGNALS.
6340 * tests/Async_Timer_Queue_Test.cpp: added template instantiations.
6342 * tests/IOStream_Test.cpp: no longer need to dynamically allocate
6343 the ACE_SOCK_IOStreams with the recent ACE_Thread_Manager changes.
6344 That was causing occasional problems with unsafe deletion of the
6345 underlying ostreams. Thanks to James Johnson for consulting on
6346 this intermittent (nasty) problem.
6348 * tests/SPIPE_Test.cpp: (main) added ACE_UNUSED_ARG of client
6351 * tests/Thread_Manager_Test (worker): added ACE_UNUSED_ARG (thr_mgr)
6352 if ACE_LACKS_UNIX_SIGNALS, and added template instantiations.
6354 * tests/Thread_Manager_Test.cpp: dynamically allocate the
6355 signal_catcher so that we can destroy it before the main
6356 thread's TSS is cleaned up.
6358 * tests/TSS_Test.cpp: dynamically allocate TSS_Error so that we
6359 can ensure its deletion before that of ACE_Object_Manager.
6360 Also, makde the code a little easier to change the number of threads.
6362 * include/makeinclude/wrapper_macros.GNU: added Purify options to
6363 ignore SIGINT and set max threads to 100.
6365 Mon Sep 1 10:53:39 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
6367 * ace/Handle_Set: Added an assignment operator that is optimized
6368 for the case when the right-hand side is 0.
6370 * ace/OS: The ACE_THR_C_FUNC macro was confusing for Win32. We've
6371 replaced this with the original UNIX typedef and will just use
6372 LPTHREAD_START_ROUTINE for Win32.
6374 * tests/Thread_Manager_Test.cpp (main): Revised this test so that
6375 we don't have race conditions for suspend() and resume().
6377 * tests/Tokens_Test.cpp (run_test): Removed the use of
6378 THR_SUSPENDED and resume_all() since this is broken due to race
6379 conditions and other hazards implicit in using suspend() and
6380 resume() on threads.
6382 * ace/Handle_Set.cpp: There were several ACE_INLINE methods in the
6383 Handle_Set.cpp file. I've removed the ACE_INLINE flag.
6385 * tests/SPIPE_Test.cpp: If ACE doesn't have STREAM pipes on a
6386 platform (or we aren't on NT) then don't try to run this test.
6387 Thanks to James CE Johnson <ace-users@lads.com> for reporting
6390 * ace/config-sunos5.[45]-g++.h: ACE defines _REENTRANT in
6391 config.h. Application using classes of ACE can conflict by
6392 using compilation option as -D_REENTRANT. I fixed this by
6393 surrounding the define as:
6395 #if !defined (_REENTRANT)
6397 #endif /* _REENTRANT */
6399 Thanks to Jean-Marc Strauss <strauss@limeil.cea.fr> for
6402 * ace/Timer_Queue_T.h: We need to #include "ace/Signal.h" since
6403 our Async_Timer_Queue_Adapter needs it. Thanks to Neil Cohen
6406 * ace/Reactor.cpp (check_handles): Optimized the check for invalid
6407 handles by using fstat() rather than select() on non-Win32
6408 platforms. Thanks to Arturo for suggesting this optimization.
6410 Mon Sep 1 17:52:10 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
6412 * ace/Timer_Heap_T.cpp: Changed cancel (id ...) to check for
6413 previously expired/cancelled timers
6415 Mon Sep 01 08:43:37 1997 David L. Levine <levine@cs.wustl.edu>
6417 * ace/Synch.cpp: added #include of Object_Manager.h.
6418 Thanks to Edan Ayal <edana@vdo.net> for reporting this.
6420 Mon Sep 1 00:46:05 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu>
6422 * ace/README: Added explanation for ACE_HAS_STL_MAP_CONFILICT.
6424 * ace/OS.h: Added conditional compilation directive
6425 ACE_HAS_STL_MAP_CONFLICT. This is used when users want to
6426 compile ACE with STL library and the STL map class conflicts
6427 with map structure in <net/if.h>.
6429 * ace/config-unixware-2.1.2-g++.h:
6430 * ace/config-unixware-2.01-g++.h:
6431 * ace/config-osf1-4.0-g++.h:
6432 * ace/config-irix5.3-g++.h:
6433 * ace/config-hpux-10.x-g++.h:
6434 * ace/config-linux-pthread.h:
6435 * ace/config-linux-lxpthreads.h:
6436 * ace/config-linux.h:
6437 * ace/config-freebsd.h:
6438 * ace/config-freebsd-pthread.h:
6439 Added ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR flag for all
6440 config files which apparently use g++.
6442 * ace/config-vxworks-g++.h:
6443 * ace/config-vxworks5.x-g++.h:
6444 * ace/config-sunos4-g++.h:
6445 * ace/config-sunos5.4-g++.h:
6446 * ace/config-sunos5.5-g++.h:
6447 Moved ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR closer to
6448 other template-related directives.
6450 Sun Aug 31 22:56:30 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
6452 * ACE version 4.3.2, released Sun Aug 31 22:56:30 1997.
6454 Sun Aug 31 22:36:08 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
6456 * tests/Async_Timer_Queue_Test.cpp: Need to #include "Timer_List.h"
6457 rather than "Timer_Queue.h".
6459 * ace: Added ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT for all
6462 * ace/Handle_Set.cpp (count_bits): Continued to optimize this
6463 method. Now, if ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT enabled
6464 it will use a very fast loop that only runs for as many bits
6465 that are enabled in the bitset. This approach also doesn't have
6466 to access the Global Offset Table in shared libraries, which is
6467 a win. Thanks to Arturo for contributing this.
6469 * tests/Async_Timer_Queue_Test.cpp: Generalized this test to use
6470 the new ACE_Async_Timer_Queue_Adapter.
6472 * ace/Timer_Queue_T: Added the new ACE_Async_Timer_Queue_Adapter,
6473 which makes it possible to encapsulate any of the ACE Timer
6474 Queue mechanisms into a asynchronous signal-handling context.
6476 * ace/OS.i: If the platform doesn't support ualarm() (and it
6477 doesn't lack UNIX signals) then we'll use alarm() rather
6478 than ualarm(). Clearly, this isn't as good as ualarm(),
6479 but it's better than nothing.
6481 * ace/OS.i: I'd missed replacing
6483 ACE_LACKS_POSIX_PROTO_FOR_SOME_FUNCS
6487 ACE_LACKS_POSIX_PROTOTYPES_FOR_SOME_FUNCS
6489 in OS.i. Thanks to James CE Johnson <ace-users@lads.com> for
6492 Sun Aug 31 09:58:35 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
6494 * Princess Diana was killed today in a senseless auto accident in
6495 Paris, France. This is a very tragic ending to a very promising
6498 Sun Aug 31 15:08:00 1997 David L. Levine <levine@cs.wustl.edu>
6500 * tests/Async_Timer_Queue_Test.cpp: fixed and added some
6503 * netsvcs/clients/Tokens/invariant/invariant.cpp (run_mutex,
6505 netsvcs/clients/Tokens/mutex/test_mutex.cpp (run_test),
6506 netsvcs/clients/Tokens/rw_lock/rw_locks.cpp (run_thread):
6507 removed unused argument "vp".
6509 * ace/ACE.i (log2): moved "log" declaration outside of the
6510 for loop because its used after the loop.
6512 * ace/Task.cpp (instance) only register for destruction with
6513 ACE_Object_Manager when creating a new instance_.
6515 * ace/Thread_Manager.cpp (ACE_Thread_Control::exit) with TSS
6516 emulation, don't exit the thread. Instead,
6517 ACE_Thread_Adpater::invoke () will do it after cleaning up TSS.
6519 * ace/Synch{h,cpp}: (ACE_TSS_Cleanup_Lock) register for
6520 destruction with ACE_Object_Manager.
6522 * ace/OS.*: major cleanup of ACE_TSS_Emulation, esp. how it
6523 interacts with ACE_TSS_Cleanup::exit ().
6525 Sat Aug 30 17:30:24 1997 Steve Huston <shuston@riverace.com>
6527 * Removed these config files:
6528 config-hpux-10.x-aCC.h
6529 config-hpux-10.x-decthreads.h
6530 config-hpux-10.x-nothread.h
6531 config-hpux-10.x-hpc++.h should be used with HP compilers on
6534 Sat Aug 30 14:58:42 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
6536 * ace/Signal.cpp (ACE_Sig_Action): Added a new constructor that
6537 also takes an ACE_Sig_Set & *and* registers the handler...
6539 * ace/Handle_Set.cpp (count_bits): Added a newly optimized
6540 algorithm for cases where
6541 ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT. Thanks to Arturo for
6544 * ace/config-sco-5.0.0*.h: Added ACE_HAS_LONG_FDMASK for all the
6545 SCO files. Thanks to Arturo for suggesting this.
6547 * ace/Signal: Added a new mutator method to reassign an
6548 ACE_Sig_Set to an ACE_Sig_Action.
6550 * ace/Handle_Set.i: If the size of the fd_set is 0 then operator
6551 fd_set *() just returns 0. This will help to optimize the
6552 performance of the Reactor. Thanks to Arturo for suggesting
6555 * ace/Handle_Set.cpp (count_bits): Added yet another improvement
6556 to remove the "i" iterator. Thanks to Arturo for this!
6558 * ace/Log_Msg.cpp (log): Used the new ACE_Log_Record::priority()
6559 method in place of the type() method so that the priorities are
6562 * ace/Log_Record: Added two new methods that get/set the
6563 "priority" of an ACE_Log_Record. This value computed as the
6564 base 2 log of the value of the corresponding ACE_Log_Priority
6565 enumeral (which are all powers of two). We need this mapping
6566 function so that we can use the priorities as parameters to the
6567 putpmsg() function (which can only map between 0-255). Thanks
6568 to Per Andersson for finding this stuff!
6570 * ace/ACE: Added a new method to compute the base2 logarithm of a
6573 * Replaced all uses of ACE_Thread_Control since this is now
6574 handled by the ACE_Thread_Manager.
6576 * ace/Thread_Manager.cpp (spawn_i): Make sure to pass "this" to
6577 the ACE_Thread_Adapter if we're constructing it in the
6578 ACE_Thread_Manager::spawn_i() method.
6580 * ace/OS.i (cond_timedwait): Added a special check to see if
6581 timeout != 0, in which case we just call ACE_OS::cond_wait().
6582 Therefore, VxWorks can now use ACE_OS::cond_timedwait(), as long
6583 as the timeout == 0! This simplifies certain internal ACE code.
6584 Thanks to David Levine for pointing this out.
6586 * ace/Handle_Set.cpp (count_bits): Changed the code from
6588 for (int i = 0; i < sizeof (u_long); i++)
6590 rval += ACE_Handle_Set::nbits_[n & 0xff];
6596 for (int i = 0; n != 0; i++)
6598 rval += ACE_Handle_Set::nbits_[n & 0xff];
6602 in order to speed it up in the "best case." Thanks to Arturo
6603 Montes <mitosys@colomsat.net.co> for reporting this.
6605 * ace/Thread.cpp (spawn_n): Added a test to make sure that the
6606 thread_ids is != 0 before we assign into this.
6608 Fri Aug 29 22:45:21 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
6610 * ace/config-vxworks-g++.h:
6611 * ace/config-vxworks5.x-g++.h:
6612 * ace/config-sunos4-g++.h:
6613 * ace/config-sunos5.4-g++.h:
6614 * ace/config-sunos5.5-g++.h:
6615 Added flag ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR to these
6618 * ace/README: Added explanation of flag
6619 "ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR."
6620 When calling a template class'es destructor explicitly, if you
6621 must use "ptr->FOO<BAR>::~FOO ();" but not
6622 "ptr->FOO<BAR>::~FOO<BAR> ();" then, you must add this flag to
6625 * ace/OS.h (ACE_DES_FREE_TEMPLATE): Added this new macro to cope
6626 with the fact that compilers require different syntax when
6627 calling destructor of template classes explicitly. This macro
6628 takes four arguments, POINTER, DEALLOCATOR, CLASS, and
6629 TEMPLATE_PARAMETER. To deallocate a pointer allocated by
6630 ACE_NEW_MALLOC and you need to call FOO<BAR> class'es
6631 destructor, you'll write:
6633 ACE_DES_FREE_TEMPLATE (ptr, alloc->free, FOO, <BAR>);
6635 * ace/Containers.cpp: Changed to use ACE_DES_FREE_TEMPLATE to iron
6636 out differences among compilers.
6638 Fri Aug 29 15:31:50 1997 David L. Levine <levine@cs.wustl.edu>
6640 * ace/OS.*,Synch.{h,cpp},Object_Manager.cpp: started adding
6641 support for TSS emulation.
6643 * ace/OS.h: declare class ostream if
6644 ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION.
6646 * tests/Async_Timer_Queue_Test.cpp (parse_commands): fixed
6647 sscanf format specifiers to match argument types; (main):
6648 fixed ACE_ERROR_RETURN parens; protected bulk of code with
6649 ACE_HAS_UALARM so that the test will build cleanly on
6650 platforms without it.
6652 Fri Aug 29 00:43:27 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
6654 * ace/Synch.cpp (wait): Simpified the call to
6655 ACE_OS::cond_timedwait() to avoid an extra test. Thanks to
6656 Arturo for pointing this out.
6658 * ace/TTY_IO: Added native support for TSETA. Thanks to Arturo for
6661 * ace/Strategies_T.cpp: Finished integrating the ACE_DLL_Strategy
6662 implementation, which is used in TAO. Thanks to Satheesh Kumar
6663 MG <satheesh@india.aspectdv.com> for motivating this.
6665 * ace/Synch_T.h: Clarified the constructor for ACE_TSS that takes
6666 a TYPE * as an argument. Note that this only initializes the
6667 TSS value in the *calling* thread, but not any other threads
6668 that may come along later on. Thanks to Bob Laferriere
6669 <laferrie@gsao.med.ge.com> for helping to clarify this.
6671 * ace/Synch_T.h: Removed stray semi-colons from some of the
6672 ACE_SYNCH_* macros. Thanks for Wei Chiang for reporting this.
6674 Fri Aug 29 11:40:10 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
6676 * ace/OS.cpp: Added cast for ace_thread_adapter.
6678 * ace/OS.h: Changed name of ACE_Thread_Adapter's constructor's
6679 fourth parameter from tm to tmgr since tm conflicted with
6682 * ace/Thread_Manager.cpp: In spawn_i, changed the last parameter
6683 given to spawn to thread_args. Also had to add a cast for
6686 Fri Aug 29 06:44:05 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
6688 * ace/OS.h (ACE_DES_FREE): Added this macro which will call
6689 designate destructor before freeing the memory. This is a
6690 matching macro that should go with ACE_NEW_MALLOC and
6691 ACE_NEW_MALLOC_RETURN which allocate memory using designate
6692 allocator then call the user specified constructor explicitly.
6694 * ace/Containers.cpp: Many memory deallocations of container's
6695 nodes were changed to use the new macro which deletes objects
6698 Thanks very, very much to Ivan Murphy for torturing various
6699 test programs and reporting those tests which fail the
6702 Fri Aug 29 01:26:38 1997 <irfan@TWOSTEP>
6704 * ace/ReactorEx.cpp: Added two new methods to ReactorEx -
6705 schedule_wakeup() and cancel_wakeup(). Also fixed some bugs
6706 related to our local copy of network_events_ not getting updated
6707 properly. Thanks to Edan Ayal <edana@vdo.net> for pointing out
6708 the two missing functions.
6710 Thu Aug 28 20:12:23 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
6712 * ace/Thread_Manager.cpp: Added a new ace_thread_manager_adapter()
6713 function, which is similar to the ace_thread_adapter function
6714 used in ACE_OS::thr_create(). However, the new function ensures
6715 that threads spawned by an ACE_Thread_Manager are automatically
6716 registered and deregistered from the Thread Manager.
6718 * ace/ACE.h (inherit_log_msg): Factored out the functionality to
6719 inherit the logging features if the parent thread has an
6720 ACE_Log_Msg instance in thread-specific storage. This function
6721 is called in several places (e.g., OS.cpp and
6722 Thread_Manager.cpp), so it pays to factor it out.
6724 * ace/OS.h (ACE_Thread_Adapter): Added a new data member that
6725 keeps track of which thread entry point function we will pass to
6726 the underlying OS thread creation routine. The default value is
6727 ace_thread_adapter, but this can be overridden to do different
6731 ace/Thread: Extended thr_create() so that if an
6732 ACE_Thread_Adapter is passed to it this is used in lieu of the
6733 func and arg parameters. This reduces the amount of dynamic
6734 allocation and indirection required with the new
6737 * ace/Task.h: Removed the ACE_Thread_Control data member from the
6738 ACE_Task_Exit class since it now belongs to the
6739 ACE_Thread_Manager instead...
6741 * ace/OS.cpp: Move the ACE_Thread_Adapter out of the OS.cpp file
6742 and made it a first-class citizen of ACE. We can put this
6743 to good use in the new ACE_Thread_Manager.
6745 * ace/OS.cpp: The ACE_Thread_Adapter is now the default behavior
6746 in ACE. If you don't want to use it for whatever reason,
6747 you'll need to set the ACE_NO_THREAD_ADAPTER macro.
6749 * ace/config-sco-5.0.0-fsu-pthread.h: Added
6750 ACE_LACKS_CONST_TIMESPEC_PTR. Thanks to Arturo for this.
6752 * ace/Synch.cpp (wait): Removed the reference assignment and just
6753 take the address of this->mutex_.lock_. Also, removed the
6754 additional check for abstime == 0 in order to speed up the
6755 common case. Thanks to Arturo for these suggestions.
6757 Thu Aug 28 20:02:03 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
6759 * ACE version 4.3.1, released Thu Aug 28 20:02:03 1997.
6761 Thu Aug 28 00:21:09 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
6763 * ace/Strategies_T.cpp (ACE_Thread_Strategy): Added reasonable
6764 values to the default constructor. Thanks to Stephen Coy
6765 <stevec@wsa.com.au> for reporting this.
6767 * ace/config-irix6.x-sgic++-*.h: Added ACE_HAS_UALARM. Thanks to
6768 Amos Shapira <amos@gezernet.co.il> for reporting this.
6770 * ace/config-aix-4.*.h: Added ACE_HAS_UALARM. Thanks to Cary
6771 Clark for reporting this.
6773 * ace/config-hpux-10.x*.h: Added ACE_HAS_UALARM. Thanks to Cary
6774 Clark for reporting this.
6776 * ace/config-osf1*.h: Added ACE_HAS_UALARM. Thanks to Thilo
6779 * ace/config-mvs.h: Added ACE_HAS_UALARM. Thanks to Chuck Gehr
6782 * tests/Async_Timer_Queue_Test.cpp: Added a new test that will
6783 illustrate how to implement an asynchronously invoked
6784 Timer_Queue using UNIX SIGALRM signals.
6786 Thu Aug 28 19:32:07 1997 <irfan@TWOSTEP>
6788 * examples/Reactor/ReactorEx: Added two new applications
6789 (test_registry_changes.cpp and test_console_input.cpp) to show
6790 some more features of ReactorEx. test_registry_changes.cpp shows
6791 how to monitor the Registry using ReactorEx.
6792 test_console_input.cpp shows how to use ReactorEx to get
6793 notified when input shows up on the console.
6795 Thu Aug 28 18:07:37 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
6797 * ace/Timer_{List,Heap,Wheel,Hash}_T.cpp: Changed the behavior
6798 of the iterator to automatically initialize when the iterator
6801 Thu Aug 28 10:43:35 1997 David L. Levine <levine@cs.wustl.edu>
6803 * ace/Task.{h,cpp} (ACE_Task_Exit::instance) added call to
6804 ACE_Object_Manager::at_exit () to clean up the singleton at
6805 program termination.
6807 Thu Aug 28 03:25:52 1997 Nanbor Wang <nw1@lambada.cs.wustl.edu>
6809 * tests/Task_Test.cpp (Barrier_Task):
6810 * tests/TSS_Test.cpp (main): Added an array to collect thread
6811 handles in order to clean them up. Thanks to Ivan Murphy
6812 for pointing this out.
6814 * ace/Thread_Manager.{h,cpp} (spawn_n):
6815 * ace/Task.{h,cpp} (activate):
6816 Added an extra argument ACE_hthread_t thread_handles[] with
6817 default value 0. We need this argument to collect handles of
6818 spwaned/activated threads. On NT, we have to join terminated
6819 threads explicitly to prevent handles leak. Thanks to Ivan
6820 Murphy for digging this out.
6822 Wed Aug 27 10:48:25 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
6824 * ace: Changed all occurrences of ACE_LACKS_RLIMIT_PROTO to
6825 ACE_LACKS_RLIMIT_PROTOTYPE, ACE_LACKS_POSIX_PROTO to
6826 ACE_LACKS_POSIX_PROTOTYPES, and ACE_LACKS_SYSV_MSQ_PROTOS to
6827 ACE_LACKS_SYSV_MSQ_PROTOTYPES to be more consistent.
6829 * ace/config-sunos5.x*.h: Added ACE_HAS_UALARM to all the Solaris
6830 config files. However, also had to add ACE_LACKS_UALARM_PROTOTYPE
6831 since Solaris strangely doesn't provide this prototype.
6833 * ace/OS.h: Added an ACE_Time_Value version of ACE_OS::ualarm().
6835 * ace/Signal: Added a new constructor for ACE_Sig_Action that
6836 takes an ACE_Sig_Set parameter.
6838 * ace/Signal: Added a sigset() accessor method.
6840 * ace/config-unixware-2.1.2-g++.h: Added ACE_HAS_UALARM. Thanks
6841 to Ganesh Pai <gpai@voicetek.com> for reporting this.
6843 * ace/OS.h: Added a default value of 0 to ACE_OS::time().
6845 * ace/Synch.i (ACE_Thread_Mutex_Guard): Rearranged the code so
6846 that we can inline the acquire(), tryacquire(), and release()
6847 methods properly. Thanks to David Levine for pointing this out.
6849 * ace/OS.h: Added ACE_OS support for the ualarm() method. If your
6850 platform supports ualarm() please send me email so I can set the
6851 ACE_HAS_UALARM flag in your config.h file.
6853 * tests/Makefile: Added an asynchronous timer queue test.
6855 * examples/IOStream/server/iostream_server.cpp: Added a new macro
6856 to work around the fact that some C++ compiles don't grok
6857 template typedefs. Thanks to Oleg Krivosheev <kriol@fnal.gov>
6858 for pointing this out.
6862 Installed a bunch of patches for FSU pthreads. Thanks to Arturo
6863 Montes <mitosys@colomsat.net.co> for sending this.
6865 * Makefile: Added a line to the release script that will
6866 automatically generate an ACE-INSTALL text file from the
6867 ACE-INSTALL.html file. Thanks to Oleg Krivosheev
6868 <kriol@fnal.gov> for suggesting this.
6870 * performance-tests/Misc/Makefile: Added $(BIN) to the FILE target
6871 so that "make depend" will work. Thanks to David Levine for
6874 * ace/Synch.i: Eliminated unnecessary assignment to this->owner_.
6875 Thanks to Chris for pointing this out.
6877 * ace/OS.i (msgctl): Added a "struct" to the definition of
6878 msqid_ds. Thanks to Steve Hickman <SHICKMAN@cobra.mcit.com> for
6881 Thu Aug 28 01:07:21 1997 <irfan@TWOSTEP>
6883 * examples/Reactor/ReactorEx/test_directory_changes.cpp: Added a
6884 new example application. This application tests the working of
6885 ReactorEx when users are interested in changes in the
6888 Wed Aug 27 22:06:23 1997 Nanbor Wang <nw1@lambada.cs.wustl.edu>
6890 * *.{mak,mdp,dsw,dsp}: Updated ACE's library names on Win32 as
6891 below. Only Microsoft's Win95 and Windows NT are effected.
6893 Version Dynamic Library Static Livrary
6894 ------------------ -------------------- -----------------
6895 Debug aced.lib, aced.dll acesd.lib
6896 Release ace.lib, ace.dll aces.lib
6897 Debug w/ UNICODE aceud.lib, aceud.dll acesud.lib
6898 Release w/ UNICODE aceu.lib, aceu.dll acesu.lib
6900 Thanks to John Morey <jmorey@tbi.com> for suggesting this and
6901 Darrell for updating VC 5.0's makefiles.
6903 * ace/config-freebsd[-pthread].h (ACE_HAS_UALARM): FreeBSD does has
6906 Wed Aug 27 10:52:59 1997 Chris Cleeland <cleeland@cs.wustl.edu>
6908 * ace/Synch_T.h (CTOR): Eliminated unnecessary assignment to
6911 Wed Aug 27 09:32:57 1997 David L. Levine <levine@cs.wustl.edu>
6913 * ace/Singleton.cpp (instance): removed full qualification of
6914 "instance_" in ACE_NEW_RETURN macro, because it confused
6915 the Sun C++ 4.2 preprocessor.
6917 * ace/Singleton.cpp: added support for ACE_HAS_SIG_C_FUNC platforms,
6918 e.g., on MVS. At least I tried to. The cleanup function,
6919 on ACE_HAS_SIG_C_FUNC platforms only, doesn't call the object's
6920 destructor. It just deallocates the storage. That should be
6921 good enough; I don't think it's worth trying to do more than that.
6923 * ace/Synch.cpp (close_singleton): removed call to
6924 ACE_Allocator::close_singleton (), because this method is
6925 only called if ACE_HAS_THREADS.
6927 * ace/Object_Manager.cpp (dtor): added call to
6928 ACE_Allocater::close_singleton (), and protected call to
6929 ACE_Static_Object_Lock::close_singleton () with ACE_HAS_THREADS.
6931 * tests/Time_Value_Test.cpp: disabled ACE_U_LongLong test
6932 on ACE_WIN32 platforms, because that class is never used
6933 there. Thanks to Nanbor for finding this.
6935 * performance-tests/Misc/preempt.cpp,Makefile: added preempt
6936 test, which tests for thread preemption.
6938 Tue Aug 26 13:59:01 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
6940 * netsvcs/lib/Server_Logging_Handler_T.cpp: Changed the symbol
6941 "SS" to "SST" to avoid a namespace collision with UnixWare.
6942 Thanks to Ganesh Pai <gpai@voicetek.com> for pointing this out.
6944 * ace: Added a new config file to sco using FSU pthreads. Thanks
6945 to Arturo Montes <mitosys@colomsat.net.co> for sending this.
6947 * include/makeinclude: Added a new platform macros file to sco
6948 using FSU pthreads. Thanks to Arturo Montes
6949 <mitosys@colomsat.net.co> for sending this.
6951 Tue Aug 26 22:06:14 1997 <irfan@TWOSTEP>
6953 * examples/Reactor/ReactorEx: Added two new applications for
6954 testing some of the new features of ReactorEx. Added
6955 documentation and renamed some of the older test files to make
6956 it easier to comprehend the examples.
6958 Tue Aug 26 11:47:29 1997 <irfan@TWOSTEP>
6960 * ace/OS.i (mutex_trylock): Changed this method to make it deal
6961 correctly with abandoned mutexes. Also added a new mutex_trylock
6962 method that allows the user to know if the mutex was abandoned
6963 (through an extra out parameter). Also fixed
6964 ACE_OS::cond_timedwait(), ACE_OS::cond_wait(),
6965 ACE_OS::event_wait(), ACE_OS::event_timedwait() and
6966 ACE_OS::sema_wait() to remove extra checks for WAIT_ABANDONED,
6967 since we are not dealing with mutexes in these methods. Thanks
6968 to Ivan Murphy <Ivan.Murphy@med.siemens.de> for pointing this
6971 Tue Aug 26 11:06:45 1997 David L. Levine <levine@cs.wustl.edu>
6973 * ace/OS.h,config-vxworks5.x-g++.h:
6974 split ACE_HAS_RENAMED_MAIN into ACE_MAIN and
6975 ACE_HAS_NONSTATIC_OBJECT_MANAGER.
6977 * ace/ACE.cpp: only create the ACE_Object_Manager_Destroyer
6978 if not ACE_HAS_NONSTATIC_OBJECT_MANAGER.
6980 * ace/Object_Manager.{h,cpp}: dynamically allocated the
6981 contained ACE_Unbounded_Queue to so that it can be deallocated
6982 before the ACE_Allocator is destroyed.
6984 * ace/Singleton.{h,cpp}: register all ACE_Singletons for
6985 cleanup with the ACE_Object_Manager.
6987 * ace/Synch.{h,cpp}: renamed ACE_Static_Object_Lock::atexit () to
6988 close_singleton (), and removed the unused atexit hook.
6990 * ace/Log_Msg.cpp (ACE_Log_Msg_Manager::close): delete the
6991 main thread's Log_Msg.
6993 * ace/config-vxworks-ghs-1.8.h: added ACE_HAS_NONSTATIC_OBJECT_MANAGER.
6995 * tests/Time_Value_Test.cpp: added tests of ACE_U_LongLong.
6997 * tests/Atomic_Op_Test.cpp (main): added arguments to main ().
6999 * tests/Barrier_Test.cpp (main): delete thread_handles array
7000 to prevent memory leak.
7002 * examples/Reactor/Misc/test_signals_2.cpp (main): changed
7003 type of second arg from "char *" to "char *[]".
7005 Mon Aug 25 14:13:57 1997 Carlos O'Ryan <coryan@polka.cs.wustl.edu>
7008 Changed the return type of sendmsg_timedwait from sszie_t to
7009 ssize_t, this should only affect platforms where
7010 ACE_LACKS_TIMEDWAIT_PROTOTYPES, further it was definitely wrong
7012 Thanks to ARTURO MONTES <mitosys@colomsat.net.co> for pointing
7015 Mon Aug 25 10:15:06 1997 David L. Levine <levine@cs.wustl.edu>
7017 * ace/Message_Queue.cpp (notify): fixed ACE_TRACE message.
7019 * examples/ASX/UPIPE_Event_Server/event_server.cpp,
7020 examples/Connection/misc/test_upipe.cpp,
7021 examples/Connection/non_blocking/test_*.cpp,
7022 examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp,
7023 examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp,
7024 examples/Misc/test_dump.cpp,
7025 examples/Reactor/FIFO/client.cpp,
7026 examples/Reactor/Misc/test_*.cpp,
7027 examples/Reactor/Proactor/test_multiple_loops.cpp,
7028 examples/Reactor/Proactor/test_timeout.cpp,
7029 examples/Reactor/ReactorEx/test_timeout.cpp,
7030 examples/Reactor/ReactorEx/test_exceptions.cpp,
7031 examples/Service_Configurator/IPC-tests/client/local_spipe_client_test.cpp,
7032 examples/Service_Configurator/IPC-tests/client/remote_thr_stream_client_test.cpp,
7033 examples/Shared_Malloc/test_multiple_mallocs.cpp,
7034 examples/System_V_IPC/SV_Message_Queues/*MQ_*.cpp,
7035 examples/System_V_IPC/SV_Semaphores/Semaphores_?.cpp,
7036 examples/Threads/process_mutex.cpp,
7037 examples/Threads/recursive_mutex.cpp,
7038 examples/Threads/tss1.cpp,
7039 examples/Threads/thread_specific.cpp,
7040 examples/Threads/token.cpp,
7041 examples/Threads/wfmo.cpp,
7042 tests/Simple_Message_Block_Test.cpp,
7043 tests/Hash_Map_Manager_Test.cpp:
7044 added arguments to main () to support redeclaring it on VxWorks.
7046 From now on, we should always declare main () with arguments, e.g.,
7048 main (int, char *[])
7050 Sun Aug 24 10:27:33 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
7052 * tests/Future_Test.cpp (Scheduler): Removed the non-existent
7053 friend class Method_ObjectWork. Thanks to Sandro Doro
7054 <doros@aureus.sublink.org> for reporting this problem.
7056 * ace/Message_Block.h: Clarified in the comments that the length()
7057 of a Message_Block is 0 until the wr_ptr() is explicitly set.
7058 Thanks to Amos Shapira <amos@gezernet.co.il> for pointing out
7061 Sat Aug 23 14:43:27 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
7063 * ACE version 4.3, released Sat Aug 23 14:43:27 1997.
7065 Sat Aug 23 14:40:32 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
7067 * Released the long-awaited ACE 4.3. Good night sweet prince:
7068 And flights of angels sing thee to thy rest.
7070 Sat Aug 23 00:44:09 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu>
7072 * netsvcs/lib/Server_Logging_Handler.cpp: Make sure that we
7073 explicitly instantiate ACE_Svc_Handler<LOGGING_PEER_STREAM,
7074 ACE_NULL_SYNCH> whether or not we're building with threads
7075 since otherwise we get link errors.
7077 Fri Aug 22 20:58:49 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
7079 * ace/OS.cpp (ACE_TSS_Cleanup): Changed the lock for
7080 ACE_TSS_Cleanup from a static object to a singleton to avoid the
7081 nasty detruction order problem. This only effects Win32.
7083 * ace/Synch.{h,cpp}: Added a new singleton lock
7084 "ACE_TSS_Cleanup_Lock" for Win32 platform. This object is
7085 expect to be put under ACE_Object_Manager's control and will
7086 probably gone/changed in the near future.
7088 Fri Aug 22 18:48:17 1997 Carlos O'Ryan <coryan@polka.cs.wustl.edu>
7091 I updated the information on IRIX. Now we know for a fact it
7092 compiles on IRIX 6.x, but we are not certain on IRIX 5.X.
7094 * bin/auto_compile_wrapper:
7095 I have tried to make it clear that auto_compile_wrapper must be
7096 tailored on each site. The email address is invalid and the
7097 script should just crash the
7099 * ace/OS.i (cond_timedwait):
7100 It used to always dereference the timeout parameter, which could
7102 Sthreads use timestruc_t instead of timespec_t, thanks to
7103 Ganesh Pai <gpai@voicetek.com> for pointing out this one and to
7104 Steve Huston <shuston@riverace.com> for explaining to us what
7107 Fri Aug 22 08:46:39 1997 David L. Levine <levine@cs.wustl.edu>
7109 * include/makeinclude/platform_vxworks*.GNU:
7110 unset SHLIB to fix builds without PRELIB.
7112 * netsvcs/lib/Logging_Strategy.cpp,
7113 examples/Threads/task_three.cpp: include fstream.h and
7114 iostream.h if ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION.
7116 * examples/ASX/UPIPE_Event_Server/event_server.cpp,
7117 examples/Log_Msg/test_log_msg.cpp,
7118 examples/Reactor/Misc/test_time_value.cpp,
7119 examples/Logger/Accepter-server/server_loggerd.cpp:
7120 #include iostream.h if ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION.
7122 * examples/ASX/UPIPE_Event_Server/Peer_Router.cpp (svc):
7123 replaced an iostream printout with an ACE_DEBUG call.
7125 * examples/Misc/test_read_buffer.cpp,
7127 Mem_Map/IO-tests/test_io.cpp:
7128 replaced bare OS calls with ACE_OS calls.
7130 * examples/Reactor/Misc/notification.cpp (Thread_Handler):
7131 added cast of svc_run to ACE_THR_FUNC.
7133 Thu Aug 21 22:38:19 1997 Carlos O'Ryan <coryan@polka.cs.wustl.edu>
7136 This tool will checkout ACE_wrapper from CVS, use
7137 bin/create_ace_build to update a clone directory, compile ace
7138 and tests in that clone directory and then run run_tests.sh.
7139 If there is any problem it will report it to email.
7141 * bin/auto_compile_wrapper:
7142 The former needs some configuration information and a proper
7143 enviroment, hence it may not be invoked directly from your
7144 crontab. This tool is used for that purpose.
7146 * apps/Gateway/Gateway/Makefile:
7147 * apps/JAWS/server/Makefile:
7148 * examples/Connection/non_blocking/Makefile:
7149 * examples/IPC_SAP/DEV_SAP/reader/Makefile:
7150 * examples/IPC_SAP/DEV_SAP/writer/Makefile:
7151 * examples/Service_Configurator/IPC-tests/server/Makefile:
7152 * netsvcs/clients/Naming/Client/Makefile:
7153 * netsvcs/clients/Naming/Dump_Restore/Makefile:
7154 * performance-tests/Synch-Benchmarks/Makefile:
7155 No need to defines LIBS=-lACE here, it is already done in
7156 wrapper_macros.GNU. Thanks to Cary Clark <claca@iccokc.com> for
7157 pointing out this one.
7159 * bin/create_ace_build:
7160 New flag -a to create all symlinks using absolute paths, it
7161 helps when the build directory is a symlink too.
7163 * include/makeinclude/platform_irix6.x-sgic++.GNU:
7164 ACE now compiles with little or no warnings, I kept the linker
7165 warnings deactivated though.
7166 -ptall does not work any more. I added a comment on that.
7169 * apps/Gateway/Gateway/Concrete_Proxy_Handlers.cpp:
7170 * apps/JAWS/clients/Blobby/Blob_Handler.cpp:
7171 * apps/JAWS/server/HTTP_Server.cpp:
7172 * examples/ASX/UPIPE_Event_Server/Peer_Router.cpp:
7173 * examples/IPC_SAP/SPIPE_SAP/NPServer.cpp:
7174 * examples/IPC_SAP/SPIPE_SAP/producer_read.cpp:
7175 * examples/Reactor/Dgram/CODgram.cpp:
7176 * examples/Reactor/Dgram/Dgram.cpp:
7177 * examples/Reactor/Misc/test_demuxing.cpp:
7178 * examples/Reactor/Misc/test_reactors.cpp:
7179 * examples/Reactor/Misc/test_signals_2.cpp:
7180 * examples/Threads/barrier2.cpp:
7181 * examples/Threads/process_manager.cpp:
7182 * examples/Threads/task_three.cpp:
7183 * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp:
7184 * netsvcs/clients/Tokens/collection/collection.cpp:
7185 * netsvcs/clients/Tokens/mutex/test_mutex.cpp:
7186 * performance-tests/Misc/childbirth_time.cpp:
7187 * tests/Reactor_Exceptions_Test.cpp:
7188 * tests/Reactors_Test.cpp:
7189 * tests/SOCK_Test.cpp:
7190 New macro ACE_NOTREACHED. Some compilers will issue warnings on
7191 unreached statements with things like:
7199 return 0; // warning here
7201 but if we remove the last return some other compiler will issue
7202 warnings on leaving the function with no return value.
7203 This macro tries to deal with that, all we have to do is to
7204 write the last line like:
7212 ACE_NOTREACHED(return 0); // No warning now!!!
7214 IMHO it also serves as a form of documentation.
7216 Thu Aug 21 21:00:35 1997 <irfan@TWOSTEP>
7218 * ace/Auto_Ptr: Changed auto_ptr implementation to be as close
7219 to the C++ specification as possible. Things that are still
7222 (b) member templates implementations
7223 (c) making the constructors explicit
7225 * ace/OS.h (ACE_BIT_STRICTLY_ENABLED): Added new macro to check if
7226 a bit is strictly enabled in a word. This is necessary when the
7227 bit would be a combination of bits, and therefore, just
7228 comparing against != 0 (like ACE_BIT_ENABLED does) is not enough
7229 and comparing == BIT is necessary.
7231 Thu Aug 21 19:28:28 1997 James C Hu <jxh@lambada.cs.wustl.edu>
7233 * include/makeinclude/rules.local.GNU (depend.local): If TAO_ROOT
7234 is not set, don't try using it in sed.
7236 * bin/g++dep: Check the existence of the TAO_ROOT environment
7237 variable before adding it to the relative pathname replacement
7240 Thu Aug 21 16:29:02 1997 David L. Levine <levine@cs.wustl.edu>
7242 * ace/OS.h: added THR_JOINABLE and THR_SCHED_FIFO/RR/DEFAULT
7243 to STHREADS, WTHREADS, and non-threaded platforms. On VxWorks
7244 only, set NSIG to _NSIGS + 1.
7246 * ace/config-vxworks*.h: removed ACE_HAS_POSIX_SEM now that we
7247 emulate it for VxWorks.
7249 * tests/Priority_Task_Test.cpp: use THR_SCHED_FIFO unconditionally
7250 now that it's defined on all platforms.
7252 * include/makeinclude/platform_chorus.GNU,
7253 platform_hpux_gcc.GNU,
7254 platform_linux*.GNU,
7256 platform_osf1_4.0_g++.GNU,
7258 platform_sunos*_g++.GNU,
7259 platform_unixware_g++.GNU,
7260 g++ only: replaced PRELIB with "true" because it's not
7261 needed for template instantiation. The old PRELIB no longer
7262 worked without -lACE being added to LIBS in individual Makfiles.
7263 The only reason to leave PRELIB defined to something is so that
7264 the shared object definitions will be correct in rules.lib.GNU.
7265 That should be fixed after 4.3 is released.
7267 * include/makeinclude/platform_vxworks5.x_ghs.GNU:
7268 PRELIB no longer needed with explicit template instantiation.
7270 Thu Aug 21 12:38:26 1997 Steve Huston <shuston@riverace.com>
7272 * ace/config-hpux-10.x.h: Removed extraneous #endif
7274 Thu Aug 21 12:21:16 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
7276 * ace/OS.h (THR_JOINABLE): Defined this macro for Win32 as 0.
7278 Wed Aug 20 22:36:52 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
7280 * ACE version 4.2.44, released Wed Aug 20 22:36:52 1997.
7282 Wed Aug 20 18:28:28 1997 Steve Huston <shuston@riverace.com>
7284 * ace/config-hpux-10.x.h: Made some definitions dependent on the
7285 HP-UX version that is compiling the code.
7287 * ace/Filecache.(cpp h): Moved the definition of ACE_Filecache_Object
7288 from .cpp to .h to help AIX xlC's template instantiator along.
7290 * apps/Gateway/Peer/Peer.(cpp h): Moved the definition of Peer_Handler
7291 from .cpp to .h to help AIX xlC's template instantiator along.
7293 * include/makeinclude/platform_(hpux hpux_aCC hpux_gcc).GNU: Added
7294 a compiler option to define HPUX_VERS with the current OS version.
7295 Used in the config-hpux-10.x.h file.
7297 Wed Aug 20 13:44:16 1997 Carlos O'Ryan <coryan@mambo.cs.wustl.edu>
7299 * ace/config-unixware-2.1.2-g++.h:
7300 Unixware does not define timespec_t. Thanks to Ganesh Pai
7301 <gpai@voicetek.com> for pointing out this one.
7303 Wed Aug 20 11:37:44 1997 David L. Levine <levine@cs.wustl.edu>
7305 * include/makeinclude/rules.bin.GNU,platform_vxworks5.x_g++.GNU:
7306 added POSTLINK to build symbol table.
7308 Wed Aug 20 07:43:14 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
7310 * ACE version 4.2.43, released Wed Aug 20 07:43:14 1997.
7312 Tue Aug 19 08:25:28 1997 Steve Huston <shuston@riverace.com>
7314 * tests/Barrier_Test.cpp: Added THR_JOINABLE to the flags for
7315 creating threads - allows join to work on platforms that create
7316 threads detached by default (i.e. AIX).
7318 * tests/Process_Strategy_Test.cpp: If the final ACE_OS::kill() fails,
7319 don't ACE_OS::wait() for the process.
7321 * ace/config-aix-4.2.x.h: Added ACE_HAS_BROKEN_POSIX_TIME. Commented
7322 out ACE_HAS_AIX_BROKEN_SOCKET_HEADER. Added ACE_HAS_PTHREAD_T,
7323 and will now not use tid_t for any ACE types. Rearranged things
7324 to start clarifying items.
7326 * ace/config-hpux-10.x.h: Removed ACE_HAS_SETKIND_NP and adjusted
7327 other, more meaningful, threads-related definitions to match what
7328 HP 10.10 and 10.20 have for threads. This matches changes to OS.*
7330 * ace/OS.(h i cpp): Removed use of ACE_SETKIND_NP in an effort to
7331 simplify the variety of threads-capability definitions. The only
7332 platforms which used ACE_HAS_SETKIND_NP were HP-UX (see above) and
7333 OSF/1 V3.2 (which has the same threads package as HP-UX). OSF/1
7334 V3.2 may require some adjustments per this change - it probably
7335 should be changed to match HP-UX. OSF/1 V4 (aka Digital UNIX)
7336 is not affected by this change.
7338 * ace/Log_Msg.cpp: Changed the 't' format (thread ID) to call
7339 thread_self() directly on AIX.
7341 Mon Aug 18 21:39:33 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
7343 * ACE version 4.2.42, released Mon Aug 18 21:39:33 1997.
7345 Mon Aug 18 20:22:14 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu>
7347 * apps/Gateway/Peer/Makefile:
7348 No need to define LIBS=-lACE here, its already done in
7349 wrapper_macros.GNU. Thanks to Cary Clark <claca@iccokc.com>
7350 for helping in this effort.
7352 Mon Aug 18 19:54:36 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
7354 * ace/OS.{h,i} (open, mutex_init, sema_init, event_init, mmap):
7355 Added an extra argument LPSECURITY_ATTRIBUTE with default value
7356 0 to all these methods so that we can modify objects' security
7357 attributes when needed. Thanks to Ivan Murphy for pointing this
7360 Mon Aug 18 19:50:13 1997 Carlos O'Ryan <coryan@mambo.cs.wustl.edu>
7362 * examples/Service_Configurator/Makefile:
7363 * examples/Service_Configurator/IPC-tests/server/Makefile:
7364 * apps/Gateway/Gateway/Makefile:
7365 * examples/Connection/non_blocking/Makefile:
7366 $(SOEXT) must be used instead of just .so, the former does not
7367 work on all platforms, notably HP-UX. Thanks to Cary Clark
7368 <claca@iccokc.com> for helping in this effort.
7370 Mon Aug 18 19:46:27 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu>
7373 Added support for the missing netdb reentrant functions, even
7374 under IRIX 6.2 with no threads. Thanks Paul Roman
7375 <proman@npac.syr.edu> for reporting this.
7377 Mon Aug 18 12:53:16 1997 David Levine <levine@merengue.cs.wustl.edu>
7379 * tests/Barrier_Test.cpp (tester): VxWorks doesn't support
7380 thr_join(). Therefore, we need to work around it for now.
7381 Maybe Wind River will fix it at some point.
7383 Mon Aug 18 12:38:52 1997 Steve Huston <shuston@riverace.com>
7385 * ace/config-aix-4.2.x.h: Removed ACE_HAS_SVR4_TIME, added
7386 ACE_LACKS_TIMESPEC_T.
7388 Mon Aug 18 12:00:31 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu>
7391 MVS does not define timespec_t either. Thanks to Chuck
7392 Gehr for reporting this.
7394 Mon Aug 18 10:41:05 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu>
7398 On some platforms timespec_t is not defined. We added a new
7399 config macro (ACE_LACKS_TIMESPEC_T) to handle that and we do a
7400 typedef to solve the problem.
7402 * ace/config-freebsd-pthread.h:
7403 * ace/config-freebsd.h:
7404 * ace/config-linux-lxpthreads.h:
7405 * ace/config-linux-pthread.h:
7406 * ace/config-linux.h:
7407 These are *some* config files that needed changes due to the new
7410 Mon Aug 18 09:34:11 1997 David L. Levine <levine@cs.wustl.edu>
7412 * ace/OS.cpp (ACE_Thread_Adapter): rearranged initializers to
7413 match declaration order.
7415 * ace/Log_Record.h: declare "class ostream" if
7416 ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION Log_Record.h.
7418 * ace/IOStream.h,Log_Msg.cpp,Log_Record.cpp,
7419 tests/test_config.h: include iostream.h instead of ace/stdcpp.h
7420 if ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION.
7422 * ace/config-vxworks*.h: added ACE_LACKS_TIMESPEC_T.
7424 Sun Aug 17 20:58:56 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
7426 * ACE version 4.2.41, released Sun Aug 17 20:58:56 1997.
7428 Sun Aug 17 17:02:53 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu>
7430 * ace/config-irix6.x-sgic++-nothreads.h:
7431 * ace/config-irix6.x-sgic++.h:
7432 * include/makeinclude/platform_irix6.x-sgic++.GNU:
7433 Finally a single config.h and platform_macros.GNU file can be use
7434 for all the IRIX 6.X versions.
7435 On SGI machines we need a higher value for
7436 ACE_DEFAULT_BASE_ADDR, we used 1024*1024*1024, which works on
7437 our site, but your mileage may vary.
7439 * include/makeinclude/platform_irix6.2_sgic++.GNU:
7440 * include/makeinclude/platform_irix6.4_sgic++.GNU:
7441 * ace/config-irix6.2-sgic++-nothreads.h:
7442 * ace/config-irix6.2-sgic++.h:
7443 * ace/config-irix6.4-sgic++-nothreads.h:
7444 * ace/config-irix6.4-sgic++.h:
7445 These files are no longer needed, see above.
7451 * ace/Profile_Timer.cpp:
7452 * ace/Profile_Timer.h:
7453 We no longer use timestruct_t in ACE, it is a SYSVism; we use
7454 timespec_t instead. Hence we have no need for the config
7455 macro ACE_HAS_SVR4_TIME, but we keep it there for future
7458 * tests/Reader_Writer_Test.cpp:
7459 On IRIX using ACE_Thread::yield() degraded performance for
7460 multiprocessor machines, but worse, the test will not behave as
7461 expected: instead of interleaving read/write locks over the
7462 RW_Mutex it will make all the write locks first and then the read
7463 locks. The test uses ACE_OS::sleep() for yielding the CPU,
7464 and it uses different pauses for each thread (see code for
7465 details). Further, it yields the CPU *before* taking the
7466 lock, to give other threads a chance.
7468 Sat Aug 16 18:17:10 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
7470 * ACE version 4.2.40, released Sat Aug 16 18:17:10 1997.
7472 Sat Aug 16 18:13:22 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
7474 * ace/ReactorEx.cpp (add_network_events_i): Revised the code to
7475 use the ACE_BIT_CMP_MASK and ACE_SET_BITS macros to simplify the
7478 * ace/OS.h: Added a new macro called ACE_BIT_CMP_MASK which checks
7479 if a "bit-wise" & with a word == a particular mask.
7481 * ace/OS.cpp (thr_create): If we're in the Pthreads implementation
7482 then we assume that ACE_thread_t and ACE_hthread_t are the same.
7483 If this *isn't* correct on some platform, please let us know.
7484 Thanks to Carlos O'Ryan <coryan@cs.wustl.edu>.
7486 * ace/Auto_Ptr.cpp: Reverted the changes of ACE_Auto_Ptr to
7487 auto_ptr since we want to be Standard C++ Library compliant.
7488 However, we only define auto_ptr if ACE_HAS_STANDARD_CPP_LIBRARY
7491 * Removed the INSTALL file since this is redundant with the HTML
7492 version of this file (ACE-INSTALL.html). Thanks to David Levine
7493 for doing the legwork to merge this.
7495 Sat Aug 16 15:11:24 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
7497 * ace/Auto_Ptr.h: Put in an #include <memory> (for auto_ptr) if
7498 the standard C++ library is being used.
7500 * ace/Auto_Ptr.*: Changed the checks for ACE_HAS_STANDARD_CPP_LIBRARY
7501 to also check to see if it is defined to 0 (which means the same
7502 as it not being defined).
7504 * ace/ReactorEx.cpp: Changed the use of auto_ptr to work with
7505 the one in the Standard C++ library.
7507 * ace/config-win32-common.h: Added ACE_HAS_BROKEN_NESTED_TEMPLATES
7508 and ACE_LACKS_STL_DEFAULT_TEMPLATE_PARAMETER for the MSVC versions
7511 * ace/Registry.cpp: changed some variable names from iterator to
7512 iter to prevent conflicts with another variable
7517 Changed references of NPOS to Istring::npos
7519 Sat Aug 16 14:17:07 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu>
7523 Some code was only included if ACE_HAS_STANDARD_CPP_LIBRARY was
7524 defined; but the intention was exactly the opposite.
7526 Sat Aug 16 14:33:26 1997 David L. Levine <levine@cs.wustl.edu>
7528 * README,FAQ,Makefile: changed references from INSTALL file
7529 to ACE-INSTALL.html.
7531 Fri Aug 15 19:51:52 1997 <irfan@TWOSTEP>
7533 * ace/Auto_Ptr.h: A rarely used piece of ACE code has changed
7534 names because of name conflicts with the Microsoft Standard C++
7535 Library. The change is from auto_ptr to ACE_Auto_Ptr. A perl
7536 script ($ACE_ROOT/bin/auto_ptr.perl) is provided for users to
7537 change their code accordingly.
7539 The following files were effected:
7541 ace: ACE.cpp Auto_Ptr.cpp Auto_Ptr.h Auto_Ptr.i OS.h
7542 ReactorEx.cpp Service_Config.cpp Service_Object.h
7544 examples/Threads: future1.cpp future2.cpp test_future1.cpp
7547 tests: Future_Test.cpp
7549 Fri Aug 15 17:41:28 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
7551 * ACE version 4.2.39, released Fri Aug 15 17:41:28 1997.
7553 Fri Aug 15 13:33:04 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
7555 * ace/OS.h (ACE_DEFAULT_GLOBALNAME_W): Moved pathname delimiter
7556 from ACE_DEFAULT_{LOCAL|GLOBAL}NAME_* to
7557 ACE_DEFUALT_NAMESPACE_DIR on NT. We need to append local/global
7558 name to get a unique mutex name for naming service. NT won't
7559 let us put a backslash in lock name. ;(
7561 Fri Aug 15 14:50:26 1997 Steve Huston <shuston@riverace.com>
7563 * ace/Makefile: Moved ARGV from the TEMPLATES section to the FILES
7564 section; now builds on AIX.
7566 * ace/config-hpux-10.x.h: Don't redefine _HPUX_SOURCE. Move the
7567 ACE_HAS_REENTRANT_FUNCTIONS and ACE_CTIME_R_RETURNS_INT to the
7568 build-with-threads section. Thanks to Neil Cohen <nbc@metsci.com>
7569 for helping to flush these problems out.
7571 * tests/Makefile: If building on AIX, wipe out the tempinc directory
7572 before each compilation to keep the driver from compiling all
7573 prior programs' template instantiations in every link step.
7575 Fri Aug 15 13:07:26 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
7577 * ace/Signal.cpp (remove_handler): Added some additional
7578 parameters to ACE_Sig_Action usages in order to get this stuff
7579 to compile with G++ on SunOS 4.1.4. Thanks to Kumar Neelakantan
7580 <kneelaka@PaineWebber.COM> for reporting this.
7582 * ACE version 4.2.38, released Thu Aug 14 23:07:26 1997.
7584 Fri Aug 15 13:33:04 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
7586 * ace/Naming_Context.cpp (ACE_Naming_Context): Moved the deletion
7587 of name_options_ from close to dtor of this class so that we can
7588 reconfigure the naming context.
7590 Fri Aug 15 10:28:14 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
7592 * ace/OS.cpp: Changed uname() for Win32 so it returns information
7593 for Windows 95 and NT.
7595 Thu Aug 14 18:06:37 1997 Chris Cleeland <cleeland@cs.wustl.edu>
7597 * ace/OS.[hi] (strsplit_r): Added a new method which splits a
7598 string separated by tokens, similar to the way that perl's
7599 split() works. This is different from the strtok() family b/c
7600 for the string ":/foo:/bar::boo", strtok() would return "/foo",
7601 "/bar", "boo", while strsplit_r() returns "", "/foo", "/bar",
7602 "", "boo". This method is also properly re-entrant, and thus
7603 safe to use among multiple threads.
7605 * ace/ACE.cpp (ldfind): Fixed this so that it now properly deals
7606 with paths containing empty components intended to indicate
7607 'current directory'.
7609 Thu Aug 14 17:30:36 1997 Steve Huston <shuston@riverace.com>
7611 * ace/config-hpux-10.x.h - Add ACE_LACKS_CONST_STRBUF_PTR, remove
7612 ACE_HAS_POSIX_SEM, clarify comments regarding setting of
7613 _CMA_NOWRAPPERS_ - thanks to Cary Clark <claca@iccokc.com> for
7614 helping in this effort.
7616 Thu Aug 14 16:14:47 1997 David L. Levine <levine@cs.wustl.edu>
7618 * ace/High_Res_Timer.cpp (print_ave,print_total): fixed format
7619 specification for total_secs to be lu instead of lld.
7621 Thu Aug 14 14:06:37 1997 Chris Cleeland <cleeland@cs.wustl.edu>
7623 * ace/ARGV.cpp: Completed the explicit template instantiations for
7626 Thu Aug 14 11:27:03 1997 Edward Everett Anderson <eea1@polka.cs.wustl.edu>
7628 * ace/ARGV.* (argv):
7630 * Added another behavior to ACE_ARGV -- a user can iteratively
7631 build the parameter set with add(). Made the class more
7632 consistent so that accessors work no matter which constructor is
7635 Thu Aug 14 10:14:37 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
7637 * Made several changes to allow ACE to work with the new standard
7638 C++ header files, such as <cstdio> and the built in STL. Thanks
7639 to Matthias Kerkhoff <make@cs.tu-berlin.de> for these changes.
7640 The default is to use the old headers, unless the
7641 ACE_HAS_STANDARD_CPP_LIBRARY is defined as 1.
7643 * ace/config-win32-common.h:
7646 - Added ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB flag to
7647 distinguish compilers who have the standard C++ library
7648 declared in the namespace std and those who use the global
7651 - Enabled ACE_HAS_SIG_ATOMIC_T and ACE_HAS_TYPENAME_KEYWORD for
7654 - Changed the semantics of ACE_HAS_STANDARD_CPP_LIBRARY from
7655 [defined/undefined] to [(undefined or defined as 0)/defined != 0]
7656 to allow the choice between the old iostream and standard C++
7657 library for those platforms that support both
7659 - Don't define the ACE_LACKS_IOSTREAM_FX when building with MSVC
7660 5.0 and the standard C++ library.
7662 - If __ACE_INLINE__ is defined as 0, config-win32-common.h
7663 undefines __ACE_INLINE__ to decrease the size of libraries and
7666 * ace/IOStream.cpp: Moved the #ifdef ACE_LACKS_ACE_IOSTREAM up to the
7675 examples/ASX/Message_Queue/*.dsp:
7676 examples/OS/Process/*.dsp:
7677 examples/Threads/*.dsp:
7678 examples/Threads/barrier2.cpp:
7679 examples/Threads/task_three.cpp:
7680 netsvcs/lib/Logging_Strategy.cpp:
7682 Updated to including stdcpp.h instead of <iostream.h>,
7683 <iomanip.h>, <fstream.h>, etc.
7685 * ace/OS.h: Updated to use stdcpp.h instead of including the
7686 normal C headers. Moved the includes into stdcpp.h to allow
7687 switching between the old and new versions
7689 * ace/Registry.h: Changed to use the standard C++ headers for STL
7690 and added a typedef Name_Component and Binding to
7691 ACE_Registry::* to help some unresolved problems.
7693 * tests/Hash_Map_Manager_Test.cpp:
7694 tests/test_config.h:
7696 Updated to #include ace/stdcpp.h instead of <iostream.h> and
7699 * ace/stdcpp.h: Updated to include more of the new standard C++
7700 header files, and also promote some of the iostream classes to
7701 the global namespace.
7705 - Added some folders like Templates and Documentation
7706 - Added some files that were missing to the project
7707 - Enabled function level linking for debug projects
7708 - Set it to "Not using MFC"
7709 - Removed wsock32.lib from the project settings (since
7710 config-win32-common.h will tell the linker to use the correct
7712 - Removed some other unnecessary libraries (OLE) from the
7715 Wed Aug 13 23:02:45 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
7717 * ACE version 4.2.37, released Wed Aug 13 23:02:45 1997.
7719 Wed Aug 13 13:26:27 1997 Douglas C. Schmidt <schmidt@mambo.cs.wustl.edu>
7721 * tests/Barrier_Test.cpp (main): Fixed the test of the ACE_Barrier
7722 class so that it doesn't leak handles. This also illustrates
7723 the use of the ACE_Thread::join() and
7724 ACE_Thread_Manager::spawn_n() methods. Thanks to Ivan Murphy
7725 for pointing this out.
7727 * ace/Thread_Manager.cpp (spawn_n): Note that if we get a null
7728 thread_ids parameter we shouldn't try to index into it!
7730 * include/makeinclude/rules.local.GNU (OBJDIRS): Added
7731 so_locations to the list of directories cleaned up during a make
7732 clean/realclean. Thanks to Amos Shapira for reporting this.
7734 * ACE version 4.2.36, released Wed Aug 13 07:30:10 1997.
7736 * include/makeinclude/platform_irix6.[x-]32_sgic++.GNU: Added a
7737 -Wl,-woff,133 to LDFLAGS to make the linker shutup about branch
7738 instructions that might degrade performance
7739 (what does this mean?). Thanks to Amos for this.
7741 * tests/test_config.h: Fixed a typo (ourput_file() should be
7742 output_file()). How on earth did this ever work?! Thanks to
7743 Amos Shapira for reporting this.
7745 * ace/Message_Queue.cpp: Added a couple of new ACE_UNUSED_ARGs
7746 Thanks to Amos Shapira for reporting this.
7748 * ace/OS.cpp (gethrtime): ACE_OS::gethrtime should cast its return
7749 value to ACE_hrtime_t instead of (u_long long). Thanks to
7750 Amos Shapira for reporting this.
7752 Wed Aug 13 14:51:47 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
7754 * ace/SString.[i,cpp]: moved some inline methods from the .i into
7755 the .cpp so the Win32 Unicode Release compiles with inlining.
7757 Wed Aug 13 01:14:08 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
7759 * tests/test_config.h (ACE_NEW_THREAD): Removed
7760 ACE_Log_Msg::set_flags/clr_flags from this macro because
7761 ACE_Log_Msg::flags is a static variable. We really don't need
7762 to reset them when creating new threads. Once VxWorks can also
7763 inherit ACE_Log_Msg's properties, we no longer need this macro.
7765 * ace/Log_Msg.h: Added trace_depth() functions. They are required
7766 for inheriting ACE_Log_Msg's properties.
7768 * ace/OS.cpp: Changed ACE_Thread_Adapter implementation so that
7769 newly created threads will inherit properties from their parent
7770 threads. This is the default behavior and is valid on all
7771 platform except VxWorks. If you don't want it and would like to
7772 arrange the properties propagation yourself, you must define
7773 ACE_THREADS_DONT_INHERIT_LOG_MSG in your ace/config.h file. Now,
7774 creating a new thread will go thru ace_thread_adapter on all
7775 platform except VxWorks. If ACE_THREADS_DONT_INHERIT_LOG_MSG is
7776 defined but your platform defines ACE_HAS_THR_C_FUNC or
7777 ACE_WIN32, creating new threads still need to use
7778 ace_thread_adapter. This change also fixes a previous problem
7779 which let threads access another thread's TSS.
7781 Tue Aug 12 21:57:30 1997 David L. Levine <levine@cs.wustl.edu>
7783 * etc/ACE-guidelines.html: added.
7785 Tue Aug 12 16:54:33 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
7787 * Added Chuck Gehr's explanation of how to build ACE for MVS to
7788 the ACE-INSTALL.html file at http://www.cs.wustl.edu/~schmidt/.
7790 * ace/OS.i: changed the name of ACE_U_LongLong::dump() to
7791 ACE_U_LongLong::output(). Also moved some of the code that was
7792 inlined in the class definition into the *.i file.
7794 * netsvcs/lib/Server_Logging_Handler.cpp: Added a template
7795 specialization for ACE_Atomic_Op<ACE_Thread_Mutex, u_long> to
7796 make things link with SGI and other systems that have long
7797 different than int. Thanks to Amos Shapira for reporting this.
7799 * ace/Reactor.cpp (close): Removed the #ifdefs around
7800 notify_handler_.open () and notify_handler_.close() since this
7801 is now supposed to be available on all build configurations.
7802 Thansk to Stefan Ericsson for reporting this.
7804 * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp:
7805 Removed a static variable that seemed to be causing problems for
7806 SGI C++. Also, removed the now unnecessary "inherited" from
7807 Handle_Thr_Acceptor.
7809 * examples/ASX/UPIPE_Event_Server/Peer_Router.h,
7810 * netsvcs/lib/Log_Message_Receiver.h: Added an
7811 ACE_UNIMPLEMENTED_FUNC macro for the assignment operator to work
7812 around silly "features" of SGI C++...
7814 * include/makeinclude/platform_irix6.[x-]32_sgic++.GNU: Added some
7815 additional patches to suppress warning code. Thanks to Torbjorn
7816 Lindgren <tl@funcom.no> for this fix.
7818 * include/makeinclude/platform_mvs.GNU: Changed all occurrences of
7819 "MVSLIB" to "ACELIB". Thanks to Chuck Gehr for reporting this.
7821 Tue Aug 12 15:03:42 1997 Steve Huston <shuston@riverace.com>
7823 * ace/Timer_Hash_T.cpp, Timer_Wheel_T.cpp: Replaced references to
7824 ACE_High_Res_Timer::gettimeofday with ACE_OS::gettimeofday.
7825 The High Res version is deprecated, and doesn't work
7828 Tue Aug 12 07:51:02 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
7830 * ACE version 4.2.35, released Tue Aug 12 07:51:02 1997.
7832 Mon Aug 11 22:30:39 1997 David L. Levine <levine@cs.wustl.edu>
7834 * include/makeinclude/platform_vxworks5.x_ghs.GNU: disabled
7835 automatic template instantiation, because we use explicit
7836 template instantiation, via a #pragma, with Green Hills.
7837 Thanks to Brian Mendel <brian.r.mendel@boeing.com> for
7838 finding the compiler options.
7840 Mon Aug 11 17:45:44 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
7842 * ace/OS.cpp (ace_thread_adapter): Changed the code so that TSS
7843 ACE_Log_Msg will get created and put into cleanup stack first no
7844 matter there is other ACE_Log_Msg instances or not. This fixed
7845 the "order of destruction" problem on Win32 platform. Thanks to
7846 Irfan for digging this out and helping solving it.
7848 Mon Aug 11 07:25:29 1997 <irfan@TWOSTEP>
7850 * examples/Reactor/ReactorEx/test_reactorEx.cpp: Updated this
7851 example to use the new Proactor and Asynch IO interfaces.
7853 * ace/Connector.cpp (activate_svc_handler): Fixed the "leak" of
7854 svc_handler in case of error. Thanks to Wei Chiang
7855 <chiang@tele.nokia.fi> for reporting this.
7857 Mon Aug 11 01:11:26 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
7859 * ACE version 4.2.34, released Mon Aug 11 01:11:26 1997.
7861 Mon Aug 11 01:06:02 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
7863 * ace/Message_Queue.cpp (enqueue_tail_i): Inadvertantly
7864 added "signal_dequeue_waiters()" where I meant
7865 "signal_enqueue_waiters()."
7867 * include/makeinclude/wrapper_macros.GNU: Fixed a typo in the
7868 wrapper_macros.GNU file that was causing link errors.
7870 Sun Aug 10 11:35:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
7872 * ace/Message_Queue.cpp: To make sure that we have correctly
7873 signaled waiters the signal_enqueue_waiters() and
7874 signal_dequeue_waiters() methods now check the return value from
7875 the semaphore release if ACE_HAS_OPTIMIZED_MESSAGE_QUEUE is
7878 * include/makeinclude/wrapper_macros.GNU (VLDLIBS): Added a
7879 new macro called ACELIB that can be used to make it easier
7880 to enable static linking for ACE, i.e.:
7882 ACELIB = -Bstatic -lACE -Bdynamic
7886 ACELIB = $(ACE_ROOT)/ace/libACE.a
7888 Can be added to the individual platform_macros.GNU file. This
7889 allowed us to remove special code for MVS in wrapper_macros.GNU.
7890 Thanks to Chuck Gehr for this fix.
7892 * netsvcs/lib: Added some comments after the #endifs.
7894 * ace/Filecache.cpp (insert_i): Updated the code so that we use
7895 ACE_NEW_RETURN rather than operator new. This macro will
7896 protect against failed allocations.
7898 Sat Aug 9 22:08:50 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
7900 * ace: Added two new config files:
7902 config-irix6.x-sgic++.h
7903 config-irix6.x-sgic++-nothreads.h
7905 This should hopefully consolidate the SGI platform
7906 configuration. Thanks to Torbjorn Lindgren <tl@funcom.no> for
7909 * include/makeinclude: Added two new platform macro files:
7911 platform_irix6.x-n32_sgic++.GNU:
7912 platform_irix6.x-32_sgic++.GNU
7914 This should hopefully consolidate the SGI platform macros.
7915 Thanks to Torbjorn Lindgren <tl@funcom.no> for this fix.
7917 * ace/Filecache.cpp: Fixed the syntax of the SGI pragma stuff.
7918 Thanks to Torbjorn Lindgren <tl@funcom.no> for reporting this.
7920 * ace/Name_Request_Reply.h: Changed MAX_NAME_LEN to MAX_NAME_LENGTH
7921 to avoid problems with Solaris 2.6. Thanks to Thanh Ma <tma@encore.com>
7924 Sat Aug 9 12:10:35 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
7926 * ace/config-win32-common.h (ACE_HAS_WINSOCK2):
7927 * ace/config-win32.h (ACE_HAS_WINSOCK2): Rearranged definition of
7928 this so that users can overwrite the default setting and choose
7929 older Winsock if they want. No action needed for most NT
7930 useres. Thanks to jmorey@tbi.com (John Morey) for pointing this
7933 Sat Aug 09 11:28:36 1997 Steve Huston <shuston@riverace.com>
7935 * ace/Profile_Timer.i: ACE_HAS_GETRUSAGE and !ACE_HAS_PRUSAGE
7936 platforms now use ACE_OS::gettimeofday rather than
7937 ACE_High_Res_Timer::gettimeofday in start() and stop() methods.
7939 * tests/Sigset_Ops_Test.cpp: adjusted test for sigismember() with
7940 out-of-range signum to separately test return value and errno.
7941 Also, returns non-zero from program on failed test.
7943 Fri Aug 08 17:39:43 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
7945 * ACE version 4.2.33, released Fri Aug 08 17:39:43 1997.
7947 Fri Aug 08 02:50:31 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
7949 * ace/Message_Queue: Factored out the code that differs depending
7950 on whether we are using the optimized ACE_Message_Queue
7951 implementation (i.e., VxWorks and NT). This change makes it
7952 easier to maintain the code. Thanks to Darrell for helping with
7955 * ace/Log_Msg.cpp (close): Fixed a couple of typos in this code,
7956 in particular, we need to make sure that we don't call
7957 ACE_Log_Msg_Manager::close() if we aren't multi-threaded.
7959 * ACE version 4.2.32, released Fri Aug 08 02:50:31 1997.
7961 Fri Aug 8 13:17:21 1997 Chris Cleeland <cleeland@cs.wustl.edu>
7963 * ace/OS.* (strtoul): Added the OS function strtoul() to turn
7964 strings into unsigned longs.
7966 Fri Aug 8 12:26:54 1997 Steve Huston <shuston@riverace.com>
7968 * ace/Log_Msg.cpp: Fixed some comments and removed unused code
7969 I erroneously added August 6.
7971 * ace/config-hpux-10.x.h: Fixed to not always compile tracing code.
7973 * tests/test_config.h: ACE_END_TEST and ACE_END_LOG macros direct
7974 log output back to stderr when shutting off the file output.
7976 * tests/TSS_Test.cpp: Removed ACE_Thread_Control object from the main
7977 thread - it served no purpose and didn't work on HP-UX (due to
7978 a documented pthread_exit restriction). Also changed a 'delete
7979 ptr' to a call on operator delete (void *).
7981 Fri Aug 8 09:17:21 1997 Chris Cleeland <cleeland@cs.wustl.edu>
7983 * ace/Service_Repository.h (operations.): Improved documentation
7986 Fri Aug 8 00:01:43 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
7988 * ace/Log_Msg.cpp (close): Moved ACE_Log_Msg::close() out of
7989 ACE_MT_SAFE block so it always exists. This function only takes
7990 care of non-VxWorks platforms.
7992 (instance): Removed at_exit() call since the instances will be
7993 taken of by TSS_Cleanup.
7995 * ace/Object_Manager.cpp (~ACE_Object_Manager): Removed condition
7996 compilation so it always calls ACE_Log_Msg::close().
7998 Thu Aug 7 23:36:26 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
8000 * ace/Reactor.h: Added the renew() method and the notify_handler_
8001 data member to all compilation cases, not just for
8004 * ace/Service_Config.h: Clarified the fact that argv[0] is the
8005 program name. Thanks to Chris Cleeland for pointing this out.
8007 * ace/config-mvs.h: Added the ACE_HAS_TEMPLATE_SPECIALIZATION flag
8008 thanks to Chuck Gehr.
8010 * include/makeinclude/platform_irix6.2_sgic++.GNU: Turned on
8011 exceptions and turned off implicit template instantiation.
8012 Thanks to Amos Shapira <amos@gezernet.co.il> for reporting the
8015 * ace/config-irix6.2-sgic++.h: Also added the
8016 ACE_HAS_TEMPLATE_SPECIALIZATION flag and changed the
8017 platform_irix6.2.GNU file to not implicitly initialize
8018 templates. If this breaks something, please let me know.
8020 * ace/config-irix6.2-sgic++.h: Added the ACE_HAS_EXCEPTIONS flag.
8021 Thanks to Amos Shapira <amos@gezernet.co.il> for reporting this.
8022 However, there is some question as to whether this will work.
8023 If it doesn't, please let me know.
8025 * ace/Reactor: Moved the ACE_Reactory_Notify class out from the
8026 ACE_MT_SAFE section into the main code since this should work
8027 for non-threaded builds, as well. Thanks to Stefan Ericsson
8028 <uabsjen@osd.ericsson.se> for reporting this.
8030 * ace/config-chorus.h: Added the ACE_HAS_TEMPLATE_SPECIALIZATION
8031 flag. Thanks to Wei Chiang for this.
8033 Thu Aug 7 19:09:35 1997 Steve Huston <shuston@riverace.com>
8035 * tests/Hash_Map_Manager_Test.cpp - split definition of Dumb_String
8036 class to a new header, Hash_Map_Manager_Test.h. This makes AIX
8039 * tests/Process_Strategy_Test.cpp - split definitions of Options
8040 and Counting_Service classes to Process_Strategy_Test.h for AIX
8043 Thu Aug 7 15:27:28 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
8045 * ace/OS.h: Fixed typo in the definition of ACE_SYNCH_1 and
8046 ACE_SYNCH_2 for ACE_HAS_OPTIMIZED_MESSAGE_QUEUE
8048 Thu Aug 7 13:05:20 1997 Chris Cleeland <cleeland@cs.wustl.edu>
8050 * ace/Strategies_T.h: Changed the argument to ACE_DLL_Strategy
8051 from ACE_Service_Config to ACE_Service_Repository, which is more
8054 * bin/g++dep (REL): Added sed rule so that TAO's dependencies are
8055 set relative to $TAO_ROOT as well as $ACE_ROOT when the '-r'
8058 * include/makeinclude/platform_linux_lxpthread.GNU (CCFLAGS): The
8059 -Wall option can now be used. It only generates two warnings
8060 throughout all of ACE!
8062 * include/makeinclude/rules.local.GNU (depend.local): Modified
8063 this target so that TAO's dependencies are set relative to
8064 $TAO_ROOT as well as $ACE_ROOT.
8066 Thu Aug 7 12:03:48 1997 James C Hu <jxh@lambada.cs.wustl.edu>
8068 * ace/Filecache.{h,cpp}: Fixed unused variable found by Amos
8069 Shapira. Fixed TEMPLATE_SPECIALIZATION dependency, sort of. Do
8070 not attempt to use Filecache if you do not support
8071 TEMPLATE_SPECIALIZATION.
8073 Thu Aug 07 00:19:12 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
8075 * ACE version 4.2.31, released Thu Aug 07 00:19:12 1997.
8077 Wed Aug 6 22:20:54 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
8079 * ace/Synch_T.h: Replaced all uses of ACE_Null_Condition_Mutex
8080 with ACE_Null_Condition, which is much more straightforward...
8082 * ASNMP: Added Mike MacFaden's changes for IRIX.
8084 Wed Aug 6 16:37:51 1997 James C Hu <jxh@lambada.cs.wustl.edu>
8086 * ace/Hash_Map_Manager.cpp: Changed implementation back to use a
8087 single sentinel_ rather than an array of them.
8089 * ace/Filecache.{h,cpp}: Total re-implementations. Fewer locks
8090 acquired and released when there is a cache hit.
8092 Wed Aug 06 12:55:26 1997 Steve Huston <shuston@riverace.com>
8094 * ace/Log_Msg.(h cpp):
8095 (ACE_Log_Msg_Manager) - Removed most of the non-VxWorks
8096 pieces - there's just a lock left; the instances_ was removed
8097 (ACE_Log_Msg) - Use ACE_Object_Manager to remove per-thread
8098 instances of ACE_Log_Msg rather than using ACE_Log_Msg_Manager.
8099 The use of an ACE_Unbounded_Set to hold the ACE_Log_Msg pointers
8100 in previous versions caused some non-tail recursion problems when
8101 tracing was enabled.
8102 Uses an instance count to know when it's safe to free the dynamically
8103 allocated class-static memory.
8105 * ace/Trace.(h cpp): Added new static member function:
8106 int is_tracing(void) - returns 1 if tracing is enabled, else 0.
8108 * ace/Object_Manager.(h cpp): Added a flag to indicate the object is
8109 being destroyed - during destruction, ACE_Object_Manager now refuses
8110 to register any new memory pointers. Also turns tracing off during
8111 destruction - ACE_Log_Msg makes use of ACE_Object_Manager, so we
8112 don't want ACE_Log_Msg instance being deleted, then created for a
8113 ACE_TRACE, then deleted, then created,...
8115 Wed Aug 06 03:35:41 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
8117 * ACE version 4.2.30, released Wed Aug 06 03:35:41 1997.
8119 Wed Aug 6 00:13:27 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu>
8121 * netsvcs/lib/Server_Logging_Handler.cpp: We only need to
8122 instantiate ACE_Svc_Handler<LOGGING_PEER_STREAM, ACE_SYNCH> when
8123 ACE_HAS_THREADS. Otherwise, we'll have duplicate symbols
8124 defined on platforms that do not support threads.
8126 Tue Aug 5 19:52:36 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
8128 * ace/Containers: Added a new reset method for ACE_Unbounded_Set.
8129 Thanks to Arturo Montes <mitosys@colomsat.net.co> for
8132 * ace: Changed most uses of ACE_LACKS_COND_T to
8133 ACE_HAS_OPTIMIZED_MESSAGE_QUEUE to make it possible to toggle
8134 between the emulated condition variable implementation of
8135 ACE_Message_Queue and the semaphore implementation. We need
8136 this until we fully test out the semaphore implementation of
8139 * ace/Object_Manager.cpp (ACE_Object_Manager): Only call the
8140 ACE_Log_Msg::close() method if ACE_MT_SAFE is enabled! Thanks
8141 to Satoshi Ueno <satoshi.ueno@gs.com> for reporting this.
8143 * ace/Malloc.h: Added a fix for misalignment of data in the
8144 ACE_CONTROL_BLOCK_ALIGN_LONGS macro. Thanks to Fred LaBar
8145 <flabar@fallschurch.esys.com> for this fix.
8147 * ace/ACE.cpp: (enter_recv_timedwait,enter_send_timedwait): Always
8148 give val a default value of 0 to make Purify happy. Thanks to
8149 David Levine for reporting this.
8151 * netsvcs/clients/Tokens/rw_lock/rw_locks.cpp,
8152 netsvcs/clients/Tokens/manual/manual.cpp,
8153 netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp:
8154 Removed unreachable statements. Thanks to Cherif Sleiman
8155 <sleiman@research.moore.com> for reporting this deficiency and
8158 Tue Aug 5 16:41:06 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
8160 * ace/Synch_T.h: Added some more ACE_LACKS_COND_T changes for compilers
8161 without template typdefs.
8163 Tue Aug 5 11:50:43 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
8165 * ace/Message_Queue.h: Fixed typos for the case when
8168 Tue Aug 05 11:02:11 1997 <irfan@TWOSTEP>
8170 * tests/Atomic_Op_Test.cpp (main): Made sure that on platforms
8171 without threads, we don't try to run this test.
8173 Tue Aug 05 09:15:40 1997 David L. Levine <levine@cs.wustl.edu>
8175 * include/makeinclude/platform_vxworks5.x_ghs.GNU: removed
8176 -no_prelink from LDFLAGS because ghs 1.8.8 doesn't support it.
8177 Thanks to Cherif Sleiman <sleiman@research.moore.com> for
8180 * ace/Service_Record.cpp: added #include "ace/Stream_Modules.h"
8181 to support template instantiation on GreenHills, at least.
8182 Thanks to Cherif Sleiman <sleiman@research.moore.com> for
8183 reporting this deficiency and testing the fix.
8185 * ace/config-vxworks-ghs-1.8.h: added
8186 ACE_LACKS_LINEBUFFERED_STREAMBUF. Thanks to Cherif Sleiman
8187 <sleiman@research.moore.com> for reporting this.
8189 Mon Aug 4 22:47:54 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
8191 * ace/Message_Queue: Fixed consistency problems in naming notfull
8192 vs. not_full. Thanks to David Levine for finding this.
8194 * ace/Message_Queue: Added specialized support for cases where
8195 ACE_LACKS_COND_T (e.g., VxWorks and NT). This scheme uses
8196 ACE_Thread_Semaphores in this case, which should be more
8199 * ace/Synch_T.h: Added a new set of macros and typedefs for
8200 ACE_SYNCH_SEMAPHORE.
8202 * examples/ASX/Message_Queue: Cleaned up all the Message_Queue
8205 * examples/ASX/Message_Queue/buffer_stream.cpp: Added a
8206 NUL-terminator to the program so that it won't break. Thanks to
8207 Darrell for finding this.
8209 * ace/Reactor.cpp (wait_for_multiple_events): Fixed some
8210 stylistic problems in the Reactor.
8212 * ace/Synch.cpp (ace_static_object_lock_atexit): Changed from:
8214 extern "C" static void
8220 Thanks to Chuck Gehr <gehr@sweng.stortek.com> for this.
8222 Mon Aug 4 14:03:22 1997 Steve Huston <shuston@riverace.com>
8224 * tests/Enum_Interfaces_Test.cpp: return non-zero if test fails.
8226 Mon Aug 4 12:03:29 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
8228 * tests/Semaphore_Test: Redid to test timed waits in a more
8231 Mon Aug 4 11:43:09 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
8233 * ace/OS: Continued to cleanup the problems with inconsistent
8234 variants of sendmsg() and writev() on VxWorks. Thanks to Cherif
8235 Sleiman <sleiman@research.moore.com> for reporting this.
8237 * ace/OS.i (sema_wait): Fixed the implementation on NT so that
8240 * tests/Semaphore_Test.cpp: Cleaned up the programming style a
8243 * ace/OS (writev): Removed the ACE_WRITEV_TYPE from the
8244 ACE_OS::writev() method and instead put this as a cast on the
8245 internal call to ::writev(). This is much cleaner and should
8246 fix a bug introduced last night. Thanks Cherif Sleiman
8247 <sleiman@research.moore.com> for reporting this.
8249 * ace/Synch: Added a new release() method to ACE_Semaphore that
8250 enables a caller to release multiple waiters. Thanks to Darrell
8251 Brunsch <brunsch@cs.wustl.edu> for noticing this.
8253 Mon Aug 4 12:03:29 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
8255 * tests/Semaphore_Test: Redid to test timed waits in a more
8258 Sun Aug 03 23:47:13 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
8260 * ACE version 4.2.29, released Sun Aug 03 23:47:13 1997.
8262 Sun Aug 3 22:18:33 1997 Douglas C. Schmidt <schmidt@cumbia.cs.wustl.edu>
8264 * tests/Atomic_Op_Test.cpp: Added template specialization so that
8265 David won't have to ;-)
8267 * ace/ACE: Added a new, complete set of send/recv operations with
8268 timeouts. These implement the following methods:
8270 read, readv, write, writev, recv, recvfrom, recvmsg, send, sendto, sendmsg.
8272 The implementation provides two flavors: MIT pthread support, an
8273 ACE portable support. To use MIT pthread support, you must to
8274 define ACE_HAS_READ_TIMEDWAIT, ACE_HAS_READV_TIMEDWAIT,
8275 ACE_HAS_WRITE_TIMEDWAIT, ACE_HAS_RECV_TIMEDWAIT,
8276 ACE_HAS_RECVFROM_TIMEDWAIT, ACE_HAS_RECVMSG_TIMEDWAIT,
8277 ACE_HAS_SEND_TIMEDWAIT, ACE_HAS_SENDTO_TIMEDWAIT and
8278 ACE_HAS_SENDMSG_TIMEDWAIT respectively. See the config.h file
8279 for SCO UNIX for an example.
8281 This new approach is not only more powerful (since it takes
8282 advantage of OS-level mechanisms when they exist), but it also
8283 greatly improves the modularity of the code and provides a
8284 wider range of supported functionality. Thanks to Arturo
8285 Montes <mitosys@colomsat.net.co> for this new feature.
8287 * ace/ACE.cpp: Added comments to the ACE_Object_Manager_Destroyer
8290 * ace/OS.h: Redid all the function prototypes for class ACE_OS so
8291 that it's easier to read the arguments.
8293 * ace/config-sco-5.0.0-mit-pthread.h: Added the new macros that
8294 enable timed reads and writes. Thanks to Arturo Montes
8295 <mitosys@colomsat.net.co> for this new feature.
8297 * ace: Added a corresponding #endif /* FOO */ for all #if defined
8300 * ace: Changed all uses of ACE_IOStream_T to ACE_IOStream to
8301 be more consistent with other uses of templates in ACE.
8302 Thanks to Thilo for reporting this (and thanks to David
8303 for not being offended ;-)).
8305 * ace/OS.i (operator/): Removed "const" from both the OS.h and
8306 OS.i files for ACE_U_LongLong::operator/. It is redundant,
8307 potentially confusing, and gives warnings on some compilers!
8309 Sun Aug 03 21:20:12 1997 <irfan@TWOSTEP>
8311 * tests/Atomic_Op_Test.cpp: Added new test to test the Atomic
8312 Operations Class in ACE. On platforms like Win32, ACE uses
8313 template specialization to use native implementations provided
8314 by the OS to accelarate these operations.
8316 * ace/config-win32-common.h (ACE_HAS_INTERLOCKED_EXCHANGEADD):
8317 Added macro to config file. This macro is automatically set true
8318 for NT4.0 systems or greater.
8320 * ace/Atomic_Op.i: On Win32 platforms, this code will be included
8321 as template source code and will not be inlined. Therefore, we
8322 first turn off ACE_INLINE, set it to be nothing, include this
8323 code, and then turn ACE_INLINE back to its original setting. All
8324 this nonsense is necessary since the generic template code that
8325 needs to be specialized cannot be inlined, else the compiler
8326 will ignore the specialization code. Also, the specialization
8327 code *must* be inlined or the compiler will ignore the
8330 The creation of this new file is necessary for non-Win32
8331 platforms to continue to inline the code as before.
8333 * ace/Synch_T.cpp: This file must include Atomic_Op.i if
8334 ACE_INLINE has not be turned on. If it is, this file must be
8335 included by Synch_T.h.
8337 * ace/Synch.cpp: Moved the specialization code from Synch.cpp to
8338 Atomic_Op.i. This is necessary, otherwise the compiler will
8339 ignore the specialization.
8341 Sun Aug 03 10:51:34 1997 David L. Levine <levine@cs.wustl.edu>
8343 * ace/config-osf1-4.0*.h: added #define ACE_HAS_LONGLONG_T.
8344 Thanks to Thilo for reporting that OSF1-4.0 does.
8346 Sat Aug 02 23:51:19 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
8348 * ACE version 4.2.28, released Sat Aug 02 23:51:19 1997.
8350 * ace/TTY_IO.cpp (control): Fixed a bug when using 8 bits for
8351 character due to ISTRIP flag setting for device. Thanks to
8352 Arturo Montes <mitosys@colomsat.net.co> for reporting this bug.
8354 * ACE-categories: Updated the list of ACE classes to reflect
8357 * ASNMP: Added the new ACE+SNMP release courtesy of Mike
8358 MacFaden <mrm@cisco.com>. This builds cleanly on Solaris,
8359 but it looks like there are a bunch of non-portable features
8360 that won't compile cleanly on all the other platforms.
8361 Therefore, until Mike or others get this stuff fully portable,
8362 it won't be build by default in the top-level ACE Makefile.
8364 * ace/OS.h (class ACE_U_LongLong): Reformatted this a bit.
8366 * ace/SV_Semaphore_Simple.i: Removed the #include of
8367 SV_Semaphore_Simple.h since it seems unnecessary and is causing
8370 * ace/IOStream_T.h (ACE_IOStream_T): Removed the unneeded ';' at
8371 the end of the ACE_UNIMPLEMENTED_FUNC macros since this was
8372 causing compiler errors.
8374 Sat Aug 02 13:11:22 1997 David L. Levine <levine@cs.wustl.edu>
8376 * ace/Synch.cpp (ACE_Static_Object_Lock::instance): commented
8377 out call to ::atexit () because it causes shutdown problems
8378 on DEC CXX, HP/UX, and AIX. Many thanks to James Johnson
8379 for tenaciously tracking this one down, to Thilo and Steve
8380 for assisting, and to all who reported the problem.
8382 * ace/Log_Msg.cpp (ACE_Log_Msg_Manager::open,close): neutered
8383 on VxWorks, only, so that it will compile.
8385 Fri Aug 1 21:33:18 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
8387 * netsvcs/lib/netsvcs.mak: Added post compilation command that
8388 copies DLL to ace/ directory because netsvcs/main.exe must have
8389 this file in search path.
8391 * ace/Read_Buffer.cpp (ACE_Read_Buffer): Used ACE_OS::fdopen
8392 instead of ::fdopen because it caused compilation error on NT.
8394 Fri Aug 1 17:25:04 1997 Chris Cleeland <cleeland@swarm.cs.wustl.edu>
8396 * include/makeinclude/platform_irix6.4_sgic++.GNU (CCFLAGS): Used
8397 -ptnone and -no_prelink in order to get SGI to compile properly.
8399 * ace/config-irix6.4-sgic++.h (ACE_HAS_EXCEPTIONS): Added
8400 ACE_HAS_EXCEPTIONS to this config.
8402 * ace/IOStream_T.h (ACE_IOStream_T): Wrapped send, recv, send_n,
8403 and recv_n with the ACE_UNIMPLEMENTED_FUNC macro.
8405 Fri Aug 1 17:08:32 1997 Nanbor Wang <nw1@waltz.cs.wustl.edu>
8407 * ace/ace.mak: Put OS.cpp back into the makefile.
8409 * ace/config-win32-common.h: Commented out checking of
8410 ACE_HAS_WINSOCK2 when we are using NT 4.0 and above. The
8411 original check prevented us from using winsock2.
8413 * ace/Thread_Manager.cpp:
8414 * ace/Service_Repository.cpp:
8415 * ace/ReactorEx.cpp:
8419 * ace/Synch.{h,cpp}: Changed the lock held by
8420 ACE_Static_Object_Lock from ACE_Thread_Mutex to
8421 ACE_Recurssive_Thread_Mutex.
8423 * ace/Timer_Heap_T.cpp (ACE_Timer_Heap_T): Something was missing
8426 Fri Aug 1 13:39:13 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
8428 * ace/TTY_IO.cpp (control): Removed the special M_UNIX code for
8429 SCO_OpenServer. Thanks to Arturo Montes
8430 <mitosys@colomsat.net.co> for reporting this.
8432 * ace/Read_Buffer.cpp (ACE_Read_Buffer): Mistakenly used int
8433 rather than ACE_HANDLE for one of the constructors in
8436 * ace/OS.cpp (readv): Fixed a braino that manifests itself on
8437 Chorus because I put the ACE_READV_TYPE in the wrong place.
8438 Thanks to Wei Chiang for reporting this.
8440 Fri Aug 1 14:31:22 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
8442 * tests/Timer_Queue_Test.cpp: removed casts from pointers to ints
8443 (when a act was compared with a number) and instead used a cast
8444 on the integer values. This gets rid of warnings on platforms
8445 where the sizeof a pointer is larger than the sizeof an int.
8447 Fri Aug 01 12:10:28 1997 <irfan@TWOSTEP>
8449 * ace/Synch_T: Changed parameter passing for ACE_Atomic_Op from
8450 const TYPE to const TYPE &.
8452 * ace/Synch.cpp: These specializations have been added to
8453 ACE_Atomic_Op to make the implementation faster on Win32 that
8454 has OS support for doing this quickly through methods like
8455 InterlockedIncrement and InterlockedDecrement.
8457 * ace/SV_Semaphore_Complex.cpp (open): Fixed more compiler
8460 IOStream.cpp Naming_Context.cpp Read_Buffer.cpp
8461 SV_Semaphore_Complex.cpp SV_Semaphore_Complex.i
8463 Fri Aug 1 11:57:45 1997 Chris Cleeland <cleeland@cs.wustl.edu>
8465 * ace/Containers.h (ACE_Fixed_Set): Eliminated declaration for
8466 unnecessary ACE_Fixed_Set(size_t) CTOR.
8468 * ace/OS.h: Simplified the typedef of ACE_hrtime_t so that it's an
8469 unsigned long long whenever ACE_HAS_LONG_LONG_T is defined.
8471 Fri Aug 01 10:12:26 1997 David L. Levine <levine@cs.wustl.edu>
8473 * ace/config-osf1-4.0.h: added ACE_HAS_TEMPLATE_SPECIALIZATION.
8474 Thanks to Thilo for verifying that this is supported with DEC CXX.
8476 * ace/config-irix6.4-sgic++*.h: added ACE_TEMPLATES_REQUIRE_SOURCE
8477 and ACE_REQUIRES_FUNC_DEFINITIONS.
8479 * ace/OS.h,README: added ACE_REQUIRES_FUNC_DEFINITIONS support.
8481 * ace/{Free_List.h,Remote_Tokens.h,Synch_T.h,Timer_*_T.h}:
8482 wrapped unimplemented template class copy constructors and
8483 assignment operators with ACE_UNIMPLEMENTED_FUNC.
8485 * tests/Service_Config_Test.cpp: removed templates to avoid
8486 problems with finicky compilers, and added check of destruction
8489 * include/makeinclude/platform_vxworks5.x_ghs.GNU: added
8490 -no_prelink to LDFLAGS.
8492 Fri Aug 01 00:14:46 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
8494 * ACE version 4.2.27, released Fri Aug 01 00:14:46 1997.
8496 Thu Jul 31 21:51:01 1997 David L. Levine <levine@cs.wustl.edu>
8498 * ace/Log_Msg.cpp (open): fixed memory leak.
8500 Thu Jul 31 21:41:10 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
8502 * tests/Service_Config_Test.cpp (run_test): You won't shout as I...
8504 * ace/Object_Manager.cpp (instance): ... fiddle about ;-)
8506 Thu Jul 31 17:39:56 1997 <irfan@TWOSTEP>
8508 * ace: The following files were modified to avoid the
8509 "unreferenced formal parameter" and other warnings from the
8512 ACE.cpp Asynch_IO.cpp Asynch_IO.h INET_Addr.cpp OS.cpp OS.h OS.i
8513 Proactor.cpp Reactor.cpp ReactorEx.cpp ReactorEx.i
8514 SOCK_Dgram_Bcast.cpp Service_Config.cpp
8516 Thu Jul 31 16:46:44 1997 David L. Levine <levine@cs.wustl.edu>
8518 * ace/config*.h: replaced "ACE_REQUIRES_TEMPLATE_SPECIALIZATION"
8519 with "ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION".
8521 * ace/config-vxworks-ghs-1.8.h,config-irix6.4-sgic++*.h: added
8522 ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA.
8524 * all .cpp files that had "ACE_REQUIRES_TEMPLATE_SPECIALIZATION":
8525 replaced with "ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION" and
8526 added #pragma instantiate for Edision Design Group compilers,
8527 e.g., SGI and Green Hills.
8529 Thu Jul 31 16:25:33 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
8531 * ace/Synch.i (acquire): Added the timed acquire() interface to
8534 Thu Jul 31 11:10:17 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
8536 * tests/run_tests.bat: Redid this file completely making it
8537 much smarter about running tests. Instead of just blindly
8538 executing the tests, it checks the return values to see if
8539 an error occured and also outputs relevant errors from the
8540 log file if the test was unsuccessful.
8542 It's a remarkable example of batch programming wizardry.
8544 Thu Jul 31 10:39:04 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
8546 * ace/INET_Addr.cpp: initialized error variable in
8547 gethostname to stop warnings when inlining is on.
8549 Thu Jul 31 09:46:50 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
8551 * ace/Timer_Heap_T.cpp: changed cancel(id) to check the timer
8552 id to make sure it is in range (not negative and not larger
8553 than the current size of the heap)
8555 Thu Jul 31 07:32:26 1997 David L. Levine <levine@cs.wustl.edu>
8557 * Malloc_T.{i,cpp},Timer_Queue_T.i: replaced LOCK with ACE_LOCK.
8558 Thanks to Thilo for supplying patches.
8560 * ace/config-sunos5.5-g++.h: #define ACE_MALLOC_ALIGN to be 8.
8562 * ace/Object_Manager.*: renamed cleanup () to at_exit ().
8564 * Log_Msg.{h,cpp},Object_Manager.cpp: let ACE_Object_Manager
8565 clean up the global ACE_Log_Msg_Manager.
8567 * Service_Config_Test.cpp: added test of
8568 ACE_Object_Manager::at_exit ().
8570 Wed Jul 30 20:30:25 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
8572 * ace/SOCK_Dgram.h: Added an = 0 to the flags parameter to recv().
8573 Thanks to Michael MacFaden for pointing out the inconsistency.
8575 * ace/OS.cpp (thr_create): Added support for the SCHED_IO policy,
8576 which is supported by MIT Pthreads. Thanks to Arturo Montes
8577 <mitosys@colomsat.net.co> for this fix.
8579 * ace/SOCK_Dgram.h: Added a comment to clarify how to delete the
8580 elements of the iovec array. Thanks to Mike MacFaden for
8583 * ace/Reactor.h: Changed the comment for schedule_timer() to use
8584 delta_timer rather than delay.
8586 * ace/Connector: Updated the timer cancellation id to be long
8589 * examples/Reactor/Misc/notification.cpp: Timers are now working
8590 happily on Chorus, so we can revert the Chorus-specific patches.
8591 Thanks to Wei Chiang for reporting this.
8593 * ace/SOCK_Dgram.cpp (recv): The timed recv() method must return
8594 -1 on a timeout to meet its documented specification. Thanks to
8595 Joseph Cross <joseph.k.cross@lmco.com> for reporting this
8598 * ace/OS.i (readv): Added a fix for Chorus, which has a different
8599 readv() prototype than normal operating systems. Thanks to Wei
8600 Chiang for reporting this.
8602 Wed Jul 30 20:02:21 1997 James C Hu <jxh@lambada.cs.wustl.edu>
8604 * ace/Hash_Map_Manager.{h,cpp}: changed the *_i methods to use
8605 shared_find() method to ease template specialization efforts.
8606 Also, added a new shared_find() method. Added a parameter to
8607 each to allow the passing in of the calculated hash value.
8609 Wed Jul 30 16:43:34 1997 <irfan@TWOSTEP>
8611 * ace/config-win32-common.h: If _DEBUG is not set (that is, we are
8612 building the Release version), we will turn on __ACE_INLINE__.
8613 Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for
8616 Wed Jul 30 06:53:30 1997 Matthias Kerkhoff <make@cs.tu-berlin.de>
8618 * The use of the following configuration #defines in the entire
8619 ACE distribution has been changed:
8631 In previous ACE-versions, code blocks depending on one of these
8632 defines have been guarded by an #if defined(ACE_XXX_OPTION).
8633 Therefore it has been necessary to define the default
8634 configuration unconditionally in config-win32.h.
8636 The #if statements in the source files have been changed to
8638 #if defined(ACE_XXX_OPTION) && (ACE_XXX_OPTION != 0)
8640 while the default configuration in config-win32.h will only be used,
8641 if it has not been overridden from the compilers command line (i.e.) :
8643 #if !defined(ACE_XXX_OPTION)
8644 #define ACE_XXX_OPTION 1
8647 Wed Jul 30 14:46:33 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
8651 * ace/ReactorEx.cpp:
8653 * ace/Service_Repository.cpp:
8654 * ace/Thread_Manager.cpp:
8655 * ace/Synch.{h,cpp}: Changed ACE_Static_Object_Lock::get_lock ()
8656 to instance () to emphasize that it's a singleton.
8658 * ace/Containers.cpp: Fixed the problem caused by
8659 ACE_Unbounded_Stacknotkeeping its size currectly. Thanks for
8660 Matthias Kerkhoff <make@cs.tu-berlin.de> for sending us the
8663 * ace/OS.cpp (exit): Corrected a bug in ACE_TSS_Cleanup::exit ().
8664 It innocently uses default ctor to copy info_arr. And things
8665 get out of hand when info_arr[] gets destructed. Thanks very
8666 much for Matthias Kerkhoff <make@cs.tu-berlin.de> for digging
8667 this out and sending us the patch.
8669 Wed Jul 30 13:36:55 1997 David L. Levine <levine@cs.wustl.edu>
8671 * ace/config-vxworks-ghs-1.8.h: added #ifdef ppc wrapper around
8672 #define of ACE_HAS_POWERPC, because GreenHills #defines that.
8674 * include/makeinclude/platform_vxworks5.x_ghs.GNU: replaced
8675 indlib.o LIBS with newer ghsbltin.o and ghsmath.o.
8677 * ace/OS.h: use the same ACE_UNUSED_ARG definition with ghs as
8678 with other compilers.
8680 * ace/Object_Manager.*: revised interface, but still in flux.
8681 cleanup () should work for process-wide registration, but is
8684 Wed Jul 30 11:13:57 1997 Chris Cleeland <cleeland@cs.wustl.edu>
8686 * ace/config-linux*.h (ACE_HAS_LONGLONG_T): These configs
8687 file incorrectly had ACE_HAS_LONGLONG rather than
8690 * ace/OS.cpp (gethrtime): Added 'volatile' keyword to insure that
8691 the automatic variables 'most' and 'least' don't get put into
8692 registers. Putting this in stopped the SIGSEGV that was occurring
8695 Wed Jul 30 06:53:30 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
8697 * ACE version 4.2.26, released Wed Jul 30 06:53:30 1997.
8699 Wed Jul 30 04:36:39 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
8701 * ace/Containers.{h,cpp}: Added back new parameterized allocation
8702 strategy version. Finally.
8704 * ace/Synch.cpp (atexit): Moved ACE_Allocator here because only
8705 here, we can be sure that no other user defined memory
8706 activities are going on. This is becoming even more
8707 interesting now.... Perhaps we should move all
8708 close_singleton's here?
8710 * ace/Service_Config.cpp (close_singletons): Removed
8711 ACE_Allocator::close_singleton () from this function because we
8712 still need ACE_Allocator to "free" static objects' memory.
8714 * ace/Synch.{h,cpp}: Added a new class ACE_Static_Object_Lock
8715 which provides a lock when instantiating static objects.
8717 * ace/Thread_Manager.cpp: Removed ace_thread_manager_lock_,
8718 * ace/Service_Repository.cpp: Removed ace_service_repository_lock_,
8719 * ace/ReactorEx.cpp: Removed ace_reactorex_lock_,
8720 * ace/Reactor.cpp: Removed ace_reactor_lock_,
8721 * ace/Proactor.cpp: Removed ace_proactor_lock_,
8722 * ace/Malloc.cpp: Removed ace_malloc_lock_,
8723 and replace them with a global single lock
8724 ACE_Static_Object_Lock::get_lock ().
8726 Tue Jul 29 16:25:48 1997 Chris Cleeland <cleeland@cs.wustl.edu>
8728 * ace/OS.cpp (thr_create): Explicitly flagged 'stack' and 'size'
8729 as unused arguments.
8731 * ace/Memory_Pool.cpp (handle_signal): Explicitly flagged siginfo
8732 as an unused argument, and moved the decl of offset into the
8733 conditional block in which it's used.
8735 * ace/OS.i (dlerror): Added explicit cast of the return value to
8736 (char*) because on Linux dlerror() returns const char*, while on
8739 * ace/config-linux-lxpthreads.h: Created new flag
8740 ACE_LACKS_POSIX_PROTO_FOR_SOME_FUNCS that can be used when only
8741 certain functions are missing POSIX prototypes. This eliminates
8742 more warnings with -Wall
8744 * ace/ACE.cpp (max_handles): Added return statement for the
8746 (count_interfaces): Removed unused variables.
8748 Tue Jul 29 15:10:35 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
8750 * ace/OS.i: Changed sema_wait to take in a const ACE_Time_Value
8752 Tue Jul 29 12:41:27 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
8754 * ace/config-sco-5.0.0-mit-pthread.h: Added the
8755 ACE_LACKS_PWD_FUNCTIONS macro. Thanks to Arturo Montes
8756 <mitosys@colomsat.net.co> for reporting this.
8758 Tue Jul 29 13:10:00 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
8760 * ace/Signal.h: Moved inclusion of "Containers.h" to the bottom of
8761 this file so everything is defined properly before use.
8763 Tue Jul 29 12:36:24 1997 <irfan@TWOSTEP>
8765 * tests/Message_Queue_Test.cpp (main): Removed dynamic allocation
8766 of the string array.
8768 Tue Jul 29 12:15:49 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
8772 * ace/ReactorEx.cpp: Changed the default Timer Queue to
8773 Timer Heap instead of Timer List.
8775 Tue Jul 29 07:59:04 1997 David L. Levine <levine@cs.wustl.edu>
8777 * Makefile,TAO/Makefile: change mode of updated ChangeLog-*
8778 file to 644 after updating it, when building a release
8779 with TIMESTAMP enabled.
8781 * ace/OS.cpp (sched_params): added some more initializations
8782 to 0 to avoid Purify warnings about unitialized memory reads.
8784 * ace/Object_Manager.cpp (~ACE_Object_Manager): removed unused
8785 variable "i". Thanks to Amos Shapira <amos@gezernet.co.il>
8788 * ace/Service_Record.{h,i} Parse_Node.{h,cpp} (handle,open_handle):
8789 removed "const" from ACE_SHLIB_HANDLE return value. Thanks
8790 to the several people who noted compiler warnings from this.
8792 * ace/Naming_Context.cpp: added delete of this->name_options_;
8793 (dtor,fini): call this->close ().
8795 * tests/IOStream_Test.cpp (client,server): use ACE_NEW_RETURN
8798 Tue Jul 29 01:53:18 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
8800 * ace/OS.h: Added two new macros ACE_NEW_MALLOC_RETURN and
8801 ACE_NEW_MALLOC. Theses are similiar to ACE_ALLOCATOR_RETURN and
8802 ACE_ALLOCATOR that allow memory allocation using user defined
8803 functions. However, these two macros will call specified
8804 constructor after memory is being allocated.
8806 * ace/Containers.{h,cpp}: Decoupled memory allocation strategy for
8807 ACE_Unbounded_Stack, ACE_Unbounded_Set, ACE_Unbounded_Queue.
8808 Users can now specified their own memory allocation strategies
8809 if needed. If not specified, the default ACE_Allocator will be
8812 Tue Jul 29 00:56:54 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
8814 * ACE version 4.2.25, released Tue Jul 29 00:56:54 1997.
8816 Mon Jul 28 16:23:26 1997 David L. Levine <levine@cs.wustl.edu>
8818 * include/makeinclude/rules.nested.GNU: added missing
8819 semicolon at end of last statement. Thanks to Amos
8820 Shapira <amos@gezernet.co.il> for providing this fix.
8822 * ace/OS.h (VxWorks only): only #include <stdarg.h> before
8823 <vxWorks.h> for GreenHills. Thanks to Dave Moore
8824 <dave.moore@gecm.com> for reporting a problem without this
8825 fix with g++/VxWorks 5.3.1 for PowerPC target.
8826 Also, commented out g++ string.h hack. It no longer appears
8829 * tests/README: added VxWorks 5.3.1 test status.
8831 * tests/SPIPE_Test.cpp (main): fixed #ifdefs so that it compiles.
8833 * ace/OS.i: (strtok_r): replaced NULL with 0. NULL is #defined
8834 as (void *) 0 on VxWorks, so it causes compile warnings.
8835 Thanks to Dave Mayerhoefer <davem@lynx.com> for reporting
8838 * ace/Object_Manager.{h,cpp},Makefile: added this class to
8839 shutdown ACE library services, and reclaim their storage,
8840 at program termination.
8842 * ace/ACE.cpp: added hook to call ACE_Object_Manager destructor
8843 in this file. It's in this file so that it's sure to be
8844 linked in to executables that statically link libACE.a.
8846 * ace/Service_Config.{h,cpp}: (close): delete ACE_STATIC_SVCS
8847 instance, which is now saved in static_svcs_. Also, removed
8848 LM_SHUTDOWN call, because the logger apparently gets shutdown
8849 now with everything else (with ACE_Object_Manager).
8851 * ace/Object_Manager.* (delete_at_exit,delete_array_at_exit):
8852 made these (inline) static functions, with return values.
8854 * tests/IOStream_Test.cpp (client,server): explicitly destroy
8855 (and create) ACE_SOCK_IOStream instances, because they don't
8856 get destroyed on Solaris. They're on the stack of separate
8857 threads, so maybe the problem is related to not cleaning up
8858 TSS on Solaris. Thanks to James CE Johnson <jcej@lads.com>
8859 for some efficient debugging work, and for verifying that the
8860 original code works properly on Linux.
8862 Mon Jul 28 21:59:09 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
8864 * ace/ace.mak: Added file Object_Manager.cpp.
8866 * ace/OS.h: Added #define RTLD_LAZY when
8867 ACE_HAS_SVR4_DYNAMIC_LINKING and RTLD_LAZY is not defined.
8868 FreeBSD 2.2.1 "forgot" to put in this definition. Thanks to
8869 Satoshi Ueno for reporting this.
8871 Mon Jul 28 13:27:21 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
8873 * ace/Object_Manager: Made a few minor stylistic updates.
8875 * netsvcs/servers/main.cpp (main): Updated this test program to
8876 utilize the new ACE_Service_Object_Ptr class.
8878 * ace/Service_Object.h: Added a new smart pointer call
8879 ACE_Service_Object_Ptr, which generalizes functionality that was
8880 previously in the ./netsvcs/server/main.cpp file. Thanks to Wei
8881 Chiang for this suggestion.
8883 * examples/Threads/process_manager.cpp (parse_args): Removed the
8884 unused n_processes global variable. Thanks to Amos Shapira for
8887 * tests/SPIPE_Test.cpp (main): Cleaned up the #ifdef structure
8888 to remove compiler warnings. Thanks to Amos Shapira for
8891 * tests/Handle_Set_Test.cpp (test_performance): Removed an unused
8892 ACE_HANDLE handle definition. Thanks to Amos Shapira for
8895 * ace/OS.i (sema_init): Swapped else and #endif to avoid
8896 a compile error when ACE_LACKS_NAMED_POSIX_SEM is false.
8897 Thanks to Wei Chiang for reporting this.
8899 * ace/OS.cpp (rwlock_init): Added a cast to (const void *) to keep
8900 certain compilers from complaining. Thanks to Thilo and
8901 Amos Shapira for reporting this.
8903 * ace/OS.i (sema_wait): *tv should have been &tv. Thanks to Thilo
8906 Mon Jul 28 13:57:21 1997 James C Hu <jxh@swarm.cs.wustl.edu>
8908 * ace/config-irix6.4-sgic++.h: Added template specialization #def.
8910 Sun Jul 27 20:47:01 1997 David L. Levine <levine@cs.wustl.edu>
8912 * tests/Handle_Set_Test.cpp: Instantiate templates with
8913 ACE_HANDLE instead of int.
8915 * examples/IPC_SAP/SPIPE_SAP/NPServer.cpp (main): use
8916 ACE_OS::fprintf () instead of cerr.
8918 Sun Jul 27 20:10:26 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
8920 * ACE version 4.2.24, released Sun Jul 27 20:10:26 1997.
8922 Sun Jul 27 16:03:30 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
8924 * tests/Handle_Set_Test.cpp (test_boundaries): Changed class of
8925 queue from ACE_Unbounded_Queue<int> to
8926 ACE_Unbounded_Queue<ACE_HANDLE> so it declares the right data
8929 * ace/Synch.cpp (ACE_Process_Mutex):
8930 * ace/OS.cpp (rwlock_init):
8931 * ace/ACE.cpp (unique_name): Memories for placing unique_name are
8932 now declared using ACE_UNIQUE_NAME_LEN. When calling
8933 ACE::unique_name, the length is also specified using
8934 ACE_UNIQUE_NAME_LEN because using "sizeof (buffer)" also caused
8935 problem if we are using UNICODE.
8937 * ace/OS.h: Added a new directive ACE_UNIQUE_NAME_LEN to specified
8938 the maximum length of an "unique name."
8940 Sun Jul 27 15:32:08 1997 David L. Levine <levine@cs.wustl.edu>
8942 * tests/Handle_Set_Test.cpp (main): uncommented
8943 test_duplicates () and test_performance () calls, and added
8944 ACE_Unbounded_Queue_Iterator<int> specialization.
8946 Sun Jul 27 14:25:33 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu>
8948 * tests/Handle_Set_Test.cpp (test_boundaries): Added a better test
8949 to ensure that the ACE_Handle_Set_Iterators are working
8950 correctly. This works by inserting the handles in a queue and
8951 then making sure that they are the same values we receive from
8954 * ace/Handle_Set.i (operator): Fixed a subtle bug in the
8955 ACE_Handle_Set_Iterator implementation. We need to make
8956 sure that we increment the handle_index_ to the beginning
8957 of the next word whenever we've examined all the bits in
8958 the current word. Thanks to David Levine for noticing this
8961 Sun Jul 27 09:06:29 1997 David L. Levine <levine@cs.wustl.edu>
8963 * include/makeinclude/rules.lib.GNU: replaced hard-coded ".so"
8966 * include/makeinclude/rules.local.GNU: added/completed support
8967 for "$(SOEXT)", and "$(VSHDIR)" instead of always hard-coding
8968 them as ".so" and ".shobj/".
8970 * include/makeinclude/wrapper_macros.GNU: added support for
8971 override of "$(VSHDIR)" in platform_macros.GNU.
8973 * apps/JAWS/clients/{Blobby,Caching}/Makefile,
8974 apps/JAWS/stress_testing/Makefile,
8975 apps/Orbix-Examples/Event_Comm/{Consumer,Supplier}/Makefile,
8976 examples/ASX/Event_Server/Event_Server/Makefile,
8977 examples/ASX/UPIPE_Event_Server/Makefile,
8978 examples/Logger/simple-server/Makefile,
8979 examples/Mem_Map/IO-tests/Makefile,
8980 examples/Naming/Makefile,
8981 examples/Reactor/Multicast/Makefile,
8982 examples/Service_Configurator/Misc/Makefile,
8983 examples/Shared_Malloc/Makefile:
8984 replaced hard-coded ".shobj" with "$(VSHDIR)" in LDLIBS definitions.
8986 * include/makeinclude/platform_vxworks5.x_{g++,ghs}.GNU:
8987 added overrides of .so build rules to change them .o builds.
8989 The above changes allow builds of modules that specify .shobj/*.so
8990 on VxWorks, by mapping those objects to .obj/*.o.
8992 Sun Jul 27 03:07:35 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
8994 * ace/ACE.cpp (unique_name): Added __TEXT macro to the format
8995 string in sprintf to avoid a nasty problem when using UNICODE on
8998 Sat Jul 26 21:12:07 1997 David L. Levine <levine@cs.wustl.edu>
9000 * ace/ReactorEx.cpp: added a couple of ACE_UNUSED_ARG's.
9002 * examples/Logger/simple-server/Logging_Handler.cpp (handle_input):
9003 replace use of cerr with stderr (by using default arg of
9004 ACE_Log_Record::print ()).
9006 * examples/Shared_Malloc/test_multiple_mallocs.cpp (main): use
9007 ACE_OS::printf () instead of cout.
9009 * examples/Shared_Malloc/test_persistence.cpp: added #include
9010 of iostream.h with ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION.
9012 Sat Jul 26 15:55:43 1997 <irfan@TWOSTEP>
9014 * ace/Malloc_T.cpp (ACE_Cached_Allocator): Changed (T *) to
9015 (T*). VC++ did not like the former.
9017 * The entire ACE distribution was updated to use the new singleton
9018 methods. The old singleton methods in Service_Config have been
9019 deprecated and users are encouraged not to use these methods
9020 anymore. It may not be supported in future releases. The
9021 replacement is the instance() methods in the individual classes.
9022 For example, ACE_Service_Config::reactor() is replaced by
9023 ACE_Reactor::instance(). A perl script has been added
9024 (ACE_wrappers/bin/Service_Config.perl) to allow users to change
9025 their code over to the new methods.
9027 These changes will hopefully help in reducing the compile-time
9028 dependencies in ACE source files and allow smaller custom ACE
9029 libraries to be compiled.
9031 Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for making
9034 Sat Jul 26 15:44:45 1997 Douglas C. Schmidt <schmidt@mambo.cs.wustl.edu>
9036 * ace/Malloc_T.cpp (ACE_Cached_Allocator): I think we want to
9037 say "sizeof (T)" rather than "sizeof (T *)".
9039 * ace/FILE_IO.i (recv_n): There is a minor bug fix to be made in
9040 FILE_IO.i. The method ACE_FILE_IO::recv_n() should call
9041 ACE::read_n(), not ACE::recv_n(). Similarly, the method
9042 ACE_FILE_IO::send_n() should call ACE::write_n(), not
9043 ACE::send_n(). The functions ::recv() and ::send() are intended
9044 only for *socket* I/O, and return failure conditions when
9045 applied to *file* I/O. Thanks to David Brackman
9046 <dbrackman@OhioEE.com> for reporting this.
9048 * ace: Changed all LOCK names to ACE_LOCK to avoid clashes
9049 with macros in the KAI C++ compiler. Thanks to Jeff
9050 R. Hayes <Jeff.Hayes@osi.com> for pointing this out.
9052 * ace/Malloc_T.i: Added ACE_INLINE to some methods that weren't
9055 * ace/OS.i: Added an implementation of timed semaphores for the
9056 POSIX threading APIs. Also cleaned up the return values from
9057 sema_wait() so that it always returns -1 if an error occurs
9058 (originally, it was returning -2, which is confusing). Also
9059 cleaned up the rd_lock() and wr_lock() methods in the same way.
9061 Sat Jul 26 16:00:05 1997 David L. Levine <levine@cs.wustl.edu>
9063 * Malloc_T.cpp (ACE_Cached_Allocator): fixed typo, sizeof (T*)
9064 instead of sizeof (*T).
9066 * Proactor.cpp (instance): fixed signature in non-WIN32
9067 version. (run_event_loop): added ACE_UNUSED_ARG (tv).
9069 Fri Jul 25 12:08:47 1997 David L. Levine <levine@cs.wustl.edu>
9071 * ace/OS.[hi]: finished VxWorks (non-POSIX) semaphore implementation.
9073 * ace/Process.cpp (spawn): with GreenHills compiler only (for
9074 VxWorks), call ACE_NOTSUP_RETURN instead of spawning via execve.
9075 GreenHills 1.8.8 loses its lunch on the ACE_OS::execve () call.
9076 Thanks to Dave Mayerhoefer <davem@lynx.com> for reporting
9079 * tests/Mem_Map_Test.cpp (create_test_file): delete array "mybuf"
9080 to prevent memory leak.
9082 * tests/Message_Queue_Test.cpp (main): delete "buffer"
9083 elements at end of test to prevent memory leaks.
9085 * performance-tests/Misc/context_switch_time.cpp: use
9086 ACE_Sched_Params for platform-independent thread priority
9087 assignment. Also, modified Yield_Test so that only one thread
9088 writes the test's timer.
9090 * examples/ASX/UPIPE_Event_Server/Peer_Router.cpp (svc):
9091 replaced an iostream printout with an ACE_DEBUG call.
9093 * examples/ASX/UPIPE_Event_Server/event_server.cpp: added
9094 #include of iostream.h with ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION.
9096 * examples/IPC_SAP/FILE_SAP/client.cpp: require 2 args instead
9097 of 1; mask file mode with 0777 (octal); and use
9098 ACE_OS::printf () instead of cout.
9100 Fri Jul 25 00:46:22 1997 <irfan@TWOSTEP>
9102 * ace/Synch: Added documentation for Condition variables. Thanks
9103 to Jeff <jmg@trivida.com> for pointing out the lack of
9106 Thu Jul 24 11:48:05 1997 David L. Levine <levine@cs.wustl.edu>
9108 * Makefile,TAO/Makefile: added a filter to exclude backup and
9109 [.]#* files from releases. Thanks to Carlos O'Ryan
9110 <coryan@mat.puc.cl> for reporting this problem.
9112 * include/makeinclude/platform_*.GNU: inserted CVS/RCS
9115 * performance-tests/Misc/basic_perf.cpp (per_iteration):
9116 added support for ACE_U_LongLong.
9118 * performance-tests/Misc/childbirth_time.cpp:
9119 (prof_fork,prof_native_thread): added ACE_UNUSED_ARGs
9120 for unsupported platforms. (prof_ace_os_thread): added
9121 (ACE_THR_FUNC) cast of first arg to ACE_OS::thr_create () call.
9123 * performance-tests/Misc/test_naming.cpp (find): replaced cerr
9124 statement with an ACE_DEBUG.
9126 * examples/Misc/test_read_buffer.cpp: replaced bare OS calls
9129 Thu Jul 24 11:35:37 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
9131 * ace/Timer_Heap_T.cpp: Fixed a problem with reschedule()
9132 corrupting the free list in Timer Heap. Thanks to
9133 James Crawford <jamesc@in.ot.com.au>, Silvano Peruzzi
9134 <silvanop@in.ot.com.au>, and Stuart Powell <stuartp@in.ot.com.au>
9137 Wed Jul 23 23:29:15 1997 <irfan@TWOSTEP>
9139 * ace/Message_Block.cpp (size): Changed the comparison from
9140 (length < this->max_size_) to (length <= this->max_size_).
9141 Thanks to Paul <proman@npac.syr.edu> for suggesting this change.
9143 Wed Jul 23 21:54:23 1997 David L. Levine <levine@cs.wustl.edu>
9145 * examples/Shared_Malloc/test_malloc.cpp (spawn): cast argv
9146 argument to (char *const *) for call to ACE_OS::execv ().
9148 Wed Jul 23 16:40:39 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
9150 * ace/ACE.cpp (get_ip_interfaces): ACE'ified codes for NT. UNIX
9151 part will come later.
9153 * ace/Malloc_T.cpp (ACE_Cached_Allocator): Changed to use raw
9154 memory allocation method for memory pool.
9156 * ace/OS.h (ACE_TEXT_STRING): Added this #define macro to switch
9157 between ACE_WString and ACE_CString according to the usage of
9160 Wed Jul 23 14:43:11 1997 David L. Levine <levine@cs.wustl.edu>
9162 * tests/Timer_Queue_Test.cpp(main): delete timer_id array at
9163 the end of the test to avoid a memory leak.
9165 Wed Jul 23 13:40:39 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
9167 * ace/Process.cpp (ACE_Tokenizer::next): Moved checking of string
9168 termination after checking delimiter and preserve_designator so
9169 that we can use this class to tokenize multiple null terminated
9170 strings cascaded together (using \0 as delimitor.) Notice tne
9171 combined strings must be terminated with two null chars. I need
9172 to use this class in ACE::get_ip_interfaces.
9174 * ace/Malloc_T.{h,i}: Changed the implementation of
9175 ACE_Cached_Mem_Pool_Node from using union to a plain pointer.
9176 This is because some C++ compilers don't allow union member to
9177 have copy constructor. Thanks to Tim to dig this out.
9179 Wed Jul 23 12:58:04 1997 Steve Huston <shuston@riverace.com>
9181 * ace/CORBA_Ref.cpp: Added #include "ace/Log_Msg.h" to catch the