summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog-97a12924
-rw-r--r--ChangeLog-97b654
-rw-r--r--ChangeLog-99b31
-rw-r--r--TAO/ChangeLog-99c8
-rw-r--r--TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp51
-rw-r--r--TAO/performance-tests/Cubit/TAO/IDL_Cubit/server.cpp11
-rw-r--r--ace/ACE.cpp84
-rw-r--r--ace/ARGV.cpp6
-rw-r--r--ace/Asynch_Acceptor.cpp4
-rw-r--r--ace/CDR_Stream.cpp8
-rw-r--r--ace/CORBA_Handler.cpp4
-rw-r--r--ace/Containers_T.cpp10
-rw-r--r--ace/DEV_IO.cpp8
-rw-r--r--ace/Dump.cpp4
-rw-r--r--ace/FILE_IO.cpp8
-rw-r--r--ace/Filecache.cpp4
-rw-r--r--ace/Future.cpp6
-rw-r--r--ace/IOStream.cpp8
-rw-r--r--ace/Local_Name_Space_T.cpp8
-rw-r--r--ace/Local_Tokens.cpp38
-rw-r--r--ace/Log_Msg.cpp13
-rw-r--r--ace/Module.cpp20
-rw-r--r--ace/OS.cpp41
-rw-r--r--ace/OS.h3
-rw-r--r--ace/Object_Manager.cpp126
-rw-r--r--ace/POSIX_Proactor.cpp22
-rw-r--r--ace/Priority_Reactor.cpp56
-rw-r--r--ace/Proactor.cpp15
-rw-r--r--ace/Process.cpp9
-rw-r--r--ace/Process_Manager.cpp4
-rw-r--r--ace/RB_Tree.cpp1003
-rw-r--r--ace/Reactor.cpp16
-rw-r--r--ace/Remote_Tokens.cpp4
-rw-r--r--ace/SOCK_Dgram.cpp8
-rw-r--r--ace/SOCK_IO.cpp8
-rw-r--r--ace/SPIPE_Stream.cpp8
-rw-r--r--ace/SString.cpp4
-rw-r--r--ace/Service_Config.cpp16
-rw-r--r--ace/Signal.cpp22
-rw-r--r--ace/Singleton.cpp20
-rw-r--r--ace/Strategies_T.cpp19
-rw-r--r--ace/Stream.cpp31
-rw-r--r--ace/Synch_T.cpp16
-rw-r--r--ace/System_Time.cpp3
-rw-r--r--ace/TLI.cpp3
-rw-r--r--ace/Task_T.cpp3
-rw-r--r--ace/Thread_Manager.cpp33
-rw-r--r--ace/Timer_Hash_T.cpp152
-rw-r--r--ace/Timer_Heap_T.cpp20
-rw-r--r--ace/Timer_List_T.cpp4
-rw-r--r--ace/Timer_Wheel_T.cpp153
-rw-r--r--ace/Token_Invariants.cpp15
-rw-r--r--ace/Token_Manager.cpp5
-rw-r--r--ace/UPIPE_Stream.cpp5
-rw-r--r--ace/WFMO_Reactor.cpp8
-rw-r--r--tests/Future_Set_Test.cpp4
56 files changed, 7916 insertions, 7855 deletions
diff --git a/ChangeLog-97a b/ChangeLog-97a
index 0563ae1c093..d8a4de991ba 100644
--- a/ChangeLog-97a
+++ b/ChangeLog-97a
@@ -1,2763 +1,2763 @@
Thu Jul 3 20:36:19 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
- * performance-tests/Misc/childbirth_time.cpp: Changed the
- parameter type of "Profiler" from int to size_t to make g++
- happy.
+ * performance-tests/Misc/childbirth_time.cpp: Changed the
+ parameter type of "Profiler" from int to size_t to make g++
+ happy.
Thu Jul 03 20:03:18 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Reactor.cpp (remove_handler): added ACE_UNUSED_ARG
- when NSIG != 0.
+ * ace/Reactor.cpp (remove_handler): added ACE_UNUSED_ARG
+ when NSIG != 0.
Wed Jul 2 23:41:43 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
- * performance-tests/Misc/childbirth_time.cpp: Fixed some typos.
+ * performance-tests/Misc/childbirth_time.cpp: Fixed some typos.
Wed Jul 2 23:13:10 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * performance-tests/Misc/childbirth_time.cpp: Revised the
- code to use ACE programming style.
+ * performance-tests/Misc/childbirth_time.cpp: Revised the
+ code to use ACE programming style.
Wed Jul 02 23:02:24 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
- * ACE version 4.2.15, released Wed Jul 02 23:02:24 1997.
+ * ACE version 4.2.15, released Wed Jul 02 23:02:24 1997.
Wed Jul 2 22:23:49 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Service_Config.cpp: Used the new ACE_LACKS_UNIX_SIGNALS
- macro to reduce the #ifdef complexity somewhat.
+ * ace/Service_Config.cpp: Used the new ACE_LACKS_UNIX_SIGNALS
+ macro to reduce the #ifdef complexity somewhat.
- * ace/config-{chorus,win32-common}.h: Added #define for
- ACE_LACKS_UNIX_SIGNALS.
+ * ace/config-{chorus,win32-common}.h: Added #define for
+ ACE_LACKS_UNIX_SIGNALS.
- * ace/OS.h: If a platform (e.g., Chorus) doesn't support signals
- then #define NSIG 0.
+ * ace/OS.h: If a platform (e.g., Chorus) doesn't support signals
+ then #define NSIG 0.
- * ace/Reactor.cpp: Chorus does not support signals. Make the call
- to register/remove_handler(sig_set, evnet_handler) return
- succesfully so that some of the examples and test programs do
- not need to be changed. Thanks to Wei Chiang for this.
+ * ace/Reactor.cpp: Chorus does not support signals. Make the call
+ to register/remove_handler(sig_set, evnet_handler) return
+ succesfully so that some of the examples and test programs do
+ not need to be changed. Thanks to Wei Chiang for this.
- * ace/config-chorus.h: Added a new macro for
- ACE_LACKS_NAMED_POSIX_SEM to handle Chorus. Thanks to Wei
- Chiang for this.
+ * ace/config-chorus.h: Added a new macro for
+ ACE_LACKS_NAMED_POSIX_SEM to handle Chorus. Thanks to Wei
+ Chiang for this.
- * ace/OS.i: Define macros ACE_PTHREAD_CLEANUP_* so that the
- related code does not need to be surrounded with #ifdefs.
- Thanks to Wei Chiang for this.
+ * ace/OS.i: Define macros ACE_PTHREAD_CLEANUP_* so that the
+ related code does not need to be surrounded with #ifdefs.
+ Thanks to Wei Chiang for this.
- * ace/OS.i: Chorus does not support named semaphores. The code
- that to do with names in sema_init() and sema_destory() is
- therefore disabled. Thanks to Wei Chiang for this.
+ * ace/OS.i: Chorus does not support named semaphores. The code
+ that to do with names in sema_init() and sema_destory() is
+ therefore disabled. Thanks to Wei Chiang for this.
- * ace/config-chorus.h: Added support for ACE_LACKS_PTHREAD_CLEANUP
- and ACE_HAS_POSIX_SEM to the Chorus port. Thanks to Wei Chiang
- for this.
+ * ace/config-chorus.h: Added support for ACE_LACKS_PTHREAD_CLEANUP
+ and ACE_HAS_POSIX_SEM to the Chorus port. Thanks to Wei Chiang
+ for this.
Wed Jul 2 17:37:09 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/Hash_Map_Manager.cpp: Clarified the behavior of close_i() a
- bit more.
+ * ace/Hash_Map_Manager.cpp: Clarified the behavior of close_i() a
+ bit more.
Wed Jul 2 09:54:36 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Hash_Map_Manager.cpp: Fixed a couple more size_t->u_long
- conversions for ACE_Hash_Map_Manager::hash(). This didn't harm
- anything but it's good to be consistent.
+ * ace/Hash_Map_Manager.cpp: Fixed a couple more size_t->u_long
+ conversions for ACE_Hash_Map_Manager::hash(). This didn't harm
+ anything but it's good to be consistent.
Wed Jul 2 16:46:59 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
- * performance-tests/Misc/childbirth_time.cpp: Added this program
- to measure child process/thread creation mechanisms on various
- platforms. Native thread creation test only supports Solaris
- and NT threads so far. But you can still use ACE_OS::thr_create
- method on your platform if not supported.
+ * performance-tests/Misc/childbirth_time.cpp: Added this program
+ to measure child process/thread creation mechanisms on various
+ platforms. Native thread creation test only supports Solaris
+ and NT threads so far. But you can still use ACE_OS::thr_create
+ method on your platform if not supported.
Wed Jul 2 15:59:53 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
- * ace/High_Res_Timer.cpp: Created a function get_registry_scale_factor
- that finds out the speed of the processor using the NT registry (in
- megahertz). This means that ACE_High_Res_Timers should automatically
- get the correct scale factor.
+ * ace/High_Res_Timer.cpp: Created a function get_registry_scale_factor
+ that finds out the speed of the processor using the NT registry (in
+ megahertz). This means that ACE_High_Res_Timers should automatically
+ get the correct scale factor.
- * tests/Timer_Queue_Test.cpp: Removed the call to
- get_env_global_scale_factor().
+ * tests/Timer_Queue_Test.cpp: Removed the call to
+ get_env_global_scale_factor().
Wed Jul 2 15:39:33 1997 Tim H. Harrison <harrison@waltz.cs.wustl.edu>
- * ace/Process.cpp: Modified spawn to check for the NO_EXEC
- flag after forking on UNIX. If it's set, spawn returns the
- child pid without exec'ing. Updated the NT version to
- always return the child pid on success.
+ * ace/Process.cpp: Modified spawn to check for the NO_EXEC
+ flag after forking on UNIX. If it's set, spawn returns the
+ child pid without exec'ing. Updated the NT version to
+ always return the child pid on success.
Wed Jul 02 10:55:23 1997 David L. Levine <levine@cs.wustl.edu>
- * tests/SPIPE_Test.cpp,UPIPE_SAP_Test.cpp: tweaked the static
- functions a bit to avoid warnings about unused statics on VxWorks.
+ * tests/SPIPE_Test.cpp,UPIPE_SAP_Test.cpp: tweaked the static
+ functions a bit to avoid warnings about unused statics on VxWorks.
Wed Jul 02 00:16:07 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
- * ACE version 4.2.14, released Wed Jul 02 00:16:07 1997.
+ * ACE version 4.2.14, released Wed Jul 02 00:16:07 1997.
Tue Jul 1 22:49:58 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/Strategies_T.h: Changed the return value of all the hash()
- methods to be u_long.
+ * ace/Strategies_T.h: Changed the return value of all the hash()
+ methods to be u_long.
- * tests/Map_Manager_Test.cpp (hash): Changed the return value of
- all the hash() methods to be u_long.
+ * tests/Map_Manager_Test.cpp (hash): Changed the return value of
+ all the hash() methods to be u_long.
- * ace/SString.cpp: Changed the return value of all the hash()
- methods to be u_long.
+ * ace/SString.cpp: Changed the return value of all the hash()
+ methods to be u_long.
- * ace/Hash_Map_Manager: Changed the return value of hash()
- to return a u_long in order to (1) be consistent with
- the return value of hash_pjw() and (2) give the maximal
- range for the hash function. Thanks to Marina Spivak
- <marina@cs.wustl.edu> for reporting this.
+ * ace/Hash_Map_Manager: Changed the return value of hash()
+ to return a u_long in order to (1) be consistent with
+ the return value of hash_pjw() and (2) give the maximal
+ range for the hash function. Thanks to Marina Spivak
+ <marina@cs.wustl.edu> for reporting this.
Tue Jul 01 14:47:22 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/High_Res_Timer.{h,i} (gettime): use gettime () static function
- to wrap all calls to ACE_OS::gethrtime (). On ACE_WIN32, if the
- global scale factor has not been set, then gettime () uses
- ACE_OS::gettimeofday () instead of ACE_OS::gethrtime (), because
- gettimeofday doesn't need the scale factor.
+ * ace/High_Res_Timer.{h,i} (gettime): use gettime () static function
+ to wrap all calls to ACE_OS::gethrtime (). On ACE_WIN32, if the
+ global scale factor has not been set, then gettime () uses
+ ACE_OS::gettimeofday () instead of ACE_OS::gethrtime (), because
+ gettimeofday doesn't need the scale factor.
Mon Jun 30 17:28:53 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * Makefile (RELEASE_FILES): Removed the rpc++ directory from the
- main release since this doesn't seem to be widely used and the
- GPL copyleft confuses people.
+ * Makefile (RELEASE_FILES): Removed the rpc++ directory from the
+ main release since this doesn't seem to be widely used and the
+ GPL copyleft confuses people.
Mon Jun 30 15:08:04 1997 David L. Levine <levine@cs.wustl.edu>
- * include/makeinclude/platform_vxworks5.x_g++.GNU: added -lgcc
- to LDFLAGS.
+ * include/makeinclude/platform_vxworks5.x_g++.GNU: added -lgcc
+ to LDFLAGS.
Mon Jun 30 12:00:02 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
- * ACE version 4.2.13, released Mon Jun 30 12:00:02 1997.
+ * ACE version 4.2.13, released Mon Jun 30 12:00:02 1997.
Sat Jun 28 08:27:27 1997 David L. Levine <levine@cs.wustl.edu>
* ace/OS.h: added definitions of ACE_SHLIB_HANDLE and
- ACE_DEFAULT_SHLIB_MODE on platforms other than
- ACE_HAS_SVR4_DYNAMIC_LINKING and hpux.
+ ACE_DEFAULT_SHLIB_MODE on platforms other than
+ ACE_HAS_SVR4_DYNAMIC_LINKING and hpux.
- * ace/OS.i: split definitions of ACE_OS::cond_* member
- functions into two: for ACE_WIN32/VXWORKS and all others.
- That allows us to break the circular dependencies between
- those functions and the ACE_OS::sema_* member functions.
+ * ace/OS.i: split definitions of ACE_OS::cond_* member
+ functions into two: for ACE_WIN32/VXWORKS and all others.
+ That allows us to break the circular dependencies between
+ those functions and the ACE_OS::sema_* member functions.
- * ace/Svc_Conf_y.cpp: commented out unused args and wrapped
- assignments in "if" conditionals with parenthesis to avoid
- g++ warnings.
+ * ace/Svc_Conf_y.cpp: commented out unused args and wrapped
+ assignments in "if" conditionals with parenthesis to avoid
+ g++ warnings.
- * ace/{ACE,INET_Addr,OS}.cpp (VxWorks only): added ACE_UNUSED_ARG
- calls.
+ * ace/{ACE,INET_Addr,OS}.cpp (VxWorks only): added ACE_UNUSED_ARG
+ calls.
- * ace/Parse_Node.cpp (ACE_Stream_Node,ACE_Dynamic_Node,ACE_Dummy_Node
- constructors): reordered initializers to match declaration order.
+ * ace/Parse_Node.cpp (ACE_Stream_Node,ACE_Dynamic_Node,ACE_Dummy_Node
+ constructors): reordered initializers to match declaration order.
- * ace/Profile_Timer.h (elapsed_time): commented out unused arg "et".
+ * ace/Profile_Timer.h (elapsed_time): commented out unused arg "et".
- * ace/Read_Buffer.cpp (rec_read): initialized local variable "c" to
- make sure that it is always defined before use.
+ * ace/Read_Buffer.cpp (rec_read): initialized local variable "c" to
+ make sure that it is always defined before use.
- * ace/SPIPE_Acceptor.cpp (remove): don't declare local variable
- "result" if ! ACE_HAS_STREAM_PIPES, because it's not used in
- that case.
+ * ace/SPIPE_Acceptor.cpp (remove): don't declare local variable
+ "result" if ! ACE_HAS_STREAM_PIPES, because it's not used in
+ that case.
- * ace/config-vxworks5.x-g++.h: added ACE_LACKS_IOSTREAM_FX,
- ACE_LACKS_LINEBUFFERED_STREAMBUF, and ACE_LACKS_SIGNED_CHAR.
+ * ace/config-vxworks5.x-g++.h: added ACE_LACKS_IOSTREAM_FX,
+ ACE_LACKS_LINEBUFFERED_STREAMBUF, and ACE_LACKS_SIGNED_CHAR.
- * ace/IOStream_T.h (ipfx): comment out unused variable "need".
+ * ace/IOStream_T.h (ipfx): comment out unused variable "need".
- * platform_vxworks5.2_g++.GNU: added -Wall now that the ACE library
- builds cleanly with it.
+ * platform_vxworks5.2_g++.GNU: added -Wall now that the ACE library
+ builds cleanly with it.
- * platform_vxworks5.x_g{++,hs}.GNU: renamed 5.x instead of 5.2.
+ * platform_vxworks5.x_g{++,hs}.GNU: renamed 5.x instead of 5.2.
- * netsvcs/lib/Token_Handler.cpp: reordered initializers to match
- declaration order.
+ * netsvcs/lib/Token_Handler.cpp: reordered initializers to match
+ declaration order.
- * tests/SV_Shared_Memory_Test.cpp: moved template specializations
- so that they're not done on platforms that don't support SV IPC.
+ * tests/SV_Shared_Memory_Test.cpp: moved template specializations
+ so that they're not done on platforms that don't support SV IPC.
- * examples/IOStream/client/iostream_client.cpp,
- examples/IOStream/server/iostream_server.cpp:
- use ACE_HAS_STRING_CLASS rather than __GNUC__ to determine whether
- the platform has a String class.
+ * examples/IOStream/client/iostream_client.cpp,
+ examples/IOStream/server/iostream_server.cpp:
+ use ACE_HAS_STRING_CLASS rather than __GNUC__ to determine whether
+ the platform has a String class.
Fri Jun 27 13:10:46 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu>
- * ace: Changed the name of config-vxworks5.2-g++.h to
- config-vxworks5.x-g++.h since it works with 5.2 and 5.3.
+ * ace: Changed the name of config-vxworks5.2-g++.h to
+ config-vxworks5.x-g++.h since it works with 5.2 and 5.3.
- * examples/Mem_Map/IO-tests/IO_Test.cpp: Fixed some bugs that were
- preventing this from running correctly.
+ * examples/Mem_Map/IO-tests/IO_Test.cpp: Fixed some bugs that were
+ preventing this from running correctly.
Fri Jun 27 13:37:37 1997 Steve Huston <shuston@riverace.com>
- * ace/Svc_Conf.y: Finished the sanity checks started below.
+ * ace/Svc_Conf.y: Finished the sanity checks started below.
Fri Jun 27 11:55:13 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
- * ace/Timer_Queue_T.cpp: added a check for an empty queue in expire
+ * ace/Timer_Queue_T.cpp: added a check for an empty queue in expire
Fri Jun 27 07:53:58 1997 David L. Levine <levine@cs.wustl.edu>
- * tests/Message_Queue_Notifications_Test.cpp (handle_output,
- handle_exception,main): added ACE_UNUSED_ARG (fd) to avoid
- compilation warnings about unused arguments.
+ * tests/Message_Queue_Notifications_Test.cpp (handle_output,
+ handle_exception,main): added ACE_UNUSED_ARG (fd) to avoid
+ compilation warnings about unused arguments.
Fri Jun 27 01:08:54 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Connector.cpp (create_AST): Replaced the gratuitous #ifdef
- for ACE_WIN32 and EXCEPT_MASK with the new CONNECT_MASK. This
- is much cleaner!
+ * ace/Connector.cpp (create_AST): Replaced the gratuitous #ifdef
+ for ACE_WIN32 and EXCEPT_MASK with the new CONNECT_MASK. This
+ is much cleaner!
- * ace/Event_Handler.h: Added a new CONNECT_MASK that defaults to
- READ_MASK | WRITE_MASK (with | EXCEPT_MASK thrown in for Win32).
- Thanks to Irfan for this suggestion.
+ * ace/Event_Handler.h: Added a new CONNECT_MASK that defaults to
+ READ_MASK | WRITE_MASK (with | EXCEPT_MASK thrown in for Win32).
+ Thanks to Irfan for this suggestion.
Thu Jun 26 19:53:11 1997 Nanbor Wang <nw1@lambada.cs.wustl.edu>
- * ace/OS.i (strtok_r): Added check on a null string so we won't go
- past the end of a string.
+ * ace/OS.i (strtok_r): Added check on a null string so we won't go
+ past the end of a string.
- * performance-tests/Misc/context_switch_time.cpp (main): Added
- get_env_gloval_scale_factor() at the very beginning so that high
- resolution timer can return correct time in millisecond.
+ * performance-tests/Misc/context_switch_time.cpp (main): Added
+ get_env_gloval_scale_factor() at the very beginning so that high
+ resolution timer can return correct time in millisecond.
Thu Jun 26 15:29:55 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
- * tests/Timer_Queue_Test.cpp: Changed the random scheduling to use
- past times instead of future time. This should fix some unusual
- behavior of this test. Thanks to Gonzalo A. Diethelm
- <gonzo@ing.puc.cl> for reporting this.
+ * tests/Timer_Queue_Test.cpp: Changed the random scheduling to use
+ past times instead of future time. This should fix some unusual
+ behavior of this test. Thanks to Gonzalo A. Diethelm
+ <gonzo@ing.puc.cl> for reporting this.
Thu Jun 26 12:38:16 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
- * ACE version 4.2.12, released Thu Jun 26 12:38:16 1997.
+ * ACE version 4.2.12, released Thu Jun 26 12:38:16 1997.
Thu Jun 26 01:11:10 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Svc_Conf.y: Added some sanity checks to make sure we don't
- segfault when things go wrong during the svc.conf file parsing.
- Thanks to Steve Huston for this suggestion.
+ * ace/Svc_Conf.y: Added some sanity checks to make sure we don't
+ segfault when things go wrong during the svc.conf file parsing.
+ Thanks to Steve Huston for this suggestion.
Thu Jun 26 08:36:37 1997 David L. Levine <levine@cs.wustl.edu>
- * Makefile: fix UPTODATE check (for release target) by not
- running it in a sub-shell. Also, added ACE-lessons.html
- to RELEASE_FILES.
+ * Makefile: fix UPTODATE check (for release target) by not
+ running it in a sub-shell. Also, added ACE-lessons.html
+ to RELEASE_FILES.
- * performance-tests/Misc/context_switch_time.cpp: use same priority
- values on Win32 platforms as on Solaris, because thread priority
- increases with increasing priority values on both of those platforms.
+ * performance-tests/Misc/context_switch_time.cpp: use same priority
+ values on Win32 platforms as on Solaris, because thread priority
+ increases with increasing priority values on both of those platforms.
Thu Jun 26 01:34:46 1997 Nanbor Wang <nw1@lambada.cs.wustl.edu>
- * performance-tests/Misc/misc.{mak,mdp}: Added makefile for NT.
-
- * ace/{FILE,DEV}.{h,i}: Added the disable(int signum) function to
- prevent NT from disabling a FILE/DEV using socket calls.
+ * performance-tests/Misc/misc.{mak,mdp}: Added makefile for NT.
+
+ * ace/{FILE,DEV}.{h,i}: Added the disable(int signum) function to
+ prevent NT from disabling a FILE/DEV using socket calls.
Wed Jun 25 12:59:00 1997 <irfan@TWOSTEP>
- * ace/Synch_T.h (ACE_SYNCH_PROCESS_MUTEX and
- ACE_SYNCH_NULL_MUTEX): Added new template typedef to the list.
+ * ace/Synch_T.h (ACE_SYNCH_PROCESS_MUTEX and
+ ACE_SYNCH_NULL_MUTEX): Added new template typedef to the list.
- * tests/Message_Queue_Notifications_Test.cpp: New test for
- demonstrating notification qualities of Message_Queue.
+ * tests/Message_Queue_Notifications_Test.cpp: New test for
+ demonstrating notification qualities of Message_Queue.
- * ace/Strategies.h: Added accessors to these classes to make them
- more usable.
+ * ace/Strategies.h: Added accessors to these classes to make them
+ more usable.
Wed Jun 25 10:47:34 1997 Steve Huston <shuston@riverace.com>
- * ace/Parse_Node.cpp: Insure that ACE_Object_Node::symbol(void)
- returns 0 if the underlying shared library can't be loaded.
+ * ace/Parse_Node.cpp: Insure that ACE_Object_Node::symbol(void)
+ returns 0 if the underlying shared library can't be loaded.
- * ace/OS.h: Added a new type, ACE_SHLIB_HANDLE to allow dynamic
- linking using correct types on all platforms that support it.
- Also added a const ACE_SHLIB_DEFAULT_MODE for the 'mode' argument
- when doing a dlopen-like operation.
- Moved the ACE_OSCALL_* macros to this file from OS.i
+ * ace/OS.h: Added a new type, ACE_SHLIB_HANDLE to allow dynamic
+ linking using correct types on all platforms that support it.
+ Also added a const ACE_SHLIB_DEFAULT_MODE for the 'mode' argument
+ when doing a dlopen-like operation.
+ Moved the ACE_OSCALL_* macros to this file from OS.i
- * ace/OS.i: Moved ACE_OSCALL_* macros out of here and into OS.h.
- Added support for dlopen/close/sym/error on HP-UX. Note - the
- Service_Configurator tests do not run yet on HP - I'm working on
- that.
+ * ace/OS.i: Moved ACE_OSCALL_* macros out of here and into OS.h.
+ Added support for dlopen/close/sym/error on HP-UX. Note - the
+ Service_Configurator tests do not run yet on HP - I'm working on
+ that.
- * ace/Service_Record.{h, i, cpp}: Use new ACE_SHLIB_HANDLE type for
- dynamic loading operations.
+ * ace/Service_Record.{h, i, cpp}: Use new ACE_SHLIB_HANDLE type for
+ dynamic loading operations.
- * ace/Parse_Node.{h, cpp}: Use new ACE_SHLIB_HANDLE where appropriate.
+ * ace/Parse_Node.{h, cpp}: Use new ACE_SHLIB_HANDLE where appropriate.
- * ace/Strategies_T.cpp: Use new ACE_SHLIB_HANDLE type.
+ * ace/Strategies_T.cpp: Use new ACE_SHLIB_HANDLE type.
Wed Jun 25 02:36:05 1997 Nanbor Wang <nw1@lambada.cs.wustl.edu>
- * ace/OS.i (gmtime_r): Modified the implementation of gmtime_r
- when OS doesn't provide one. Notice that the implementation
- only simulate the semantic and is not thread-safe.
+ * ace/OS.i (gmtime_r): Modified the implementation of gmtime_r
+ when OS doesn't provide one. Notice that the implementation
+ only simulate the semantic and is not thread-safe.
- * ace/OS.h: Moved definition of ACE_SHLIB_HANDLE typedef and
- ACE_DEFAULT_SHLIB_MODE global variable for Win32 to where it
- belongs.
-
- * ace/OS.i: Changed the return type of dlopen() when ACE_HAS_UNICODE to
- ACE_SHLIB_HANDLE.
-
- * ace/OS.{h,i}: Moved ACE_OSCALL and ACE_OSCALL_RETURN for WIN32
- from OS.i to OS.h.
+ * ace/OS.h: Moved definition of ACE_SHLIB_HANDLE typedef and
+ ACE_DEFAULT_SHLIB_MODE global variable for Win32 to where it
+ belongs.
+
+ * ace/OS.i: Changed the return type of dlopen() when ACE_HAS_UNICODE to
+ ACE_SHLIB_HANDLE.
+
+ * ace/OS.{h,i}: Moved ACE_OSCALL and ACE_OSCALL_RETURN for WIN32
+ from OS.i to OS.h.
Wed Jun 25 01:23:58 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu>
- * ace/OS.i (strtok_r): Modified the implementation when OS does
- not provide reentrant strtok_r so that our imp. comforms with
- the semantic of strtok_r ().
+ * ace/OS.i (strtok_r): Modified the implementation when OS does
+ not provide reentrant strtok_r so that our imp. comforms with
+ the semantic of strtok_r ().
Wed Jun 25 00:37:56 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
- * ACE version 4.2.11, released Wed Jun 25 00:37:56 1997.
+ * ACE version 4.2.11, released Wed Jun 25 00:37:56 1997.
Tue Jun 24 21:30:53 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Svc_Conf_y.cpp: commented out unused args and wrapped
- assignments in "if" conditionals with parenthesis to avoid
- g++ warnings.
+ * ace/Svc_Conf_y.cpp: commented out unused args and wrapped
+ assignments in "if" conditionals with parenthesis to avoid
+ g++ warnings.
Tue Jun 24 18:15:46 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu>
- * ace/Reactor.cpp (wait_for_multiple_events): Modified the way to
- manipulate timeout value so that we can differentiate when there
- are timeout events to be handle from no timer and we want to
- wait indefinitely.
+ * ace/Reactor.cpp (wait_for_multiple_events): Modified the way to
+ manipulate timeout value so that we can differentiate when there
+ are timeout events to be handle from no timer and we want to
+ wait indefinitely.
Tue Jun 24 16:52:22 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.h: reverted ACE_hrtime_t to unsigned __int64 with VC++.
- This might break something, but we need to know what.
+ * ace/OS.h: reverted ACE_hrtime_t to unsigned __int64 with VC++.
+ This might break something, but we need to know what.
Tue Jun 24 16:38:52 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
- * Added Visual C++ 5.0 specific workspace (.dsw) and project (.dsp)
- files to both the ace and tests subdirectory. ACE.DSW in the root
- directory contains all the project files, so a batch build should
- be able to build all the project files.
+ * Added Visual C++ 5.0 specific workspace (.dsw) and project (.dsp)
+ files to both the ace and tests subdirectory. ACE.DSW in the root
+ directory contains all the project files, so a batch build should
+ be able to build all the project files.
Tue Jun 24 14:27:47 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
- * ace/Timer_{Hash,Heap,List,Wheel}_T.cpp: Changed cancel (type..)
- to call cancellation() even if there are no timers to cancel.
- This causes the correct behavior of calling handle_close ()
- during expire when handle_timeout() returns -1. Thanks to
- Hamutal Yanay <hamutal_yanay_at_quantum@mail.icomverse.com> for
- pointing this out.
+ * ace/Timer_{Hash,Heap,List,Wheel}_T.cpp: Changed cancel (type..)
+ to call cancellation() even if there are no timers to cancel.
+ This causes the correct behavior of calling handle_close ()
+ during expire when handle_timeout() returns -1. Thanks to
+ Hamutal Yanay <hamutal_yanay_at_quantum@mail.icomverse.com> for
+ pointing this out.
- * tests/Timer_Queue_Test.cpp: Updated to correctly test this.
+ * tests/Timer_Queue_Test.cpp: Updated to correctly test this.
Tue Jun 24 13:02:51 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/SString.h (ACE_SString ctor): changed "allocator" to "alloc".
- Thanks to Brian Mendel <bmendel@mdc.com> for reporting this.
+ * ace/SString.h (ACE_SString ctor): changed "allocator" to "alloc".
+ Thanks to Brian Mendel <bmendel@mdc.com> for reporting this.
Tue Jun 24 12:58:28 1997 James C Hu <jxh@lambada.cs.wustl.edu>
- * include/makeinclude/platform_irix6.4*: Shuts up useless warnings
- about multiply defined template instances.
+ * include/makeinclude/platform_irix6.4*: Shuts up useless warnings
+ about multiply defined template instances.
Tue Jun 24 12:50:52 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
- * ACE version 4.2.10, released Tue Jun 24 12:50:52 1997.
+ * ACE version 4.2.10, released Tue Jun 24 12:50:52 1997.
Tue Jun 24 00:44:30 1997 Nanbor Wang <nw1@lambada.cs.wustl.edu>
- * ace/SPIPE.{h,i}: Added the disable(int signum) function to
- prevent NT from disabling an SPIPE using socket calls.
+ * ace/SPIPE.{h,i}: Added the disable(int signum) function to
+ prevent NT from disabling an SPIPE using socket calls.
Mon Jun 23 22:14:39 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Svc_Conf*: Changed the name of the YYSTYPE field
- ACE_Static_Node_ to static_node_ to be consistent with the other
- fields.
+ * ace/Svc_Conf*: Changed the name of the YYSTYPE field
+ ACE_Static_Node_ to static_node_ to be consistent with the other
+ fields.
Mon Jun 23 18:28:55 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/ACE.cpp: added auto_basic_array_ptr specialization.
+ * ace/ACE.cpp: added auto_basic_array_ptr specialization.
- * ace/Service_Config.cpp, tests/Future_Test.cpp,
- examples/Threads/future[12].cpp: added auto_basic_ptr
- specializations.
+ * ace/Service_Config.cpp, tests/Future_Test.cpp,
+ examples/Threads/future[12].cpp: added auto_basic_ptr
+ specializations.
- * include/makeinclude/platform_vxworks5.2_g++.GNU:
- reworked to supported different targets, instead of only PowerPC.
+ * include/makeinclude/platform_vxworks5.2_g++.GNU:
+ reworked to supported different targets, instead of only PowerPC.
Mon Jun 23 16:06:35 1997 James C. Hu <jxh@swarm.cs.wustl.edu>
- * ace/OS.i: Moved definition of sema_* methods to follow cond_*
- methods to remove compiler warnings on SGI.
+ * ace/OS.i: Moved definition of sema_* methods to follow cond_*
+ methods to remove compiler warnings on SGI.
Mon Jun 23 09:42:08 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
- * tests/Timer_Queue_Test.cpp: added testing for cancellation
- during expire (when of handle_timeout() in an event handler
- returning -1).
+ * tests/Timer_Queue_Test.cpp: added testing for cancellation
+ during expire (when of handle_timeout() in an event handler
+ returning -1).
Mon Jun 23 09:18:39 1997 David L. Levine <levine@cs.wustl.edu>
- * Makefile: added up-to-date check for "make release" from
- /project/adaptive/ACE_wrappers. Also, "make release" now
- adds release entry to latest ChangeLog.
+ * Makefile: added up-to-date check for "make release" from
+ /project/adaptive/ACE_wrappers. Also, "make release" now
+ adds release entry to latest ChangeLog.
- * ace/Makefile: build shared library before static library.
- This appears to fix a problem with Sun C++ 4.{1,2} possibly
- related to its template instantiation scheme. If the
- static library is built first, then .shobj/Reactor.so
- and .shobj/Timer_Hash.so (and possibly others) fail to
- build due to ACE_TimeValue::normalize () "relocations remain
- against allocatable but non-writable sections".
- Thanks to Steve Huston <shuston@riverace.com> and
- Satoshi Ueno <satoshi.ueno@gs.com> for reporting this, and
- to Satoshi for verifying the fix.
+ * ace/Makefile: build shared library before static library.
+ This appears to fix a problem with Sun C++ 4.{1,2} possibly
+ related to its template instantiation scheme. If the
+ static library is built first, then .shobj/Reactor.so
+ and .shobj/Timer_Hash.so (and possibly others) fail to
+ build due to ACE_TimeValue::normalize () "relocations remain
+ against allocatable but non-writable sections".
+ Thanks to Steve Huston <shuston@riverace.com> and
+ Satoshi Ueno <satoshi.ueno@gs.com> for reporting this, and
+ to Satoshi for verifying the fix.
- * ace/ACE.cpp (terminate_process): removed used of
- ACE_OSCALL_RETURN macro because its defined in OS.i, and so
- not available if inlining is disabled.
+ * ace/ACE.cpp (terminate_process): removed used of
+ ACE_OSCALL_RETURN macro because its defined in OS.i, and so
+ not available if inlining is disabled.
- * ace/Auto_Ptr.{h,i}: made "p_" protected instead of private
- so that it can be accessed with the new class arrangement.
- Also, made the auto_array_ptr operator-> const.
+ * ace/Auto_Ptr.{h,i}: made "p_" protected instead of private
+ so that it can be accessed with the new class arrangement.
+ Also, made the auto_array_ptr operator-> const.
- * ace/Sched_Params.cpp (previous_priority, VxWorks only):
- removed ACE_UNUSED_ARG (policy) because policy is used in
- this function.
+ * ace/Sched_Params.cpp (previous_priority, VxWorks only):
+ removed ACE_UNUSED_ARG (policy) because policy is used in
+ this function.
- * netsvcs/lib/TS_Clerk_Handler.cpp (parse_args): wrapped TCHAR
- argument to sizeof in parenthesis.
+ * netsvcs/lib/TS_Clerk_Handler.cpp (parse_args): wrapped TCHAR
+ argument to sizeof in parenthesis.
Mon Jun 23 09:12:04 1997 Nanbor Wang <nw1@lambada.cs.wustl.edu>
- * ace/Auto_Ptr.i (auto_array_ptr): Fixed a typo.
+ * ace/Auto_Ptr.i (auto_array_ptr): Fixed a typo.
Mon Jun 23 08:03:46 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
- * ace/Auto_Ptr.h: changed inheritance of auto_basic_array_ptr in
- auto_array_ptr to include the template parameter X.
+ * ace/Auto_Ptr.h: changed inheritance of auto_basic_array_ptr in
+ auto_array_ptr to include the template parameter X.
- * ace/IOStream_T.i: removed default parameter in the definition
- of ACE_Streambut_T::recv_n() and ACE_SOCK_Dgram_SC::recv_n()
+ * ace/IOStream_T.i: removed default parameter in the definition
+ of ACE_Streambut_T::recv_n() and ACE_SOCK_Dgram_SC::recv_n()
Mon Jun 23 01:13:15 1997 <irfan@TWOSTEP>
- * ace/OS.cpp (fork_exec): Fixed the usage of ACE_WIDE_STRING.
+ * ace/OS.cpp (fork_exec): Fixed the usage of ACE_WIDE_STRING.
- * test_registry_iterator.cpp (main): Fixed the usage of
- ACE_WIDE_STRING.
+ * test_registry_iterator.cpp (main): Fixed the usage of
+ ACE_WIDE_STRING.
- * netsvcs/lib/TS_Clerk_Handler.cpp (parse_args): Fixed the usage
- of ACE_WIDE_STRING.
+ * netsvcs/lib/TS_Clerk_Handler.cpp (parse_args): Fixed the usage
+ of ACE_WIDE_STRING.
- * ace/Auto_Ptr.h: Added support for basic types by seperating the
- auto_ptr classes into two. One that requires the -> operator
- support and the other that does not. The former inherits from
- the latter.
+ * ace/Auto_Ptr.h: Added support for basic types by seperating the
+ auto_ptr classes into two. One that requires the -> operator
+ support and the other that does not. The former inherits from
+ the latter.
- * ace/{FILE,DEV,SPIPE}_Addr.h: Added support for multibyte and
- wide character addr_to_string and string_to_addr functionality.
+ * ace/{FILE,DEV,SPIPE}_Addr.h: Added support for multibyte and
+ wide character addr_to_string and string_to_addr functionality.
- * ace/Connector.cpp && ace/Acceptor.cpp (info): Fixed sizeof bug.
+ * ace/Connector.cpp && ace/Acceptor.cpp (info): Fixed sizeof bug.
- * examples/Connection/blocking/SPIPE: Added UNICODE support for
- this example.
+ * examples/Connection/blocking/SPIPE: Added UNICODE support for
+ this example.
- * ace/OS.h: Added new macro ACE_MULTIBYTE_STRING.
+ * ace/OS.h: Added new macro ACE_MULTIBYTE_STRING.
- * ace/ACE.cpp (terminate_process): Fixed unused args errors.
+ * ace/ACE.cpp (terminate_process): Fixed unused args errors.
Sun Jun 22 09:58:36 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * Released version 4.2.9 for testing.
+ * Released version 4.2.9 for testing.
- * ace/Log_Msg.cpp (open): Changed the use of ACE_LOG_MSG-> within
- the open() method to use this-> in order to avoid deadlocks.
- Thanks to Per Andersson for reporting this.
+ * ace/Log_Msg.cpp (open): Changed the use of ACE_LOG_MSG-> within
+ the open() method to use this-> in order to avoid deadlocks.
+ Thanks to Per Andersson for reporting this.
- * ace/ACE.cpp: Changed the use of __SVR4 and __unix to sparc and
- unix to work better with various UNIX environments. Thanks to
- Michael R. MacFaden <mrm@cisco.com> for these changes.
+ * ace/ACE.cpp: Changed the use of __SVR4 and __unix to sparc and
+ unix to work better with various UNIX environments. Thanks to
+ Michael R. MacFaden <mrm@cisco.com> for these changes.
- * ace/Handle_Set.cpp (count_bits): Added special code to handle
- the case where fdmask is typedef'd as a long rather than an int.
- Thanks to Eric Newton <ecn@smart.net> and James Johnson for
- reporting this.
+ * ace/Handle_Set.cpp (count_bits): Added special code to handle
+ the case where fdmask is typedef'd as a long rather than an int.
+ Thanks to Eric Newton <ecn@smart.net> and James Johnson for
+ reporting this.
- * ace/IOStream.h: Changed the name of QuotedString to
- ACE_Quoted_String to be consistent with the ACE naming scheme.
- Thanks to James Johnson for suggesting this.
+ * ace/IOStream.h: Changed the name of QuotedString to
+ ACE_Quoted_String to be consistent with the ACE naming scheme.
+ Thanks to James Johnson for suggesting this.
- * ace/IOStream_T.i: Added this new file to split off the inlined
- code from the header file.
+ * ace/IOStream_T.i: Added this new file to split off the inlined
+ code from the header file.
- * ace/ACE.cpp (terminate_process): Remove the
- ACE_UNUSED_ARG(signum) from terminate_process(). Thanks to Wei
- Chiang for reporting this.
+ * ace/ACE.cpp (terminate_process): Remove the
+ ACE_UNUSED_ARG(signum) from terminate_process(). Thanks to Wei
+ Chiang for reporting this.
Sun Jun 22 17:19:18 1997 David L. Levine <levine@cs.wustl.edu>
- * examples/Threads/process_manager.cpp (main): replaced call to
- kill with terminate.
+ * examples/Threads/process_manager.cpp (main): replaced call to
+ kill with terminate.
Sat Jun 21 10:48:34 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * examples/Reactor/FIFO: Added a new example that illustrates
- how the Reactor and the FIFO wrappers work together. Thanks
- to Johannes Gutleber <Johannes.Gutleber@cern.ch> for sending
- this.
+ * examples/Reactor/FIFO: Added a new example that illustrates
+ how the Reactor and the FIFO wrappers work together. Thanks
+ to Johannes Gutleber <Johannes.Gutleber@cern.ch> for sending
+ this.
- * tests/Time_Service_Test.cpp (main): Replaced the kill() call
- with the terminate() call since kill() isn't portable across
- platforms.
+ * tests/Time_Service_Test.cpp (main): Replaced the kill() call
+ with the terminate() call since kill() isn't portable across
+ platforms.
- * ace/Process: The kill() method on this class was being used
- incorrectly. I've created a new method called terminate() that
- terminates the process.
+ * ace/Process: The kill() method on this class was being used
+ incorrectly. I've created a new method called terminate() that
+ terminates the process.
- * ace/Process_Manager: Renamed the kill() method to terminate()
- and updated the implementation to use the new
- ACE::terminate_process() call.
+ * ace/Process_Manager: Renamed the kill() method to terminate()
+ and updated the implementation to use the new
+ ACE::terminate_process() call.
- * ace/ACE: Moved the incorrect Win32 and Chorus implementations of
- ACE_OS::kill() and put them in a new static method called
- ACE::terminate_process().
+ * ace/ACE: Moved the incorrect Win32 and Chorus implementations of
+ ACE_OS::kill() and put them in a new static method called
+ ACE::terminate_process().
- * ace/ACE: Changed the name of the is_process_active() to the
- more concise process_active().
+ * ace/ACE: Changed the name of the is_process_active() to the
+ more concise process_active().
- * ace/OS.i: Added an implementation of ACE_OS::kill() for Chorus.
- Note that this doesn't behave as UNIX does -- it kills the
- process id rather than sending a signal! Thanks to Wei Chiang
- <chiang@tele.nokia.fi> for these fixes.
+ * ace/OS.i: Added an implementation of ACE_OS::kill() for Chorus.
+ Note that this doesn't behave as UNIX does -- it kills the
+ process id rather than sending a signal! Thanks to Wei Chiang
+ <chiang@tele.nokia.fi> for these fixes.
- * examples/Reactor/Misc/notification.cpp: Added patches to run
- this example under Chorus. Thanks to Wei Chiang
- <chiang@tele.nokia.fi> for these fixes.
+ * examples/Reactor/Misc/notification.cpp: Added patches to run
+ this example under Chorus. Thanks to Wei Chiang
+ <chiang@tele.nokia.fi> for these fixes.
- * ace/Connector.cpp (create_AST): Changed the order of some
- instructions in Connector::create_AST method to make it more
- safer to use in multi-thread environment. Thank to Paul Han
- <phan@CCGATE.HAC.COM> for reporting the problem and the fix.
+ * ace/Connector.cpp (create_AST): Changed the order of some
+ instructions in Connector::create_AST method to make it more
+ safer to use in multi-thread environment. Thank to Paul Han
+ <phan@CCGATE.HAC.COM> for reporting the problem and the fix.
- * ace/Connector.cpp (create_AST): Make sure to pass in the "mask"
- when calling remove_handler() so that we get the right set of
- bits removed from the Reactor.
+ * ace/Connector.cpp (create_AST): Make sure to pass in the "mask"
+ when calling remove_handler() so that we get the right set of
+ bits removed from the Reactor.
- * tests/Reactor_Timer_Test.cpp (class Time_Handler): Changed int
- to long to avoid type conversion problems on 64 bit SGI. Thanks
- to Fred LaBar <flabar@fallschurch.esys.com> for reporting this.
+ * tests/Reactor_Timer_Test.cpp (class Time_Handler): Changed int
+ to long to avoid type conversion problems on 64 bit SGI. Thanks
+ to Fred LaBar <flabar@fallschurch.esys.com> for reporting this.
- * examples/Reactor/FIFO: Added a test program to illustrate the
- interaction of the ACE Reactor with the FIFO IPC mechanism.
- Thanks to Johannes Gutleber <Johannes.Gutleber@cern.ch> for this
- test.
+ * examples/Reactor/FIFO: Added a test program to illustrate the
+ interaction of the ACE Reactor with the FIFO IPC mechanism.
+ Thanks to Johannes Gutleber <Johannes.Gutleber@cern.ch> for this
+ test.
- * examples/Reactor/Misc/pingpong.cpp: Added support for Chorus.
- Thanks to Wei Chiang <chiang@tele.nokia.fi> for this.
+ * examples/Reactor/Misc/pingpong.cpp: Added support for Chorus.
+ Thanks to Wei Chiang <chiang@tele.nokia.fi> for this.
- * ace: Added a number of minor changes to signal assignment
- code so that ACE will compile with Tandem NonStop. Thanks
- to Jan Perman <uabjjpp@osd.ericsson.se> for these fixes.
+ * ace: Added a number of minor changes to signal assignment
+ code so that ACE will compile with Tandem NonStop. Thanks
+ to Jan Perman <uabjjpp@osd.ericsson.se> for these fixes.
- * ace/config-tandem.h: Added a new config file for the
- Tandem NonStop-UX 4.2MP platform. Thanks to Jan Perman
- <uabjjpp@osd.ericsson.se> for contributing this.
+ * ace/config-tandem.h: Added a new config file for the
+ Tandem NonStop-UX 4.2MP platform. Thanks to Jan Perman
+ <uabjjpp@osd.ericsson.se> for contributing this.
- * include/makeinclude/platform_tandem.GNU: Added a new platform
- file for the Tandem NonStop-UX 4.2MP platform. Thanks to
- Jan Perman <uabjjpp@osd.ericsson.se> for contributing this.
+ * include/makeinclude/platform_tandem.GNU: Added a new platform
+ file for the Tandem NonStop-UX 4.2MP platform. Thanks to
+ Jan Perman <uabjjpp@osd.ericsson.se> for contributing this.
- * ace/config-unixware-2.1.2-g++.h: Added a new config file for
- UNIXWARE 2.1.2. Thanks to Ganesh Pai (gpai@voicetek.com) for
- contributing this.
+ * ace/config-unixware-2.1.2-g++.h: Added a new config file for
+ UNIXWARE 2.1.2. Thanks to Ganesh Pai (gpai@voicetek.com) for
+ contributing this.
- * include/makeinclude/platform_unixware_g++.GNU: Updated the
- UNIXWARE platform config file to work for version 2.1.2. Thanks
- to Ganesh Pai (gpai@voicetek.com) for contributing this.
+ * include/makeinclude/platform_unixware_g++.GNU: Updated the
+ UNIXWARE platform config file to work for version 2.1.2. Thanks
+ to Ganesh Pai (gpai@voicetek.com) for contributing this.
- * ace/Handle_Set.cpp (count_bits): Added another 0xff mask to
- prevent problems with sign extension on machines with 32 bit
- ints and 64 bit longs. Thanks to James Johnson for reporting
- this.
+ * ace/Handle_Set.cpp (count_bits): Added another 0xff mask to
+ prevent problems with sign extension on machines with 32 bit
+ ints and 64 bit longs. Thanks to James Johnson for reporting
+ this.
- * ace/OS.h: Updated all of the ACE_DEFAULT* macros in OS.h so that
- they can be overridden by #defines in the config.h file. Thanks
- to Chuck Gehr for suggesting this.
+ * ace/OS.h: Updated all of the ACE_DEFAULT* macros in OS.h so that
+ they can be overridden by #defines in the config.h file. Thanks
+ to Chuck Gehr for suggesting this.
Thu Jun 19 22:20:20 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.h (VxWorks/g++ only): added horrible hack to work around
- mismatch of memcmp, etc., prototypes in <string.h>.
+ * ace/OS.h (VxWorks/g++ only): added horrible hack to work around
+ mismatch of memcmp, etc., prototypes in <string.h>.
- * ace/OS.i: reordered many function definitions to avoid use
- before definition. Building with g++ 2.7.2 on VxWorks 5.3.1
- revealed them.
+ * ace/OS.i: reordered many function definitions to avoid use
+ before definition. Building with g++ 2.7.2 on VxWorks 5.3.1
+ revealed them.
- * ace/config-vxworks5.2-g++.h: removed ACE_HAS_STRING_CLASS and
- ACE_HAS_GNU_CSTRING_H, because those aren't distributed with
- Tornado 1.0.1.
+ * ace/config-vxworks5.2-g++.h: removed ACE_HAS_STRING_CLASS and
+ ACE_HAS_GNU_CSTRING_H, because those aren't distributed with
+ Tornado 1.0.1.
Thu Jun 19 15:31:53 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
- * ace/Timer_Wheel_T.cpp: Fixed problem with expire () not expiring
- timers with a timeout of the current time. This was causing
- problems with Timer_Queue_Test when high profile timers were
- disabled (such as Windows NT when the environment variable
- ACE_SCALE_FACTOR was undefined)
+ * ace/Timer_Wheel_T.cpp: Fixed problem with expire () not
+ expiring timers with a timeout of the current time. This was
+ causing problems with Timer_Queue_Test when high profile
+ timers were disabled (such as Windows NT when the
+ environment variable ACE_SCALE_FACTOR was undefined)
Wed Jun 18 19:43:35 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Signal.cpp: 'removed "const" from #define of
- ACE_MAX_SIGNAL_HANDLERS because it broke Irix 6.2 build. Thanks
- to Gonzalo A. Diethelm <gonzo@ing.puc.cl> for reporting this.
+ * ace/Signal.cpp: 'removed "const" from #define of
+ ACE_MAX_SIGNAL_HANDLERS because it broke Irix 6.2 build. Thanks
+ to Gonzalo A. Diethelm <gonzo@ing.puc.cl> for reporting this.
- * examples/Threads/task_four.cpp (Invoker_Task::svc): fixed typo,
- n_tasks instead of ntasks.
+ * examples/Threads/task_four.cpp (Invoker_Task::svc): fixed typo,
+ n_tasks instead of ntasks.
Wed Jun 18 11:25:14 1997 Nanbor Wang <nw1@lambada.cs.wustl.edu>
- * examples/Threads/{task_four,token}.cpp: Changed the use of
- cerr/cout to ACE_DEBUG macro. Thanks to Chuck Gehr
- <gehr@sweng.stortek.com> for pointing these out.
-
+ * examples/Threads/{task_four,token}.cpp: Changed the use of
+ cerr/cout to ACE_DEBUG macro. Thanks to Chuck Gehr
+ <gehr@sweng.stortek.com> for pointing these out.
+
Tue Jun 17 15:11:09 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config-sunos5.5-sunc++-4.x.h,
- include/makeinclude/platform_sunos5_sunc++.GNU: support enabling of
- exception handling via "exceptions=1" make flag. Exception handling
- does seem to work with Sun C++ 4.2, even on MP machines, if patch
- 104631-02 "C++ 4.2: Jumbo Patch for C++ 4.2 on Solaris SPARC"
- is applied. Please beware that enabling of exception handling can
- adversely affect peformance, even if the program doesn't use it.
- So, we haven't enabled it by default. Thanks to Chris Cleeland
- for suggesting not to enable it by default.
+ * ace/config-sunos5.5-sunc++-4.x.h,
+ include/makeinclude/platform_sunos5_sunc++.GNU: support enabling of
+ exception handling via "exceptions=1" make flag. Exception handling
+ does seem to work with Sun C++ 4.2, even on MP machines, if patch
+ 104631-02 "C++ 4.2: Jumbo Patch for C++ 4.2 on Solaris SPARC"
+ is applied. Please beware that enabling of exception handling can
+ adversely affect peformance, even if the program doesn't use it.
+ So, we haven't enabled it by default. Thanks to Chris Cleeland
+ for suggesting not to enable it by default.
- * ace/IOStream.h: added #include of "ace/config.h" so that
- ACE_LACKS_ACE_IOSTREAM can be checked. Thanks to Ganesh Pai
- <gpai@voicetek.com> for reporting this problem.
+ * ace/IOStream.h: added #include of "ace/config.h" so that
+ ACE_LACKS_ACE_IOSTREAM can be checked. Thanks to Ganesh Pai
+ <gpai@voicetek.com> for reporting this problem.
- * ace/ACE.cpp (get_handle): use /dev/udp instead of /dev/ip on
- SVR4 machines because it has other read permission by default
- (on Solaris 2.x).
+ * ace/ACE.cpp (get_handle): use /dev/udp instead of /dev/ip on
+ SVR4 machines because it has other read permission by default
+ (on Solaris 2.x).
- * ace/ACE.cpp (get_ip_interfaces): use auto_array_ptr instead of
- auto_ptr so that the array gets deleted properly, and zero it
- out to avoid unitialized memory read reports from Purify.
+ * ace/ACE.cpp (get_ip_interfaces): use auto_array_ptr instead of
+ auto_ptr so that the array gets deleted properly, and zero it
+ out to avoid unitialized memory read reports from Purify.
- * ace/Timer_Hash_T.cpp (cancel): added "[]" to delete of timer_ids
- array. Purify rules.
+ * ace/Timer_Hash_T.cpp (cancel): added "[]" to delete of timer_ids
+ array. Purify rules.
- * Timer_Queue_Test.cppc (test_performance): added "[]" to delete of
- times array. Purify rules.
+ * Timer_Queue_Test.cppc (test_performance): added "[]" to delete of
+ times array. Purify rules.
Tue Jun 17 15:31:01 1997 Steve Huston <shuston@riverace.com>
- * ace/ACE.cpp: Fixed get_ip_interfaces (and count_interfaces) to
- work properly on HP-UX (and probably other similar UNIXes). Needed
- to work with non-IP interfaces present, and fixed to copy the
- IP address without the fudge factor being applied.
+ * ace/ACE.cpp: Fixed get_ip_interfaces (and count_interfaces) to
+ work properly on HP-UX (and probably other similar UNIXes). Needed
+ to work with non-IP interfaces present, and fixed to copy the
+ IP address without the fudge factor being applied.
Tue Jun 17 14:02:01 1997 Nanbor Wang <nw1@lambada.cs.wustl.edu>
- * ace/{Free_List.h,Free_List.cpp,Timer_Queue_T.h}: Added #include
- "ace/Synch_T.h" to Free_List.h and removed related inclusion
- from Free_List.cpp and Timer_Queue_T.h. Thanks to
- Jack Erickson <jack@cibc.com> for reporting this problem.
+ * ace/{Free_List.h,Free_List.cpp,Timer_Queue_T.h}: Added #include
+ "ace/Synch_T.h" to Free_List.h and removed related inclusion
+ from Free_List.cpp and Timer_Queue_T.h. Thanks to
+ Jack Erickson <jack@cibc.com> for reporting this problem.
Tue Jun 17 09:41:48 1997 David L. Levine <levine@cs.wustl.edu>
- * tests/Enum_Interfaces_Test.cpp: changed name of log file to match
- the program name, so that the one-button test can easily find it.
+ * tests/Enum_Interfaces_Test.cpp: changed name of log file to match
+ the program name, so that the one-button test can easily find it.
Tue Jun 17 04:58:38 1997 Nanbor Wang <nw1@lambada.cs.wustl.edu>
- * ace/Timer_Queue_T.h: Added include file "ace/Synch_T.h" to avoid
- compilation errors in SC 4.1. We didn't notice this because
- most of us have moved to SC 4.2. Don't know why this didn't
- cause any problem in SC 4.2. Thanks to Jack Erickson
- <jack@cibc.com> for reporting this bug.
+ * ace/Timer_Queue_T.h: Added include file "ace/Synch_T.h" to avoid
+ compilation errors in SC 4.1. We didn't notice this because
+ most of us have moved to SC 4.2. Don't know why this didn't
+ cause any problem in SC 4.2. Thanks to Jack Erickson
+ <jack@cibc.com> for reporting this bug.
Mon Jun 16 22:25:18 1997 Steve Huston <shuston@riverace.com>
- * ace/ACE.cpp: Fixed conditional compiles to compile the
- interface counting code for HP - it reports 0 interfaces,
- so it needs more debugging still.
+ * ace/ACE.cpp: Fixed conditional compiles to compile the
+ interface counting code for HP - it reports 0 interfaces,
+ so it needs more debugging still.
- * include/makeinclude/platform_hpux_aCC.GNU: added -g to link
- command for building shared library.
+ * include/makeinclude/platform_hpux_aCC.GNU: added -g to link
+ command for building shared library.
- * tests/Buffer_Stream_Test.cpp: fixes to execute correctly and only
- fail assertions on real failures.
+ * tests/Buffer_Stream_Test.cpp: fixes to execute correctly and only
+ fail assertions on real failures.
Mon Jun 16 19:05:13 1997 Steve Huston <shuston@riverace.com>
- * ace/Free_List.cpp: added #include ace/Synch.h, needed by
- Free_List.i. Fixes compile errors on HP-UX.
+ * ace/Free_List.cpp: added #include ace/Synch.h, needed by
+ Free_List.i. Fixes compile errors on HP-UX.
Mon Jun 16 10:59:55 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
- * ace/Timer_Wheel_T.cpp: Changed expire () so it doesn't access past
- the end of an array when it finds nothing to expire. Thanks to
- Norbert Rapp <norbert.rapp@nexus-informatics.de> for catching this.
+ * ace/Timer_Wheel_T.cpp: Changed expire () so it doesn't
+ access past the end of an array when it finds nothing to
+ expire. Thanks to Norbert Rapp
+ <norbert.rapp@nexus-informatics.de> for catching this.
Sun Jun 15 03:44:21 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu>
- * examples/Threads/thread_specific.cpp (worker): Changed the
- output of diagnostics from using cout to using printf. Also
- corrected several portability problems. Thanks for Chuck Gehr
- <gehr@sweng.stortek.com> for pointing these out.
-
- * ace/OS.i (thread_mutex_trylock): Corrected the code for NT. Now
- this function returns 0 if lock is obtained and -1 otherwise.
- Thanks to Robert V. Head <rhead@virtc.com> for noticing this.
-
- * performance-tests/Synch-Benchmarks/Synch_Tests.{mdp.mak}:
- Added project workspace and makefile for NT to this directory.
-
- * performance-tests/Synch-Benchmarks/svc.conf:
- * performance-tests/Synch-Benchmarks/{Options,Benchmark}.h:
- * performance-tests/Synch-Benchmarks/*.cpp: Reworked these
- files to have them compiled on NT.
+ * examples/Threads/thread_specific.cpp (worker): Changed the
+ output of diagnostics from using cout to using printf. Also
+ corrected several portability problems. Thanks for Chuck Gehr
+ <gehr@sweng.stortek.com> for pointing these out.
+
+ * ace/OS.i (thread_mutex_trylock): Corrected the code for NT. Now
+ this function returns 0 if lock is obtained and -1 otherwise.
+ Thanks to Robert V. Head <rhead@virtc.com> for noticing this.
+
+ * performance-tests/Synch-Benchmarks/Synch_Tests.{mdp.mak}:
+ Added project workspace and makefile for NT to this directory.
+
+ * performance-tests/Synch-Benchmarks/svc.conf:
+ * performance-tests/Synch-Benchmarks/{Options,Benchmark}.h:
+ * performance-tests/Synch-Benchmarks/*.cpp: Reworked these
+ files to have them compiled on NT.
Sat Jun 14 03:53:13 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu>
- * performance-tests/Synch-Benchmarks/pipe_proc_test.cpp (class
- Pipe_Proc_Test): Changed the type of pipe_handles[] from int to
- ACE_HANDLE.
+ * performance-tests/Synch-Benchmarks/pipe_proc_test.cpp (class
+ Pipe_Proc_Test): Changed the type of pipe_handles[] from int to
+ ACE_HANDLE.
- * performance-tests/Synch-Benchmarks/sysvsema_test.cpp: When
- creating the semaphore, explicitly cast the key value to (key_t)
- since NT couldn't handle the conversion.
+ * performance-tests/Synch-Benchmarks/sysvsema_test.cpp: When
+ creating the semaphore, explicitly cast the key value to (key_t)
+ since NT couldn't handle the conversion.
Fri Jun 13 19:32:03 1997 Steve Huston <shuston@riverace.com>
- * ace/ACE.cpp: Fixed count_interfaces to compile on non-SVR4
- systems such as HP-UX. Not tested yet.
+ * ace/ACE.cpp: Fixed count_interfaces to compile on non-SVR4
+ systems such as HP-UX. Not tested yet.
- * ace/OS.i: Fixed mis-arranged conditional compile for HP-UX in
- asctime_r.
+ * ace/OS.i: Fixed mis-arranged conditional compile for HP-UX in
+ asctime_r.
Fri Jun 13 03:13:51 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu>
- * ace/config-win32-common.h: Added a "pragma comment" directive to
- direct MSVC to link in mswsock.lib automatically. Thanks to
- Bill Tang <btang@magellan.com> for reminding this.
+ * ace/config-win32-common.h: Added a "pragma comment" directive to
+ direct MSVC to link in mswsock.lib automatically. Thanks to
+ Bill Tang <btang@magellan.com> for reminding this.
- * ace/ace.{mak,mdp}: Removed explicit inclusion of mswsock.lib.
- Thanks to Bill Tang <btang@magellan.com> for reminding this.
+ * ace/ace.{mak,mdp}: Removed explicit inclusion of mswsock.lib.
+ Thanks to Bill Tang <btang@magellan.com> for reminding this.
- * examples/OS/Process/Process.{mdp,mak}: For some reasons, I got
- an "unknown link error, please refer to documentation for
- appropriate technical supports" when building this example on NT
- (didn't help much, did it?) Reassigning the linked library
- solved the problem.
+ * examples/OS/Process/Process.{mdp,mak}: For some reasons, I got
+ an "unknown link error, please refer to documentation for
+ appropriate technical supports" when building this example on NT
+ (didn't help much, did it?) Reassigning the linked library
+ solved the problem.
- * examples/OS/Process/process.cpp: Updated class name
- ACE_ProcessEX to ACE_Process because ACE_ProcessEX no longer
- exists. Also, all exec'ed programs' absolute names have been
- changed and let the environment variable "path" to decide which
- program(s) to exec.
+ * examples/OS/Process/process.cpp: Updated class name
+ ACE_ProcessEX to ACE_Process because ACE_ProcessEX no longer
+ exists. Also, all exec'ed programs' absolute names have been
+ changed and let the environment variable "path" to decide which
+ program(s) to exec.
Thu Jun 12 15:48:16 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * ace/ACE.cpp (get_ip_interfaces): Corrected code in the BSDish
- section so that it at least compiles on Linux. I haven't tested
- this AT ALL.
+ * ace/ACE.cpp (get_ip_interfaces): Corrected code in the BSDish
+ section so that it at least compiles on Linux. I haven't tested
+ this AT ALL.
- * ace/Timer_Queue_T.cpp (calculate_timeout): When this was called
- with the default argument from handle_events(), max_timeout was
- passed as zero, which would cause a SEGV when attempts were made
- to deref it. Added protection to simply return a zero ptr in that
- case.
+ * ace/Timer_Queue_T.cpp (calculate_timeout): When this was called
+ with the default argument from handle_events(), max_timeout was
+ passed as zero, which would cause a SEGV when attempts were made
+ to deref it. Added protection to simply return a zero ptr in that
+ case.
Thu Jun 12 13:18:03 1997 Steve Huston <shuston@riverace.com>
- * ace/OS.{h,i,cpp}: Changes for HP-UX 10 primarily. Threads
- support for DCE Draft 4 threads (bundled with HP-UX 10).
- Correct usage of reentrant C library functions for HP-UX.
+ * ace/OS.{h,i,cpp}: Changes for HP-UX 10 primarily. Threads
+ support for DCE Draft 4 threads (bundled with HP-UX 10).
+ Correct usage of reentrant C library functions for HP-UX.
- * ace/OS.i: Changed timeout argument to 2nd select function to
- allow the compiler to pick a conversion operator. As it was,
- HP compiler would not compile it.
+ * ace/OS.i: Changed timeout argument to 2nd select function to
+ allow the compiler to pick a conversion operator. As it was,
+ HP compiler would not compile it.
- * ace/Service_Object.cpp: When deleting the service memory pointed
- to by a void *, use "operator delete" rather than deleting a void,
- which is prohibited by the current ANSI C++ draft.
+ * ace/Service_Object.cpp: When deleting the service memory pointed
+ to by a void *, use "operator delete" rather than deleting a void,
+ which is prohibited by the current ANSI C++ draft.
- * ace/config-hpux-10.x.h: This is now a compiler-independent header
- file, and is included by config-hpux-10.x-hpc++.h. This file
- contains all correct settings for HP-UX 10.x, and compiler-specific
- config files should use this - see config-hpux-10.x-hpc++.h.
+ * ace/config-hpux-10.x.h: This is now a compiler-independent header
+ file, and is included by config-hpux-10.x-hpc++.h. This file
+ contains all correct settings for HP-UX 10.x, and compiler-specific
+ config files should use this - see config-hpux-10.x-hpc++.h.
- * ace/config-hpux-10.x-hpc++.h: New config file for either of the HP
- compilers (HP C++ or HP aC++). It figures it out internally, and
- uses config-hpux-10.x.h for OS details.
+ * ace/config-hpux-10.x-hpc++.h: New config file for either of the HP
+ compilers (HP C++ or HP aC++). It figures it out internally, and
+ uses config-hpux-10.x.h for OS details.
- * include/makeinclude/rules.lib.GNU: Allow for doing a PRELIB step
- when building a shared library, and not using .shobj/*.so files.
- This allows HP aC++ to close all template instantiations for the
- entire library at once, rather than separately, reducing the
- size of the resultant library significantly.
+ * include/makeinclude/rules.lib.GNU: Allow for doing a PRELIB step
+ when building a shared library, and not using .shobj/*.so files.
+ This allows HP aC++ to close all template instantiations for the
+ entire library at once, rather than separately, reducing the
+ size of the resultant library significantly.
- * include/makeinclude/platform_hpux-aCC.GNU: build libraries with
- templates instantiated all at once. Compile with flags for using
- the reentrant versions of C library functions.
+ * include/makeinclude/platform_hpux-aCC.GNU: build libraries with
+ templates instantiated all at once. Compile with flags for using
+ the reentrant versions of C library functions.
Wed Jun 11 15:20:15 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu>
- * ace/Timer_Queue_T.{h,cpp} (calculate_timeout): Changed the
- second parameter the_timeout from a ref. to a ptr. to a ptr in
- order to avoid compilation warning. Since the pointer itself is
- not modified within the function, it's ok to change this.
+ * ace/Timer_Queue_T.{h,cpp} (calculate_timeout): Changed the
+ second parameter the_timeout from a ref. to a ptr. to a ptr in
+ order to avoid compilation warning. Since the pointer itself is
+ not modified within the function, it's ok to change this.
- * ace/Reactor.cpp (wait_for_multiple_events): Added ACE_Time_Value
- the_timeout as a place holder for timeout value when
- max_wait_time is NULL. Otherwise,
- Timer_Queue::calculate_timeout won't process the timer queue
- even it's not empty.
+ * ace/Reactor.cpp (wait_for_multiple_events): Added ACE_Time_Value
+ the_timeout as a place holder for timeout value when
+ max_wait_time is NULL. Otherwise,
+ Timer_Queue::calculate_timeout won't process the timer queue
+ even it's not empty.
Wed Jun 11 11:14:29 1997 James C Hu <jxh@lambada.cs.wustl.edu>
- * include/makeinclude/platform_mvs.GNU (RANLIB): Requested change
- from Check Gehr (gehr@sweng.stortek.com), RANLIB = echo
+ * include/makeinclude/platform_mvs.GNU (RANLIB): Requested change
+ from Check Gehr (gehr@sweng.stortek.com), RANLIB = echo
Wed Jun 11 04:47:52 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu>
- * ACE.cpp (count_interfaces): Two bugs were corrected here. Both
- were typo.
+ * ACE.cpp (count_interfaces): Two bugs were corrected here. Both
+ were typo.
- * tests/Timer_Queue_Test.cpp: Added include file ace/Timer_Queue.h
+ * tests/Timer_Queue_Test.cpp: Added include file ace/Timer_Queue.h
Tue Jun 10 16:02:52 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
- * ace/SString.{h,cpp}: Changed the parameters in CString::substring()
- and WString::substring(). Removed const and changed length to a
- ssize_t because of signed/unsigned comparison warnings.
+ * ace/SString.{h,cpp}: Changed the parameters in CString::substring()
+ and WString::substring(). Removed const and changed length to a
+ ssize_t because of signed/unsigned comparison warnings.
- * ace/ACE.cpp: Changed a loop variable in get_ip_interfaces() to
- a size_t because of a signed/unsigned comparison warning.
+ * ace/ACE.cpp: Changed a loop variable in get_ip_interfaces() to
+ a size_t because of a signed/unsigned comparison warning.
Tue Jun 10 12:47:49 1997 <irfan@TWOSTEP>
- * ace/SString.cpp (operator = and operator +=): There were two
- bugs here. operator= forgot to tack on the NULL terminator
- after the memcpy() and operator+= appended the second string
- incorrectly. Thanks to Michael R. MacFaden <mrm@cisco.com> for
- pointing these out.
+ * ace/SString.cpp (operator = and operator +=): There were two
+ bugs here. operator= forgot to tack on the NULL terminator
+ after the memcpy() and operator+= appended the second string
+ incorrectly. Thanks to Michael R. MacFaden <mrm@cisco.com> for
+ pointing these out.
Tue Jun 10 12:16:04 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
- * ace/Makefile: Updated to reflect newly added files
+ * ace/Makefile: Updated to reflect newly added files
- * ace/Proactor.cpp: Removed template specializations.
+ * ace/Proactor.cpp: Removed template specializations.
- * ace/Reactor.cpp: Removed some template specializations.
+ * ace/Reactor.cpp: Removed some template specializations.
- * ace/Timer_Hash.h: Added an include for Timer_Heap.
+ * ace/Timer_Hash.h: Added an include for Timer_Heap.
- * ace/Timer_Hash_T.cpp: Changed a reference to ACE_Timer_Node
- to ACE_Timer_Node_T<TYPE>
+ * ace/Timer_Hash_T.cpp: Changed a reference to ACE_Timer_Node
+ to ACE_Timer_Node_T<TYPE>
- * ace/Timer_{Hash,Heap,List,Wheel}_T.h: Changed #include
- "ace/Timer_{...}.h" to "ace/Timer_{...}_T.h".
+ * ace/Timer_{Hash,Heap,List,Wheel}_T.h: Changed #include
+ "ace/Timer_{...}.h" to "ace/Timer_{...}_T.h".
- * ace/Timer_Queue.cpp: Removed some template specializations.
+ * ace/Timer_Queue.cpp: Removed some template specializations.
- * ace/Timer_Queue.h: Removed the including of Timer_Queue.cpp
- since there are no templates to warrant it.
+ * ace/Timer_Queue.h: Removed the including of Timer_Queue.cpp
+ since there are no templates to warrant it.
- * ace/Timer_{Hash,Heap,List,Wheel}.cpp: Added these and put the
- appropriate template specializations here.
+ * ace/Timer_{Hash,Heap,List,Wheel}.cpp: Added these and put the
+ appropriate template specializations here.
Tue Jun 10 02:08:25 1997 Nanbor Wang <nw1@siesta.cs.wustl.edu>
- * examples/Log_Msg/README: Revised.
+ * examples/Log_Msg/README: Revised.
- * examples/Log_Msg/test_log_msg.cpp: Revised program output so
- that it's clearer to explain.
+ * examples/Log_Msg/test_log_msg.cpp: Revised program output so
+ that it's clearer to explain.
Mon Jun 09 15:46:41 1997 <irfan@TWOSTEP>
- * OS.i (mutex_lock): When WaitForSingleObject returns
- WAIT_ABANDONED, the lock is held by the calling thread.
- Therefore we must return 0 from the method. I have added a new
- mutex_lock() method that takes an extra "abandoned" parameter.
- This is set wehen the mutex is abandoned. Thanks to Dieter
- Quehl <dietrich.quehl@med.siemens.de> for pointing this out.
+ * OS.i (mutex_lock): When WaitForSingleObject returns
+ WAIT_ABANDONED, the lock is held by the calling thread.
+ Therefore we must return 0 from the method. I have added a new
+ mutex_lock() method that takes an extra "abandoned" parameter.
+ This is set wehen the mutex is abandoned. Thanks to Dieter
+ Quehl <dietrich.quehl@med.siemens.de> for pointing this out.
Mon Jun 9 02:31:36 1997 Nanbor Wang <nw1@siesta.cs.wustl.edu>
- * tests/Sigset_Ops_Test.cpp (main): Comment out testing of invalid
- sigset checking for most platforms don't seem to support it.
- Perhaps the ACE's sigset* functions should remove this check for
- compatibility.
+ * tests/Sigset_Ops_Test.cpp (main): Comment out testing of invalid
+ sigset checking for most platforms don't seem to support it.
+ Perhaps the ACE's sigset* functions should remove this check for
+ compatibility.
Sun Jun 8 11:39:06 1997 Douglas C. Schmidt <schmidt@mambo.cs.wustl.edu>
- * ace/OS.i (set): There was a typo here where
+ * ace/OS.i (set): There was a typo here where
- ((long) (d - (double) l)) * 1000000
+ ((long) (d - (double) l)) * 1000000
- should be
+ should be
- (long) ((d - (double) l) * 1000000)
+ (long) ((d - (double) l) * 1000000)
- since otherwise the values are always 0. Thanks to Jim Crossley
- <jim@lads.com> for reporting this.
+ since otherwise the values are always 0. Thanks to Jim Crossley
+ <jim@lads.com> for reporting this.
- * tests/Enum_Interfaces_Test.cpp (main): Changed ACE_UINT32 to
- size_t to be consistent with the class definition. Thanks to
- Nanbor Wang for reporting this.
+ * tests/Enum_Interfaces_Test.cpp (main): Changed ACE_UINT32 to
+ size_t to be consistent with the class definition. Thanks to
+ Nanbor Wang for reporting this.
- * ace/Token.h: Added some no-op method for ACE_Token so that it
- will still compile even if ACE_HAS_THREADS isn't defined.
+ * ace/Token.h: Added some no-op method for ACE_Token so that it
+ will still compile even if ACE_HAS_THREADS isn't defined.
Sun Jun 8 01:37:52 1997 Nanbor Wang <nw1@siesta.cs.wustl.edu>
- * examples/Log_Msg/README: Added a README file.
+ * examples/Log_Msg/README: Added a README file.
- * tests/Sigset_Ops_Test.cpp (main): bug fixed.
+ * tests/Sigset_Ops_Test.cpp (main): bug fixed.
Sat Jun 7 16:40:22 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/SString.h (string.): Added a substring() member function to
- ACE_*String classes. Thanks to Michael MacFaden <mrm@cisco.com>
- for contributing this.
+ * ace/SString.h (string.): Added a substring() member function to
+ ACE_*String classes. Thanks to Michael MacFaden <mrm@cisco.com>
+ for contributing this.
- * ace/ACE: Added a new method called
+ * ace/ACE: Added a new method called
- int get_ip_interfaces(count, address_array)
+ int get_ip_interfaces(count, address_array)
- which will query the OS kernel for the IP addresses for each network
- interface found and return a count and array of ACE_INET_Addr objects.
- The reason for adding this method is that most client apps
- assume gethostbyname(uname|gethostname)) will work. If the
- nameservices is misconfigured/broken or the machine is multi-homed,
- the client apps have alot of coding to do to figure out if an inteface
- represents a local address or not. On UNIX, this includes
- the loopback addr. On NT, the loopback addr is not added
- (but may change the impl if others think this useful).
- Thanks to Michael MacFaden <mrm@cisco.com> for contributing
- this.
+ which will query the OS kernel for the IP addresses for each network
+ interface found and return a count and array of ACE_INET_Addr objects.
+ The reason for adding this method is that most client apps
+ assume gethostbyname(uname|gethostname)) will work. If the
+ nameservices is misconfigured/broken or the machine is multi-homed,
+ the client apps have alot of coding to do to figure out if an inteface
+ represents a local address or not. On UNIX, this includes
+ the loopback addr. On NT, the loopback addr is not added
+ (but may change the impl if others think this useful).
+ Thanks to Michael MacFaden <mrm@cisco.com> for contributing
+ this.
- * ace/Synch[_T]: Changed all the classes so that internal instance
- variables are now protected rather than private. This allows
- greater flexibility if there's a need to subclass
- (which shouldn't occur very much...). Thanks to
- Reza Roodsari <reza@sprynet.com> for suggesting this.
+ * ace/Synch[_T]: Changed all the classes so that internal instance
+ variables are now protected rather than private. This allows
+ greater flexibility if there's a need to subclass
+ (which shouldn't occur very much...). Thanks to
+ Reza Roodsari <reza@sprynet.com> for suggesting this.
Fri Jun 06 21:30:57 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Timer_{Hash,Wheel}_T.cpp: added #includes of
- ace/High_Res_Timer.h. Also, in Timer_Wheel_T.cpp (cancel),
- moved the declaration of "i" out of the loop because it's
- used in two different loops.
+ * ace/Timer_{Hash,Wheel}_T.cpp: added #includes of
+ ace/High_Res_Timer.h. Also, in Timer_Wheel_T.cpp (cancel),
+ moved the declaration of "i" out of the loop because it's
+ used in two different loops.
Fri Jun 06 17:11:13 1997 <irfan@TWOSTEP>
- * OS.i (sleep): If ACE_POLL_IS_BROKEN is defined, use select() to
- do micro second sleeps.
+ * OS.i (sleep): If ACE_POLL_IS_BROKEN is defined, use select() to
+ do micro second sleeps.
- * ace/CORBA_Handler.h (ACE_CORBA_*): The new version of Orbix
- (2.2C01) on NT finally supports namespaces. So now the macros
- ACE_CORBA_n need to be defined using the "::" and not the "_"
- for NT if the new Orbix is being used. Thanks to John Morey
- (jmorey@tbi.com) for the changes.
+ * ace/CORBA_Handler.h (ACE_CORBA_*): The new version of Orbix
+ (2.2C01) on NT finally supports namespaces. So now the macros
+ ACE_CORBA_n need to be defined using the "::" and not the "_"
+ for NT if the new Orbix is being used. Thanks to John Morey
+ (jmorey@tbi.com) for the changes.
Fri Jun 06 02:16:08 1997 <nw1@COYOTE>
- * Sigset_Ops_Test.cpp: Added to test correct implementation of
- sigset manipulating functions.
-
- * run_tests.{sh,bat}, Makefile: Added Sigset_Ops_Test.
+ * Sigset_Ops_Test.cpp: Added to test correct implementation of
+ sigset manipulating functions.
+
+ * run_tests.{sh,bat}, Makefile: Added Sigset_Ops_Test.
Thu Jun 05 20:32:39 1997 David L. Levine <levine@cs.wustl.edu>
- * tests/Timer_Queue_Test.cpp (randomize_array): removed static
- qualifier now that it's a template function. It caused a warning
- with Sun C++.
+ * tests/Timer_Queue_Test.cpp (randomize_array): removed static
+ qualifier now that it's a template function. It caused a warning
+ with Sun C++.
Thu Jun 05 18:28:36 1997 <irfan@TWOSTEP>
- * ace/Asynch_Acceptor.cpp (open): The Proactor was beening passed
- implicitly. I have made this explicit by making this a parameter
- to open. Thanks to MehulM@spa-marketing.com (Mehul Mahimtura)
- for this.
+ * ace/Asynch_Acceptor.cpp (open): The Proactor was beening passed
+ implicitly. I have made this explicit by making this a parameter
+ to open. Thanks to MehulM@spa-marketing.com (Mehul Mahimtura)
+ for this.
Thu Jun 5 12:06:45 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu>
- * ace/Timer_Queue_T.h (ACE_Timer_Queue_T): Overloaded
- calculate_timeout with a version that accepts a pointer to
- storage for the ACE_Time_Value as an argument. This has a small
- performance win over the other b/c it does not take a lock. The
- change was made after examining Quantify output for TAO and
- observing that this lock caused
- Reactor::wait_for_multiple_events() to consume a substantial
- percentage of processing time.
+ * ace/Timer_Queue_T.h (ACE_Timer_Queue_T): Overloaded
+ calculate_timeout with a version that accepts a pointer to
+ storage for the ACE_Time_Value as an argument. This has a small
+ performance win over the other b/c it does not take a lock. The
+ change was made after examining Quantify output for TAO and
+ observing that this lock caused
+ Reactor::wait_for_multiple_events() to consume a substantial
+ percentage of processing time.
- * ace/Reactor.cpp (wait_for_multiple_events): This now uses a
- different version of calculate_timeout() that doesn't require
- taking a lock.
+ * ace/Reactor.cpp (wait_for_multiple_events): This now uses a
+ different version of calculate_timeout() that doesn't require
+ taking a lock.
Thu Jun 05 08:48:49 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Reactor.cpp: added template specializations.
+ * ace/Reactor.cpp: added template specializations.
- * ace/Timer_Queue_T.cpp (ACE_Timer_Queue_T ctor): rearranged
- initializers to match declaration order.
+ * ace/Timer_Queue_T.cpp (ACE_Timer_Queue_T ctor): rearranged
+ initializers to match declaration order.
Thu Jun 5 06:08:06 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu>
- * ace/OS.i (sigaddset, sigdelset, sigismember): NSIG itself is
- invalid and must be excluded.
+ * ace/OS.i (sigaddset, sigdelset, sigismember): NSIG itself is
+ invalid and must be excluded.
Wed Jun 04 21:24:35 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config-sunos5.5-g++.h: fixed typo: #define instead of
- #defined ACE_HAS_CLOCK_GETTIME.
+ * ace/config-sunos5.5-g++.h: fixed typo: #define instead of
+ #defined ACE_HAS_CLOCK_GETTIME.
- * ace/config-sunos5.5-sunc++*.h: Combined
- config-sunos5.5-sunc++-4.x.h and config-sunos5.5-sunc++-4.1.h,
- and removed the latter. The Orbix config file now #includes
- config-sunos5.5-sunc++-4.x.h and adds its differences.
+ * ace/config-sunos5.5-sunc++*.h: Combined
+ config-sunos5.5-sunc++-4.x.h and config-sunos5.5-sunc++-4.1.h,
+ and removed the latter. The Orbix config file now #includes
+ config-sunos5.5-sunc++-4.x.h and adds its differences.
- * include/makeinclude/platform_sunos5_sunc++*.GNU: Combined
- platform_sunos5_sunc++.GNU and platform_sunos5_sunc++-4.1.GNU,
- and removed the latter. platform_sunos5_sunc++_orbix.GNU now
- includes the non-orbix file and adds its differences. Also,
- added optional CC -fast support. To enable, just add "fast=1"
- to your "make" invocation.
+ * include/makeinclude/platform_sunos5_sunc++*.GNU: Combined
+ platform_sunos5_sunc++.GNU and platform_sunos5_sunc++-4.1.GNU,
+ and removed the latter. platform_sunos5_sunc++_orbix.GNU now
+ includes the non-orbix file and adds its differences. Also,
+ added optional CC -fast support. To enable, just add "fast=1"
+ to your "make" invocation.
Wed Jun 04 12:21:41 1997 <irfan@TWOSTEP>
- * tests: Made the following config files consistent:
- UNIXclerk.conf UNIXtokens.conf Win32clerk.conf Win32server.conf
- Win32tokens.conf
+ * tests: Made the following config files consistent:
+ UNIXclerk.conf UNIXtokens.conf Win32clerk.conf Win32server.conf
+ Win32tokens.conf
- * ace/OS.h: Made sure that some #defines were guarded for
- redefinition specially for the Bristol (that provides Win32 API
- on AIX) headers. Thanks to Rich Christy (rchristy@cccis.com) for
- suggesting these changes.
+ * ace/OS.h: Made sure that some #defines were guarded for
+ redefinition specially for the Bristol (that provides Win32 API
+ on AIX) headers. Thanks to Rich Christy (rchristy@cccis.com) for
+ suggesting these changes.
- * ace/Handle_Set.h: Changed the type of handle_index from int to
- u_int on Win32. Thanks to Jack Erickson (jack@cibc.com) for
- suggesting this.
+ * ace/Handle_Set.h: Changed the type of handle_index from int to
+ u_int on Win32. Thanks to Jack Erickson (jack@cibc.com) for
+ suggesting this.
- * ace/FILE.h (ACE_FILE_STREAM): Fixed this #define from
- ACE_FILE_Stream to ACE_FILE_IO.
+ * ace/FILE.h (ACE_FILE_STREAM): Fixed this #define from
+ ACE_FILE_Stream to ACE_FILE_IO.
Tue Jun 3 21:23:48 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Timer_{Queue,Hash}: Fixed some uses of template typedefs
- since GCC is too lame to handle them correctly. Therefore, I
- had to expand TIMER_QUEUE into the ugly fully expanded name.
+ * ace/Timer_{Queue,Hash}: Fixed some uses of template typedefs
+ since GCC is too lame to handle them correctly. Therefore, I
+ had to expand TIMER_QUEUE into the ugly fully expanded name.
- * ace/Timer_Queue_T.cpp: Moved the implementation of
- ACE_Event_Handler_Handle_Timeout_Upcall from Timer_Queue.* into
- Timer_Queue_T.* since only template classes should go into *_T.*
- files.
+ * ace/Timer_Queue_T.cpp: Moved the implementation of
+ ACE_Event_Handler_Handle_Timeout_Upcall from Timer_Queue.* into
+ Timer_Queue_T.* since only template classes should go into *_T.*
+ files.
Tue Jun 3 18:16:02 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
- * ace/Timer_Queue.*:
+ * ace/Timer_Queue.*:
- Templatized ACE_Event_Handler_Handle_Timeout_Upcall with LOCK
-
- Added deletion() to Upcall Functors. This gets called if there
- are any nodes in a queue and the queue's destructor is called
+ Templatized ACE_Event_Handler_Handle_Timeout_Upcall with LOCK
+
+ Added deletion() to Upcall Functors. This gets called if there
+ are any nodes in a queue and the queue's destructor is called
- * ace/Timer_Queue_T.*:
+ * ace/Timer_Queue_T.*:
- Changed iterator accessor to public
+ Changed iterator accessor to public
- Removed two template parameters from ACE_Timer_Node_T so only
- EVENT is left. Added accessors instead of using friendships,
- and deleted the constructor (use set() instead)
+ Removed two template parameters from ACE_Timer_Node_T so only
+ EVENT is left. Added accessors instead of using friendships,
+ and deleted the constructor (use set() instead)
- Changed iterator into a general iterator (with first(), next(),
- isdone() and item () methods)
-
- Added remove_first () method that removes and returns the
- earliest timer in the queue
-
- Added ACE_Free_List support
+ Changed iterator into a general iterator (with first(), next(),
+ isdone() and item () methods)
+
+ Added remove_first () method that removes and returns the
+ earliest timer in the queue
+
+ Added ACE_Free_List support
- * ace/Timer_Heap*:
+ * ace/Timer_Heap*:
- Added upcall functor deletion() support
+ Added upcall functor deletion() support
- Added remove_first () method that removes and returns the
- earliest timer in the queue
-
- * ace/Timer_List*:
+ Added remove_first () method that removes and returns the
+ earliest timer in the queue
+
+ * ace/Timer_List*:
- Changed to double-linked circular list and changed the timer_id
- to be a pointer to the node (like it is in Timer Wheel and Timer
- Hash)
-
- Added upcall functor deletion() support
-
- Added remove_first () method that removes and returns the
- earliest timer in the queue
-
- Added check for timer_id of -1 so we don't try to delete the
- error code if it is passed into cancel
+ Changed to double-linked circular list and changed the timer_id
+ to be a pointer to the node (like it is in Timer Wheel and Timer
+ Hash)
- Changed Timer_List_Iterator_T constructor parameter from list to
- listParm to resolve a conflict with STL. Thanks to Todd
- Barkalow <barkate@louisville.stortek.com> for this fix
+ Added upcall functor deletion() support
- * ace/Timer_Wheel*:
+ Added remove_first () method that removes and returns the
+ earliest timer in the queue
+
+ Added check for timer_id of -1 so we don't try to delete the
+ error code if it is passed into cancel
- Added HighRes timer support
+ Changed Timer_List_Iterator_T constructor parameter from list to
+ listParm to resolve a conflict with STL. Thanks to Todd
+ Barkalow <barkate@louisville.stortek.com> for this fix
- Added upcall functor deletion() support
+ * ace/Timer_Wheel*:
+ Added HighRes timer support
+
+ Added upcall functor deletion() support
+
+ Added earliest_pos_ variable to keep track of the list with
+ the earliest node
- Added earliest_pos_ variable to keep track of the list with the
- earliest node
+ Created an expire that is specialized for ACE_Timer_Wheel
- Created an expire that is specialized for ACE_Timer_Wheel
+ Added remove_first () method that removes and returns the
+ earliest timer in the queue
+
+ Added check for timer_id of -1 so we don't try to delete the
+ error code if it is passed into cancel
- Added remove_first () method that removes and returns the
- earliest timer in the queue
-
- Added check for timer_id of -1 so we don't try to delete the
- error code if it is passed into cancel
+ * ace/Timer_Hash*:
- * ace/Timer_Hash*:
+ Added Timer Hash Queue - This is a class that can take another
+ timer queue type (Timer List, Timer Heap...) as a template
+ parameter (BUCKET) and then do an intermediate hash of a timer
+ to determine which queue among a table of timer queues to put
+ the timer into. ACE_Timer_Hash is typedefed to the Timer List
+ version and ACE_Timer_Hash_Heap is typedefed to the Timer Heap
+ version
- Added Timer Hash Queue - This is a class that can take another
- timer queue type (Timer List, Timer Heap...) as a template
- parameter (BUCKET) and then do an intermediate hash of a timer
- to determine which queue among a table of timer queues to put
- the timer into. ACE_Timer_Hash is typedefed to the Timer List
- version and ACE_Timer_Hash_Heap is typedefed to the Timer Heap
- version
+ Added HighRes timer support
- Added HighRes timer support
+ Added upcall functor deletion() support
- Added upcall functor deletion() support
+ Created an expire that is specialized for ACE_Timer_Hash
- Created an expire that is specialized for ACE_Timer_Hash
+ Added remove_first () method that removes and returns the
+ earliest timer in the queue
+
+ Added check for timer_id of -1 so we don't try to delete the
+ error code if it is passed into cancel
- Added remove_first () method that removes and returns the
- earliest timer in the queue
-
- Added check for timer_id of -1 so we don't try to delete the
- error code if it is passed into cancel
+ * ace/Free_List.*
- * ace/Free_List.*
+ Added ACE_Free_List<T> and ACE_Locked_Free_List<T, LOCK>. These
+ are used to maintain free lists of nodes. ACE_Free_List is a
+ abstract class where ACE_Locked_Free_List is a concrete one that
+ has a mutex parameter (LOCK).
- Added ACE_Free_List<T> and ACE_Locked_Free_List<T, LOCK>. These
- are used to maintain free lists of nodes. ACE_Free_List is a
- abstract class where ACE_Locked_Free_List is a concrete one that
- has a mutex parameter (LOCK).
+ * ace/OS.h:
- * ace/OS.h:
+ Added ACE_DEFAULT_TIMER_HASH_TABLE_SIZE constant
- Added ACE_DEFAULT_TIMER_HASH_TABLE_SIZE constant
+ Added ACE_DEFAULT_FREE_LIST_* constants
- Added ACE_DEFAULT_FREE_LIST_* constants
+ * ace/Proactor.*:
- * ace/Proactor.*:
+ Added deletion() to Upcall Functors. This gets called if there
+ are any nodes in a queue and the queue's destructor is called.
- Added deletion() to Upcall Functors. This gets called if there
- are any nodes in a queue and the queue's destructor is called.
+ * tests/Timer_Queue_Test.cpp:
- * tests/Timer_Queue_Test.cpp:
+ Added HighRes timer support
- Added HighRes timer support
+ Changed the array of timer queues into a list (to more easily
+ add/remove/comment out an entry)
- Changed the array of timer queues into a list (to more easily
- add/remove/comment out an entry)
-
- Added some more performance tests with randomization
+ Added some more performance tests with randomization
Tue Jun 3 00:26:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/OS.h: Changed the access protection for ACE_cond_t,
- ACE_sema_t, ACE_event_t, and ACE_rwlock_t so that it is
- protected rather than private. In addition, added ACE_Export to
- all of these classes so that they are visible outside of a DLL.
- Thanks to Ivan Murphy for these suggestions.
+ * ace/OS.h: Changed the access protection for ACE_cond_t,
+ ACE_sema_t, ACE_event_t, and ACE_rwlock_t so that it is
+ protected rather than private. In addition, added ACE_Export to
+ all of these classes so that they are visible outside of a DLL.
+ Thanks to Ivan Murphy for these suggestions.
- * ace/OS.h: Changed the value of ACE_MAX_DEFAULT_PORT on Win32 to
- 0 in order to work around a nasty NTism... Thanks to Jon Biggar
- <jon@sems.com> for reporting this.
+ * ace/OS.h: Changed the value of ACE_MAX_DEFAULT_PORT on Win32 to
+ 0 in order to work around a nasty NTism... Thanks to Jon Biggar
+ <jon@sems.com> for reporting this.
Mon Jun 2 16:29:48 1997 James C Hu <jxh@lambada.cs.wustl.edu>
- * ace/Process.*:
- - Fixed ACE_Process::spawn to close descriptors after having
- been duped.
- - Fixed ACE_Process::spawn to exit () after an error is
- encountered in the child process, rather than returning.
- - Fixed ACE_Process_Options::set_handles to duplicate handles
- that are passed in, and then to close them in the destructor.
+ * ace/Process.*:
+ - Fixed ACE_Process::spawn to close descriptors after having
+ been duped.
+ - Fixed ACE_Process::spawn to exit () after an error is
+ encountered in the child process, rather than returning.
+ - Fixed ACE_Process_Options::set_handles to duplicate handles
+ that are passed in, and then to close them in the destructor.
Sun Jun 01 22:21:28 1997 David L. Levine <levine@cs.wustl.edu>
- * examples/Threads/tss1.cpp: made some globals non-static or
- const so that tss1 will link with Sun C++ 4.2 -O3. I don't
- know what the problem is; it only shows up with optimization
- enabled. These fixes work around it.
+ * examples/Threads/tss1.cpp: made some globals non-static or
+ const so that tss1 will link with Sun C++ 4.2 -O3. I don't
+ know what the problem is; it only shows up with optimization
+ enabled. These fixes work around it.
Sun Jun 01 20:29:20 1997 James CE Johnson <jcej@lads.com>
- * ace/IOStream*:
- - removed the old 4/5/97 comments
- - made operator>>, << on QuotedString a template
+ * ace/IOStream*:
+ - removed the old 4/5/97 comments
+ - made operator>>, << on QuotedString a template
- This last makes QuotedString much more functional. As
- templated functions, the QuotedString can now be used on
- other iostream-type objects. The previous method of
- defining the function only for the type of ACE_IOStream
- being created was didn't provide this flexibility.
+ This last makes QuotedString much more functional. As
+ templated functions, the QuotedString can now be used on
+ other iostream-type objects. The previous method of
+ defining the function only for the type of ACE_IOStream
+ being created was didn't provide this flexibility.
Sat May 31 07:01:22 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Log_Msg.cpp (open): To avoid handle leaks, we need to
- shutdown the message_queue before trying to reopen it. Thanks
- to Per Andersson for this suggestion.
+ * ace/Log_Msg.cpp (open): To avoid handle leaks, we need to
+ shutdown the message_queue before trying to reopen it. Thanks
+ to Per Andersson for this suggestion.
- * include/makeinclude/platform_osf1_4.0.GNU: Added a new platform
- config file. Thanks to James Johnson for this.
+ * include/makeinclude/platform_osf1_4.0.GNU: Added a new platform
+ config file. Thanks to James Johnson for this.
Fri May 30 16:25:25 1997 <irfan@TWOSTEP>
- * CPP-inclient.cpp (main): Properly compare to the "quit"
- string. Thanks to "Andre Arpin" <arpin@adan.kingston.net> for
- reporting this.
+ * CPP-inclient.cpp (main): Properly compare to the "quit"
+ string. Thanks to "Andre Arpin" <arpin@adan.kingston.net> for
+ reporting this.
- * tests/UPIPE_SAP_Test.cpp (connector): Changed the eof marker in
- the strings.
+ * tests/UPIPE_SAP_Test.cpp (connector): Changed the eof marker in
+ the strings.
Fri May 30 14:04:44 1997 James C Hu <jxh@lambada.cs.wustl.edu>
- * include/makeinclude/platform_irix6.4_sgic++.GNU: added to make
- things compile on latest SGI machines. Removed +pp and -woff...
- flags from the CCFLAGS variable. Added new -woff flags to hide
- other warnings.
+ * include/makeinclude/platform_irix6.4_sgic++.GNU: added to make
+ things compile on latest SGI machines. Removed +pp and -woff...
+ flags from the CCFLAGS variable. Added new -woff flags to hide
+ other warnings.
- * ace/config-irix6.4-sgic++*.h: copied corresponding configs from
- irix6.2 and removed ACE_HAS_SVR4_TIME, since this seems to be no
- longer true of irix6.4.
+ * ace/config-irix6.4-sgic++*.h: copied corresponding configs from
+ irix6.2 and removed ACE_HAS_SVR4_TIME, since this seems to be no
+ longer true of irix6.4.
Fri May 30 02:39:39 1997 <irfan@TWOSTEP>
- * ace/Connector.cpp
-
- (create_AST): On Win32, added the except mask when registering
- with the Reactor to find out when asynchronous connects
- complete.
+ * ace/Connector.cpp
+
+ (create_AST): On Win32, added the except mask when registering
+ with the Reactor to find out when asynchronous connects
+ complete.
- (Svc_Tuple): Made sure that the default value for the timer_id
- in AST is not 0. 0 is a valid timer_id. I have changed this to
- be -1.
+ (Svc_Tuple): Made sure that the default value for the timer_id
+ in AST is not 0. 0 is a valid timer_id. I have changed this to
+ be -1.
- (handle_exception): Added this method. On
- Win32, the except mask must also be set for asynchronous
- connects.
+ (handle_exception): Added this method. On
+ Win32, the except mask must also be set for asynchronous
+ connects.
Thu May 29 21:28:25 1997 <harrison@samba.cs.wustl.edu>
- * Process.*: Removed the ACE_Process_Old class.
+ * Process.*: Removed the ACE_Process_Old class.
- * Local_Tokens_T.*: Removed all these files. They have not been
- used by the token library for some time. They were mistakenly
- put in the release.
+ * Local_Tokens_T.*: Removed all these files. They have not been
+ used by the token library for some time. They were mistakenly
+ put in the release.
Thu May 29 02:00:14 1997 <irfan@TWOSTEP>
- * ACE.cpp (is_process_active): Added this method which checks if a
- process is still alive. Thanks to Chris (CLahey@cccis.com) for
- this code.
+ * ACE.cpp (is_process_active): Added this method which checks if a
+ process is still alive. Thanks to Chris (CLahey@cccis.com) for
+ this code.
- * ace/OS.i (kill): Changed PROCESS_ALL_ACCESS to
- PROCESS_TERMINATE.
+ * ace/OS.i (kill): Changed PROCESS_ALL_ACCESS to
+ PROCESS_TERMINATE.
- * ace/ACE.cpp (bind_port): Changed the implementation of this
- method such that a recently used port is not used again in the
- next call to this method on Win32, i.e., upper limit is
- decreased even in the successful case. This fixes the problem on
- Win32 where binding to a recently used port works but the
- following connect fails.
+ * ace/ACE.cpp (bind_port): Changed the implementation of this
+ method such that a recently used port is not used again in the
+ next call to this method on Win32, i.e., upper limit is
+ decreased even in the successful case. This fixes the problem on
+ Win32 where binding to a recently used port works but the
+ following connect fails.
- * ace/Acceptor.cpp (close): Added a close method that allows us
- to shutdown the Acceptor (without having to destroy it).
+ * ace/Acceptor.cpp (close): Added a close method that allows us
+ to shutdown the Acceptor (without having to destroy it).
- * ace/Connector.cpp (close): Added a close method that allows us
- to shutdown the Connector (without having to destroy it).
+ * ace/Connector.cpp (close): Added a close method that allows us
+ to shutdown the Connector (without having to destroy it).
- * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp
+ * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp
- (handle_close): Removed this method. This code seemed to be
- duplicating the code in the handle_close of the proxies.
+ (handle_close): Removed this method. This code seemed to be
+ duplicating the code in the handle_close of the proxies.
- (initiate_connection): Removed the code that did
- rescheduling. The proxies are responsible for this.
+ (initiate_connection): Removed the code that did
+ rescheduling. The proxies are responsible for this.
- * apps/Gateway/Gateway/Event_Channel.cpp
+ * apps/Gateway/Gateway/Event_Channel.cpp
- (initiate_proxy_connection): Must *always* use the correct synch
- options while connecting.
+ (initiate_proxy_connection): Must *always* use the correct synch
+ options while connecting.
- (reinitiate_proxy_connection): Always register for timeouts if
- we are not disconnecting. This allows us to remove duplicated
- logic in Proxy_Handler_Connector.
+ (reinitiate_proxy_connection): Always register for timeouts if
+ we are not disconnecting. This allows us to remove duplicated
+ logic in Proxy_Handler_Connector.
- The new logic of close() allows us to remove the code that use
- to remove the proxy from the map to prevent double deletes.
+ The new logic of close() allows us to remove the code that use
+ to remove the proxy from the map to prevent double deletes.
- (close): Changed the shutdown logic to: Tell everyone that the
- spaceship is here (behind the comet), close down the connector,
- close down the acceptor, tell everyone that it is now time to
- commit suicide.
+ (close): Changed the shutdown logic to: Tell everyone that the
+ spaceship is here (behind the comet), close down the connector,
+ close down the acceptor, tell everyone that it is now time to
+ commit suicide.
- * apps/Gateway/Gateway/Proxy_Handler.cpp (handle_timeout): Must
- return 0, or else the timer queue will cancel the handler and
- *all* its timeouts.
+ * apps/Gateway/Gateway/Proxy_Handler.cpp (handle_timeout): Must
+ return 0, or else the timer queue will cancel the handler and
+ *all* its timeouts.
- * apps/Gateway/Peer/svc.conf,Makefile: We now generate a Peer
- shared library (instead of just an .so). The svc.conf was
- changed to reflect this.
+ * apps/Gateway/Peer/svc.conf,Makefile: We now generate a Peer
+ shared library (instead of just an .so). The svc.conf was
+ changed to reflect this.
- * tests/UPIPE_SAP_Test.cpp: Fixed output message.
+ * tests/UPIPE_SAP_Test.cpp: Fixed output message.
- * Handle_Set.i (operator): Fixed typo.
+ * Handle_Set.i (operator): Fixed typo.
Thu May 29 11:09:52 1997 David L. Levine <levine@cs.wustl.edu>
- * include/makeinclude/rules.local.GNU: check for directory
- write permission before attempting to install. This helps
- support shared ACE workspaces. There are two easy ways
- to not install "private" libraries in the shared workspace:
- 1) remove write permission from $WRAPPER_ROOT/ace, or
- 2) add "INSTALL=" to invocations of "make".
+ * include/makeinclude/rules.local.GNU: check for directory
+ write permission before attempting to install. This helps
+ support shared ACE workspaces. There are two easy ways
+ to not install "private" libraries in the shared workspace:
+ 1) remove write permission from $WRAPPER_ROOT/ace, or
+ 2) add "INSTALL=" to invocations of "make".
Thu May 29 06:07:18 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/OS.i (thr_join): Revised some code in the #ifdef'd out
- version of ACE_OS::thr_join() so that it will compile correctly.
- Note that this code isn't currently used, but someday it will
- be. Thanks to Hamutal Yanay for reporting this.
+ * ace/OS.i (thr_join): Revised some code in the #ifdef'd out
+ version of ACE_OS::thr_join() so that it will compile correctly.
+ Note that this code isn't currently used, but someday it will
+ be. Thanks to Hamutal Yanay for reporting this.
Wed May 28 16:37:57 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.{h,i} (ACE_Time_Value): added default constructor,
- which does not call normalize (). ACE_Time_Value::normalize ()
- was showing up as a relatively minor, but signficant hot
- spot in Event Channel latency tests.
+ * ace/OS.{h,i} (ACE_Time_Value): added default constructor,
+ which does not call normalize (). ACE_Time_Value::normalize ()
+ was showing up as a relatively minor, but signficant hot
+ spot in Event Channel latency tests.
Wed May 28 16:02:53 1997 James C Hu <jxh@lambada.cs.wustl.edu>
- * ace/OS.i: Changes to strdup and getpid for CHORUS, as per Wei
- Chiang's suggestions.
+ * ace/OS.i: Changes to strdup and getpid for CHORUS, as per Wei
+ Chiang's suggestions.
Tue May 27 18:26:51 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/config-hpux-10.x-decthreads.h: Added support for HP/UX 10.10
- with DCE threads. Thanks to Shankar Krishnamoorthy
- <kshankar@lucent.com> for these fixes.
+ * ace/config-hpux-10.x-decthreads.h: Added support for HP/UX 10.10
+ with DCE threads. Thanks to Shankar Krishnamoorthy
+ <kshankar@lucent.com> for these fixes.
- * ace/Local_Tokens_T.h: #if def'd out all of this file since it
- doesn't seem to be used anymore. Thanks to Shankar
- Krishnamoorthy <kshankar@lucent.com> for reporting this.
+ * ace/Local_Tokens_T.h: #if def'd out all of this file since it
+ doesn't seem to be used anymore. Thanks to Shankar
+ Krishnamoorthy <kshankar@lucent.com> for reporting this.
- * ace/Makefile (TEMPLATE_FILES): Removed Local_Tokens_T since it
- doesn't appear to be used anywhere.
+ * ace/Makefile (TEMPLATE_FILES): Removed Local_Tokens_T since it
+ doesn't appear to be used anywhere.
Tue May 27 18:47:34 1997 James C Hu <jxh@lambada.cs.wustl.edu>
- * tests/*.cpp: Various changes for EBCIDIC compatibility.
- Thanks to Chuck Gehr for pointing out the need for this!
+ * tests/*.cpp: Various changes for EBCIDIC compatibility.
+ Thanks to Chuck Gehr for pointing out the need for this!
- * tests/test_config.h: Added ACE_ALPHABET to aid a-z sending and
- comparing.
+ * tests/test_config.h: Added ACE_ALPHABET to aid a-z sending and
+ comparing.
Tue May 27 15:03:25 1997 David L. Levine <levine@cs.wustl.edu>
- * tests/Future_Test.cpp: added ACE_Future{_Rep}<int> template
- specializations.
+ * tests/Future_Test.cpp: added ACE_Future{_Rep}<int> template
+ specializations.
Tue May 27 07:49:03 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Future.cpp: Made a few minor reformatting changes to Per's
- new Future enhancements.
+ * ace/Future.cpp: Made a few minor reformatting changes to Per's
+ new Future enhancements.
Tue May 27 14:19:14 1997 Per Andersson <Per.Andersson@hfera.ericsson.se>
- * ace/Future: Fixed self assignment bug in ACE_Future<>::operator=().
- Fixed bug in ACE_Future<>::set(). It is now possible to do a
- ACE_Future<>::set() followed by a ACE_Future<>::get() without
- hanging forever.
+ * ace/Future: Fixed self assignment bug in ACE_Future<>::operator=().
+ Fixed bug in ACE_Future<>::set(). It is now possible to do a
+ ACE_Future<>::set() followed by a ACE_Future<>::get() without
+ hanging forever.
- Moved all handling of the ACE_Future_Rep<> reference count
- into three new static ACE_Future_Rep<> member functions,
- create, attach, assign and detach.
+ Moved all handling of the ACE_Future_Rep<> reference count
+ into three new static ACE_Future_Rep<> member functions,
+ create, attach, assign and detach.
- Removed one mutex from ACE_Future_Rep<> by changing the
- reference count from an ACE_Atomic_Op<int> into a plain
- int. The ACE_Future_Rep<>::value_ready_mutex_ mutex is
- instead used for serializing changes to the reference count.
- (ACE_Future_Rep<>::attach, ACE_Future_Rep<>::detach())
+ Removed one mutex from ACE_Future_Rep<> by changing the
+ reference count from an ACE_Atomic_Op<int> into a plain
+ int. The ACE_Future_Rep<>::value_ready_mutex_ mutex is
+ instead used for serializing changes to the reference count.
+ (ACE_Future_Rep<>::attach, ACE_Future_Rep<>::detach())
- Removed mutex from ACE_Future<> the serialization is
- performed by the ACE_Future_Rep<>::attach,
- ACE_Future_Rep<>::detach() and ACE_Future_Rep<>::assign()
- functions.
+ Removed mutex from ACE_Future<> the serialization is
+ performed by the ACE_Future_Rep<>::attach,
+ ACE_Future_Rep<>::detach() and ACE_Future_Rep<>::assign()
+ functions.
- Changed the ACE_Future<> default constructor to always
- create a ACE_Future_Rep<>
+ Changed the ACE_Future<> default constructor to always
+ create a ACE_Future_Rep<>
- * tests/Future_Test.cpp: Added test case for
- ACE_Future<>::set() followed by ACE_Future<>::get(). Added
- test for working ACE_Future::operator=(). The test is not
- fool proof but it crashes or hangs the test process with the
- old ACE_Future<> implementation.
+ * tests/Future_Test.cpp: Added test case for
+ ACE_Future<>::set() followed by ACE_Future<>::get(). Added
+ test for working ACE_Future::operator=(). The test is not
+ fool proof but it crashes or hangs the test process with the
+ old ACE_Future<> implementation.
Mon May 26 14:19:14 1997 James C Hu <jxh@polka.cs.wustl.edu>
- * ace/OS.{h,i}: Fixed difftime implementation for cases where
- systems implement it as a macro. Fixed tempnam by adding
- ACE_LACKS_TEMPNAM.
+ * ace/OS.{h,i}: Fixed difftime implementation for cases where
+ systems implement it as a macro. Fixed tempnam by adding
+ ACE_LACKS_TEMPNAM.
Sun May 25 11:36:22 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * examples/Reactor/Misc: Removed test_handle_set.cpp since it
- is now completed subsumed by tests/Handle_Set_Test.cpp.
+ * examples/Reactor/Misc: Removed test_handle_set.cpp since it
+ is now completed subsumed by tests/Handle_Set_Test.cpp.
- * tests/Handle_Set_Test.cpp: Updated the test of
- the ACE_Handle_Set so that it shows how fast the iterator works.
+ * tests/Handle_Set_Test.cpp: Updated the test of
+ the ACE_Handle_Set so that it shows how fast the iterator works.
- * ace/Reactor.cpp: Updated the Reactor to use the new
- ACE_Handle_Set_Iterator (whic no longer requires calling
- operator++ to advance the iterator).
+ * ace/Reactor.cpp: Updated the Reactor to use the new
+ ACE_Handle_Set_Iterator (whic no longer requires calling
+ operator++ to advance the iterator).
- * ace/Handle_Set: Rewrote the ACE_Handle_Set_Iterator to speed it up.
- The result seems to be about 15% faster than the original.
+ * ace/Handle_Set: Rewrote the ACE_Handle_Set_Iterator to speed it up.
+ The result seems to be about 15% faster than the original.
- * ace/OS.h: Changed the MSB_MASK static constant into a macro and
- moved it from Handle_Set.cpp into OS.h, changing its name to
- ACE_MSB_MASK.
+ * ace/OS.h: Changed the MSB_MASK static constant into a macro and
+ moved it from Handle_Set.cpp into OS.h, changing its name to
+ ACE_MSB_MASK.
- * ace/Sched_Params.cpp (priority_max): Added another #ifdef for
- Chorus. Thanks to Wei Chiang for reporting this.
+ * ace/Sched_Params.cpp (priority_max): Added another #ifdef for
+ Chorus. Thanks to Wei Chiang for reporting this.
- * include/makeinclude/platform_sunos5_sunc++_orbix.GNU: added -l
- in front of orbixmt. Thanks to Wei Chiang for pointing this
- out.
+ * include/makeinclude/platform_sunos5_sunc++_orbix.GNU: added -l
+ in front of orbixmt. Thanks to Wei Chiang for pointing this
+ out.
- * ace/ACE.cpp: Changed the default port for NT so that it starts
- at 65279 rather than 65535. Hopefully, this will fix that
- annoying bug that has been plaguing us on NT 4.0 for months.
- Thanks to Goran Lowkrantz <Goran.Lowkrantz@Infologigruppen.se>
- for reporting this.
+ * ace/ACE.cpp: Changed the default port for NT so that it starts
+ at 65279 rather than 65535. Hopefully, this will fix that
+ annoying bug that has been plaguing us on NT 4.0 for months.
+ Thanks to Goran Lowkrantz <Goran.Lowkrantz@Infologigruppen.se>
+ for reporting this.
Sat May 24 23:42:32 1997 David L. Levine <levine@cs.wustl.edu>
- * performance-tests/Misc/test_naming.cpp (do_testing): replaced
- strlen () calls in character array size with constant expression.
+ * performance-tests/Misc/test_naming.cpp (do_testing): replaced
+ strlen () calls in character array size with constant expression.
Sat May 24 12:07:48 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * Released version 4.2.1 for testing.
+ * Released version 4.2.1 for testing.
- * ace/Reactor.cpp (bind): Fixed a stupid typo where I was using
- the ACE_REACTOR_EVENT_HANDLER macro instead of the
- ACE_REACTOR_HANDLE macro. Thanks to Detlef for reporting this.
+ * ace/Reactor.cpp (bind): Fixed a stupid typo where I was using
+ the ACE_REACTOR_EVENT_HANDLER macro instead of the
+ ACE_REACTOR_HANDLE macro. Thanks to Detlef for reporting this.
- * ace/OS.i: Added a new macro called ACE_HAS_THR_MINSTACK to deal
- with weirdo mangling of names by Tandem. Thanks to Jan Perman
- <uabjjpp@osd.ericsson.se> for reporting this.
+ * ace/OS.i: Added a new macro called ACE_HAS_THR_MINSTACK to deal
+ with weirdo mangling of names by Tandem. Thanks to Jan Perman
+ <uabjjpp@osd.ericsson.se> for reporting this.
- * ace/OS.h: Added a new macro ACE_LACKS_PRI_T for those platforms
- using STHREADS (e.g., Tandem NonStop OS) that don't have pri_t
- defined. Thanks to Jan Perman <uabjjpp@osd.ericsson.se> for
- reporting this.
+ * ace/OS.h: Added a new macro ACE_LACKS_PRI_T for those platforms
+ using STHREADS (e.g., Tandem NonStop OS) that don't have pri_t
+ defined. Thanks to Jan Perman <uabjjpp@osd.ericsson.se> for
+ reporting this.
- * ace/Connector.cpp (connect): Make sure to save/restore errno
- since svc_handler->close() may change it. Thanks to Michael
- Hartman <c62nt57@ibx.com> for reporting this.
+ * ace/Connector.cpp (connect): Make sure to save/restore errno
+ since svc_handler->close() may change it. Thanks to Michael
+ Hartman <c62nt57@ibx.com> for reporting this.
- * include/makeinclude/platform_chorus.GNU: Added a new platform
- macros file for Chorus. Thanks to Wei Chang for this.
+ * include/makeinclude/platform_chorus.GNU: Added a new platform
+ macros file for Chorus. Thanks to Wei Chang for this.
- * ace/OS.cpp (sched_params): Reordered the #ifdefs so that Chorus
- comes first.
+ * ace/OS.cpp (sched_params): Reordered the #ifdefs so that Chorus
+ comes first.
- * ace/OS.i (sleep): If the platform defines ACE_HAS_CLOCK_GETTIME
- then we'll use the nanosleep() method rather than sleep().
+ * ace/OS.i (sleep): If the platform defines ACE_HAS_CLOCK_GETTIME
+ then we'll use the nanosleep() method rather than sleep().
- * ace/OS.h: disabled THR_NEW_LWP for Chorus. Thanks to Wei Chang
- for reporting this.
+ * ace/OS.h: disabled THR_NEW_LWP for Chorus. Thanks to Wei Chang
+ for reporting this.
- * ace/Sched_Params.cpp: ACE_SCHED_OTHER and ACE_SCHED_RR have the
- same value on Chorus. Thanks to Wei Chang for reporting this.
+ * ace/Sched_Params.cpp: ACE_SCHED_OTHER and ACE_SCHED_RR have the
+ same value on Chorus. Thanks to Wei Chang for reporting this.
Sat May 24 09:21:08 1997 David L. Levine <levine@cs.wustl.edu>
- * netsvcs/lib/Server_Logging_Handler.cpp: protected second
- ACE_Svc_Handler specialization for case that ACE_HAS_THREADS,
- when ACE_HAS_TLI. It had gotten lost in the last pass of
- that module. Thanks to Sandro Doro <doros@aureus.sublink.org>
- for reporting this problem.
+ * netsvcs/lib/Server_Logging_Handler.cpp: protected second
+ ACE_Svc_Handler specialization for case that ACE_HAS_THREADS,
+ when ACE_HAS_TLI. It had gotten lost in the last pass of
+ that module. Thanks to Sandro Doro <doros@aureus.sublink.org>
+ for reporting this problem.
Sat May 24 03:19:38 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu>
- * ace/OS.i (sigaddset, sigdelset, sigemptyset, sigfillset,
- sigismember): Modified the implementation of these function so
- as to conform with POSIX standard. Basically all functions do
- the same things they did but more conservative protections are
- added. The modified semantic becomes,
-
- sigemptyset, sigfillset, sigaddset, sigdelset: return 0 if
- succeed, -1 otherwise.
- sigismember: returns 0 if signum is not in the set, 1 if signum
- is in the set, and -1 if error occurs.
+ * ace/OS.i (sigaddset, sigdelset, sigemptyset, sigfillset,
+ sigismember): Modified the implementation of these function so
+ as to conform with POSIX standard. Basically all functions do
+ the same things they did but more conservative protections are
+ added. The modified semantic becomes,
+
+ sigemptyset, sigfillset, sigaddset, sigdelset: return 0 if
+ succeed, -1 otherwise.
+ sigismember: returns 0 if signum is not in the set, 1 if signum
+ is in the set, and -1 if error occurs.
- If error occured, errno will be set to one of the following
- value:
- EFAULT: sigset is not a valid address.
- EINVAL: signum is not a valid signal number.
+ If error occured, errno will be set to one of the following
+ value:
+ EFAULT: sigset is not a valid address.
+ EINVAL: signum is not a valid signal number.
- Notice that, so far, this is for NT only.
+ Notice that, so far, this is for NT only.
Sat May 24 01:53:22 1997 James C Hu <jxh@polka.cs.wustl.edu>
- * performance-tests/Misc/test_naming.cpp (do_testing): Thanks to
- Sandro Doro, squashed a bug where we were trying to concatenate
- onto a string constant.
+ * performance-tests/Misc/test_naming.cpp (do_testing): Thanks to
+ Sandro Doro, squashed a bug where we were trying to concatenate
+ onto a string constant.
Fri May 23 01:01:01 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/config-hpux-9.x.h: Added
+ * ace/config-hpux-9.x.h: Added
- #define ACE_HAS_BROKEN_ENUMS
- #define ACE_HAS_IP_MULTICAST
- #define ACE_LACKS_GETPGID
+ #define ACE_HAS_BROKEN_ENUMS
+ #define ACE_HAS_IP_MULTICAST
+ #define ACE_LACKS_GETPGID
- Thanks to Neil Cohen for reporting these.
+ Thanks to Neil Cohen for reporting these.
- * ace/Thread_Manager.h: Made the private methods and data members
- protected so that subclasses can extend it. Thanks to Hamutal
- Yanay for this suggestion.
+ * ace/Thread_Manager.h: Made the private methods and data members
+ protected so that subclasses can extend it. Thanks to Hamutal
+ Yanay for this suggestion.
Fri May 23 21:27:05 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Process.{h,cpp} (env_argv): added "const" to char * type in
- return type, for argument compatibility in call to ACE_OS::execve ().
-
- * ace/Process.cpp (spawn): removed unreachable return statement at
- end of function.
-
- Thanks to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for
- reporting the above two problems.
-
- * ace/{IOStream*,Makefile}: Split out templates into
- ace/IOStream_T.{h,cpp} files. This way, automatic template
- instantiation systems that require templates to be in separate
- files, such as on Irix 6.2, will be able to build IOStream_Test
- and the ACE_IOStream examples without warnings. (The
- ACE_IOSTREAM_BUILDING_TEMPLATE macro that did this only worked
- if ACE_TEMPLATES_REQUIRE_SOURCE was defined. It's no longer
- needed with the separate template files.)
-
- * tests/IOStream_Test.cpp,
- examples/IOStream/client/iostream_client.cpp,
- examples/IOStream/server/iostream_server.cpp:
- swapped ACE_Streambuf and ACE_Streambuf_T class names so that
- the template class has the "_T". And renamed ACE_IOStream_T
- for consistency.
-
- * ace/{IOStream.*,README},
- tests/IOStream_Test.cpp,
- examples/IOStream/client/iostream_client.cpp,
- examples/IOStream/server/iostream_server.cpp,
- config-hpux-9.x*.h:
- Added ACE_LACKS_ACE_IOSTREAM protection
- so that these can easily be built on platforms that have
- trouble with ACE_IOStream.
-
- * Priority_Task_Test.cpp: removed close () because it didn't really
- close the Task, and added printout to main () after all tasks have
- been spawned to help debug non-termination.
-
- * ace/OS.cpp: (thr_create, with STHREADS only): *thr_handle was
- used but *thr_id had been set by ::thr_create, so threads never
- got activated. Fixed by using *thr_id instead of *thr_handle
- in the calls to ACE_OS::thr_setprio and ACE_OS::continue.
- Thanks to Jan Perman <uabjjpp@osd.ericsson.se> for reporting
- this problem.
+ * ace/Process.{h,cpp} (env_argv): added "const" to char * type in
+ return type, for argument compatibility in call to ACE_OS::execve ().
+
+ * ace/Process.cpp (spawn): removed unreachable return statement at
+ end of function.
+
+ Thanks to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for
+ reporting the above two problems.
+
+ * ace/{IOStream*,Makefile}: Split out templates into
+ ace/IOStream_T.{h,cpp} files. This way, automatic template
+ instantiation systems that require templates to be in separate
+ files, such as on Irix 6.2, will be able to build IOStream_Test
+ and the ACE_IOStream examples without warnings. (The
+ ACE_IOSTREAM_BUILDING_TEMPLATE macro that did this only worked
+ if ACE_TEMPLATES_REQUIRE_SOURCE was defined. It's no longer
+ needed with the separate template files.)
+
+ * tests/IOStream_Test.cpp,
+ examples/IOStream/client/iostream_client.cpp,
+ examples/IOStream/server/iostream_server.cpp:
+ swapped ACE_Streambuf and ACE_Streambuf_T class names so that
+ the template class has the "_T". And renamed ACE_IOStream_T
+ for consistency.
+
+ * ace/{IOStream.*,README},
+ tests/IOStream_Test.cpp,
+ examples/IOStream/client/iostream_client.cpp,
+ examples/IOStream/server/iostream_server.cpp,
+ config-hpux-9.x*.h:
+ Added ACE_LACKS_ACE_IOSTREAM protection
+ so that these can easily be built on platforms that have
+ trouble with ACE_IOStream.
+
+ * Priority_Task_Test.cpp: removed close () because it didn't really
+ close the Task, and added printout to main () after all tasks have
+ been spawned to help debug non-termination.
+
+ * ace/OS.cpp: (thr_create, with STHREADS only): *thr_handle was
+ used but *thr_id had been set by ::thr_create, so threads never
+ got activated. Fixed by using *thr_id instead of *thr_handle
+ in the calls to ACE_OS::thr_setprio and ACE_OS::continue.
+ Thanks to Jan Perman <uabjjpp@osd.ericsson.se> for reporting
+ this problem.
Fri May 23 20:12:33 1997 James C Hu <jxh@polka.cs.wustl.edu>
- * tests/SV_Shared_Memory_Test.cpp: Thanks to Chuck Gehr, fixed
- ASCII dependent code in the parent and child routines.
+ * tests/SV_Shared_Memory_Test.cpp: Thanks to Chuck Gehr, fixed
+ ASCII dependent code in the parent and child routines.
Fri May 23 02:58:28 1997 Nanbor Wang <nw1@siesta.cs.wustl.edu>
- * ace/OS.i (dlsym): Added ACE_USES_ASM_SYMBOL_IN_DLSYM, support
- for platforms (FreeBSD) which use assembly symbols instead of C
- symbols in dlsym ().
+ * ace/OS.i (dlsym): Added ACE_USES_ASM_SYMBOL_IN_DLSYM, support
+ for platforms (FreeBSD) which use assembly symbols instead of C
+ symbols in dlsym ().
- * ace/config-freebsd[-pthread].h: Added flag ACE_HAS_CHARPTR_DL
- and ACE_USES_ASM_SYMBOL_IN_DLSYM.
+ * ace/config-freebsd[-pthread].h: Added flag ACE_HAS_CHARPTR_DL
+ and ACE_USES_ASM_SYMBOL_IN_DLSYM.
Thu May 22 08:14:21 1997 David L. Levine <levine@cs.wustl.edu>
- * tests/Tokens_Test.cpp: added deletes to avoid memory leaks.
+ * tests/Tokens_Test.cpp: added deletes to avoid memory leaks.
Wed May 21 16:15:48 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/{config-irix6.2*.h,README}: removed ACE_LACKS_IOSTREAM_SETGET
- because tests won't build with it. Also, added
- ACE_LACKS_SIGNED_CHAR.
+ * ace/{config-irix6.2*.h,README}: removed ACE_LACKS_IOSTREAM_SETGET
+ because tests won't build with it. Also, added
+ ACE_LACKS_SIGNED_CHAR.
- * ace/IOStream.h: removed "const" from PUT_PROT of
- u_char * and void *. This should allow the IOStream test
- and examples to build and run on Irix platforms. Thanks
- to Torbjorn Lindgren <tl@funcom.com> and Amos Shapira
- <amos@dsi.co.il> for reporting this, and to James Hu for
- helping fix it.
+ * ace/IOStream.h: removed "const" from PUT_PROT of
+ u_char * and void *. This should allow the IOStream test
+ and examples to build and run on Irix platforms. Thanks
+ to Torbjorn Lindgren <tl@funcom.com> and Amos Shapira
+ <amos@dsi.co.il> for reporting this, and to James Hu for
+ helping fix it.
- * ace/{OS.cpp,Sched_Params.cp} (Solaris only): use 0 min priority
- again, with workaround in ACE_OS::thr_create to not use
- ::pthread_attr_setschedparam () if the priority is 0. Instead,
- the priority of the newly created thread is set to 0 (if it
- wasn't created with 0) after the thread is created, with
- ::pthread_setschedparam ().
+ * ace/{OS.cpp,Sched_Params.cp} (Solaris only): use 0 min priority
+ again, with workaround in ACE_OS::thr_create to not use
+ ::pthread_attr_setschedparam () if the priority is 0. Instead,
+ the priority of the newly created thread is set to 0 (if it
+ wasn't created with 0) after the thread is created, with
+ ::pthread_setschedparam ().
Wed May 21 15:23:37 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * ace/Strategies_T.* (ACE_Hash_Addr): Eliminated the ADDR_T
- template parameter as a base class. It is now a wholly-contained
- member of the ACE_Hash_Addr<> with conversion operators.
+ * ace/Strategies_T.* (ACE_Hash_Addr): Eliminated the ADDR_T
+ template parameter as a base class. It is now a wholly-contained
+ member of the ACE_Hash_Addr<> with conversion operators.
This caused problems on certain compilers, notably HP-UX.
Wed May 21 14:13:36 1997 James C Hu <jxh@polka.cs.wustl.edu>
- * ace/OS.{h,i} (difftime): Added implementation to ACE_OS. I
- don't expect any problems since it is in ANSI.
+ * ace/OS.{h,i} (difftime): Added implementation to ACE_OS. I
+ don't expect any problems since it is in ANSI.
- * ace/OS.{h,i} (tempnam): Added implementation to ACE_OS.
+ * ace/OS.{h,i} (tempnam): Added implementation to ACE_OS.
Wed May 21 01:17:40 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * Released version 4.2.
+ * Released version 4.2.
- * ace/Acceptor.cpp (activate_svc_handler ): Removed an unnecessary
- return 0. Thanks to Amos Shapira <amos@dsi.co.il> for reporting
- this.
+ * ace/Acceptor.cpp (activate_svc_handler ): Removed an unnecessary
+ return 0. Thanks to Amos Shapira <amos@dsi.co.il> for reporting
+ this.
- * ace/Message_Block.cpp (release): I believe that
- ACE_Message_Block::release() should return something other than
- 0, i.e., it should return the result of release_i(). Thanks to
- Amos Shapira <amos@dsi.co.il> for reporting this.
+ * ace/Message_Block.cpp (release): I believe that
+ ACE_Message_Block::release() should return something other than
+ 0, i.e., it should return the result of release_i(). Thanks to
+ Amos Shapira <amos@dsi.co.il> for reporting this.
Wed May 21 01:17:40 1997 Per Andersson <Per.Andersson@hfera.ericsson.se>
- * Moved most code from netsvcs/lib/Server_Logging_Handler.* to
- Server_Logging_Handler_T.*. Made template out of
- ACE_Server_Logging_Handler and ACE_Server_Logging_Acceptor.
- Factorised out as much as possible to reduce code
- duplication. The log record processing was moved from
- ACE_Server_Logging_Handler it should now be handled by the
- Log_Message_Receiver class. It is now possible to change
- how log records processed without changing code in
- Server_Logging_Handler* and it is possible to have several
- Server_Logging_Handlers that processes log records
- in different ways without duplicating all the server code.
- All that is needed is to write a new/change
- Log_Message_Receiver and instantiate a couple of templates.
-
- * netsvcs/lib/Server_Logging_Handler.h added lots of typedefs
- for making template instantiations easier.
-
- * netsvcs/lib/Server_Logging_Handler.h addad lots template
- instatiations, there are now 58 all together.
-
- * Added netsvc/lib/Log_Message_Receiver.{h,cpp}, implementstwo
- simple log message receivers that prints the log record to
- stderr.
+ * Moved most code from netsvcs/lib/Server_Logging_Handler.* to
+ Server_Logging_Handler_T.*. Made template out of
+ ACE_Server_Logging_Handler and ACE_Server_Logging_Acceptor.
+ Factorised out as much as possible to reduce code
+ duplication. The log record processing was moved from
+ ACE_Server_Logging_Handler it should now be handled by the
+ Log_Message_Receiver class. It is now possible to change
+ how log records processed without changing code in
+ Server_Logging_Handler* and it is possible to have several
+ Server_Logging_Handlers that processes log records
+ in different ways without duplicating all the server code.
+ All that is needed is to write a new/change
+ Log_Message_Receiver and instantiate a couple of templates.
+
+ * netsvcs/lib/Server_Logging_Handler.h added lots of typedefs
+ for making template instantiations easier.
+
+ * netsvcs/lib/Server_Logging_Handler.h addad lots template
+ instatiations, there are now 58 all together.
+
+ * Added netsvc/lib/Log_Message_Receiver.{h,cpp}, implementstwo
+ simple log message receivers that prints the log record to
+ stderr.
Tue May 20 13:50:17 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/config-hpux-9.x.h: Added a #define for ACE_HAS_BROKEN_ENUM,
- ACE_HAS_IP_MULTICAST, and ACE_LACKS_GETPGID. Thanks to Neil
- Cohen for reporting this.
+ * ace/config-hpux-9.x.h: Added a #define for ACE_HAS_BROKEN_ENUM,
+ ACE_HAS_IP_MULTICAST, and ACE_LACKS_GETPGID. Thanks to Neil
+ Cohen for reporting this.
- * include/makeinclude/platform_sunos5_sunc++_orbix.GNU: Replaced
- the use of -lITsrv with -lorbixmt. Thanks to Wei Chiang for
- this.
+ * include/makeinclude/platform_sunos5_sunc++_orbix.GNU: Replaced
+ the use of -lITsrv with -lorbixmt. Thanks to Wei Chiang for
+ this.
- * include/makeinclude/platform_osf1_3.2.GNU: Make sure that all
- the template repositories are in the same directory to work
- around problems with the C++ compiler. Also added -lrt to get
- the apps and tests to run. Thanks to Tom Dobridge for this
- help.
+ * include/makeinclude/platform_osf1_3.2.GNU: Make sure that all
+ the template repositories are in the same directory to work
+ around problems with the C++ compiler. Also added -lrt to get
+ the apps and tests to run. Thanks to Tom Dobridge for this
+ help.
Tue May 20 17:13:15 1997 Carlos O'Ryan <coryan@charlie>
- * ace/config-hpux-10.x-nothread.h:
- * ace/config-hpux-10.x-aCC.h:
- * ace/Stream_Modules.cpp:
- ACE_LACKS_STREAM_MODULES is no longer needed, moving the inclusion
- of "ace/Task.h" to the beginning of "ace/Stream_Modules.h" solved
- the problem nicely.
-
- * ace/config-hpux-10.x.h:
- * ace/config-hpux-10.x-aCC.h:
- ACE_HAS_BROKEN_HPUX_TEMPLATES is not needed on newer HP/CXX
- compilers; further, old ones will not compile ACE even if the
- macro is defined.
-
- * ace/Timer_List_T.h:
- * ace/Timer_Queue_T.i:
- I moved the definition of ACE_Timer_Queue_T::lock() from the .i
- file to the .h file, HP/CXX gets completely confused otherwise.
- I also added a number of ACE_INLINE missing in the .i file.
-
- * ace/Stream_Modules.h:
- * ace/Stream_Modules.cpp:
- I had to move the inclusion of "ace/Task.h" outside of the
- protections against multiple inclusion for Stream_Modules.h.
- That seems to solve the ciclyc dependancy for
- Task->Module->Stream_Module->Task.
- BTW, the same thing was already done in "ace/Log_Record.h".
- I'll try to remove the ACE_LACKS_STREAM_MODULES macro, it seems
- that the last change makes it redundant.
-
- * ace/Signal.cpp:
- HP/CXX compiler will not close the library unless
- ACE_MAX_SIGNAL_HANDLERS is defined as "const size_t". The previous
- definition ("size_t") did compile tough.
-
- * ace/Log_Record.h:
- We need to include "ace/ACE.h" before "ace/Log_Priority.h".
-
- * ace/Log_Priority.h:
- HP/CXX compiler seems to reserve a few bits in enums, so the
- ENSURE_32_BITS trick would result in a compile time error.
- Since HP enums are always 32 bits we could skip the definition for
- ENSURE_32_BITS altogether, but I prefer to keep a consistent
- namespace across plaforms, I have found a value for ENSURE_32_BITS
- that seems to work.
-
- * include/makeinclude/platform_hpux.GNU:
- Some options to improve compile time, since we use explicit
- template instantiation there is no need for a ptcomp o ptlink
- phase.
+ * ace/config-hpux-10.x-nothread.h:
+ * ace/config-hpux-10.x-aCC.h:
+ * ace/Stream_Modules.cpp:
+ ACE_LACKS_STREAM_MODULES is no longer needed, moving the inclusion
+ of "ace/Task.h" to the beginning of "ace/Stream_Modules.h" solved
+ the problem nicely.
+
+ * ace/config-hpux-10.x.h:
+ * ace/config-hpux-10.x-aCC.h:
+ ACE_HAS_BROKEN_HPUX_TEMPLATES is not needed on newer HP/CXX
+ compilers; further, old ones will not compile ACE even if the
+ macro is defined.
+
+ * ace/Timer_List_T.h:
+ * ace/Timer_Queue_T.i:
+ I moved the definition of ACE_Timer_Queue_T::lock() from the .i
+ file to the .h file, HP/CXX gets completely confused otherwise.
+ I also added a number of ACE_INLINE missing in the .i file.
+
+ * ace/Stream_Modules.h:
+ * ace/Stream_Modules.cpp:
+ I had to move the inclusion of "ace/Task.h" outside of the
+ protections against multiple inclusion for Stream_Modules.h.
+ That seems to solve the ciclyc dependancy for
+ Task->Module->Stream_Module->Task.
+ BTW, the same thing was already done in "ace/Log_Record.h".
+ I'll try to remove the ACE_LACKS_STREAM_MODULES macro, it seems
+ that the last change makes it redundant.
+
+ * ace/Signal.cpp:
+ HP/CXX compiler will not close the library unless
+ ACE_MAX_SIGNAL_HANDLERS is defined as "const size_t". The previous
+ definition ("size_t") did compile tough.
+
+ * ace/Log_Record.h:
+ We need to include "ace/ACE.h" before "ace/Log_Priority.h".
+
+ * ace/Log_Priority.h:
+ HP/CXX compiler seems to reserve a few bits in enums, so the
+ ENSURE_32_BITS trick would result in a compile time error.
+ Since HP enums are always 32 bits we could skip the definition for
+ ENSURE_32_BITS altogether, but I prefer to keep a consistent
+ namespace across plaforms, I have found a value for ENSURE_32_BITS
+ that seems to work.
+
+ * include/makeinclude/platform_hpux.GNU:
+ Some options to improve compile time, since we use explicit
+ template instantiation there is no need for a ptcomp o ptlink
+ phase.
Tue May 20 09:10:18 1997 Nanbor Wang <nw1@number.wustl.edu>
- * ace/config-freebsd-pthread.h:
- * ace/config-freebsd.h: Removed "FreeBSD" directive because gcc on
- FreeBSD defines __FreeBSD__ automatically.
+ * ace/config-freebsd-pthread.h:
+ * ace/config-freebsd.h: Removed "FreeBSD" directive because gcc on
+ FreeBSD defines __FreeBSD__ automatically.
- * ace/OS.i (sigaddset, sigdelset, sigismember): Added range
- checking to these functions in order to avoid disasters. Sig
- number should be between 1 and NSIG.
- (sigwait): Changed ifdef (FreeBSD) to ifdef (__FreeBSD__) since
- compiler does it for us.
+ * ace/OS.i (sigaddset, sigdelset, sigismember): Added range
+ checking to these functions in order to avoid disasters. Sig
+ number should be between 1 and NSIG.
+ (sigwait): Changed ifdef (FreeBSD) to ifdef (__FreeBSD__) since
+ compiler does it for us.
Tue May 20 08:41:11 1997 David L. Levine <levine@cs.wustl.edu>
- * examples/Threads/tss2.cpp: added #include of ace/Thread.h
- because Sun C++ 4.1 needs it.
+ * examples/Threads/tss2.cpp: added #include of ace/Thread.h
+ because Sun C++ 4.1 needs it.
Mon May 19 16:04:32 1997 David L. Levine <levine@cs.wustl.edu>
- * bin/create_ace_build: changed startup line for compatibility
- with bash. This startup line lets the script run without
- hard-coding the full path to the perl executable, as long as
- perl is on the user's PATH.
+ * bin/create_ace_build: changed startup line for compatibility
+ with bash. This startup line lets the script run without
+ hard-coding the full path to the perl executable, as long as
+ perl is on the user's PATH.
Mon May 19 12:45:21 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * examples/Threads/reader_writer.cpp: Changed the code so that we
- don't try to treat thread ids as ints! Thanks to Chuck Gehr for
- reporting this.
+ * examples/Threads/reader_writer.cpp: Changed the code so that we
+ don't try to treat thread ids as ints! Thanks to Chuck Gehr for
+ reporting this.
Sun May 18 21:57:54 1997 David L. Levine <levine@cs.wustl.edu>
- * examples/Threads/tss2.cpp: added second parameter to
- ACE_TSS_Singleton template specialization.
+ * examples/Threads/tss2.cpp: added second parameter to
+ ACE_TSS_Singleton template specialization.
Sun May 18 09:20:15 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * examples/Threads/TSS_Data.h: Added the second parameter for
- ACE_SYNCH_MUTEX since Rich and Chris updated ACE_TSS_Singleton.
+ * examples/Threads/TSS_Data.h: Added the second parameter for
+ ACE_SYNCH_MUTEX since Rich and Chris updated ACE_TSS_Singleton.
- * ace/Singleton.cpp: Added the updated version of
- ACE_TSS_Singleton that implements the Double-Checked Locking
- pattern. Thanks to Rich Christy and Chris Lahey for this.
+ * ace/Singleton.cpp: Added the updated version of
+ ACE_TSS_Singleton that implements the Double-Checked Locking
+ pattern. Thanks to Rich Christy and Chris Lahey for this.
- * ace/Strategies_T.cpp (activate_svc_handler): Fixed the logic so
- that a value is always returned. Thanks to David Levine for
- noticing this.
+ * ace/Strategies_T.cpp (activate_svc_handler): Fixed the logic so
+ that a value is always returned. Thanks to David Levine for
+ noticing this.
Sun May 18 07:25:11 1997 David L. Levine <levine@cs.wustl.edu>
- * netsvcs/lib/Server_Logging_Handler.cpp: removed second
- ACE_Svc_Handler specialization for non-threaded, has-TLI case.
- That's because it is the same as the first; the only difference
- was that one specialized with ACE_SYNCH and the other with
- ACE_NULL_SYNCH. Without threads, those macros expand to the
- same thing. Thanks Sandro Doro <doros@aureus.sublink.org> for
- reporting this.
+ * netsvcs/lib/Server_Logging_Handler.cpp: removed second
+ ACE_Svc_Handler specialization for non-threaded, has-TLI case.
+ That's because it is the same as the first; the only difference
+ was that one specialized with ACE_SYNCH and the other with
+ ACE_NULL_SYNCH. Without threads, those macros expand to the
+ same thing. Thanks Sandro Doro <doros@aureus.sublink.org> for
+ reporting this.
- * examples/Threads/tss2.cpp: added ACE_TSS<TSS_Data> template
- specialization.
+ * examples/Threads/tss2.cpp: added ACE_TSS<TSS_Data> template
+ specialization.
Sat May 17 23:24:34 1997 Nanbor Wang <nw1@number.wustl.edu>
- * ace/OS.i (sigismember): Corrected the code when
- ACE_LACKS_SIGSET.
+ * ace/OS.i (sigismember): Corrected the code when
+ ACE_LACKS_SIGSET.
Sat May 17 00:06:04 1997 <irfan@TWOSTEP>
- * examples/ASX/Event_Server/Transceiver/transceiver.cpp
- (Event_Transceiver): Corrected signal registration for Win32.
+ * examples/ASX/Event_Server/Transceiver/transceiver.cpp
+ (Event_Transceiver): Corrected signal registration for Win32.
- * apps/Gateway/Gateway/Gateway.cpp (parse_args): Since the
- Connector is now fixed, non-blocking is now working fine.
+ * apps/Gateway/Gateway/Gateway.cpp (parse_args): Since the
+ Connector is now fixed, non-blocking is now working fine.
- * ace/Connector.cpp (handle_close,create_AST): Made sure we close
- down the svc_handler on error.
+ * ace/Connector.cpp (handle_close,create_AST): Made sure we close
+ down the svc_handler on error.
- * ace/{Acceptor.cpp,Connector.cpp} (activate_svc_handler): The
- if statement logic in these methods was incorrect.
+ * ace/{Acceptor.cpp,Connector.cpp} (activate_svc_handler): The
+ if statement logic in these methods was incorrect.
- * ace/SOCK_Connector.cpp (connect): Just like in complete(), we
- start out with non-blocking disabled on the <new_stream>.
+ * ace/SOCK_Connector.cpp (connect): Just like in complete(), we
+ start out with non-blocking disabled on the <new_stream>.
- * ace/OS.h: When ACE_LACKS_SIGSET is defined, changed the
- definition of sigset_t from void * to unsigned int.
+ * ace/OS.h: When ACE_LACKS_SIGSET is defined, changed the
+ definition of sigset_t from void * to unsigned int.
Sat May 17 12:25:22 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/{Acceptor,Connector,Strategies_T}: Make sure to either
- enable or disable ACE_NONBLOCK (depending on the flags). This
- ensures that we always start with the I/O mode set to a
- deterministic state. Thanks to Irfan for suggesting this.
+ * ace/{Acceptor,Connector,Strategies_T}: Make sure to either
+ enable or disable ACE_NONBLOCK (depending on the flags). This
+ ensures that we always start with the I/O mode set to a
+ deterministic state. Thanks to Irfan for suggesting this.
- * ace/Connector: Added a new "flags" parameter to the
- ACE_Connector and ACE_Strategy_Connector which keeps track of
- flags that control how Svc_Handler are initialized prior to
- being activated.
+ * ace/Connector: Added a new "flags" parameter to the
+ ACE_Connector and ACE_Strategy_Connector which keeps track of
+ flags that control how Svc_Handler are initialized prior to
+ being activated.
- * ace/Strategies_T.cpp (activate_svc_handler): Make sure to set
- the peer's handle into non-blocking mode *before* calling the
- Svc_Handler's open() method. This ensures that things are set
- up correctly when this hook is called.
+ * ace/Strategies_T.cpp (activate_svc_handler): Make sure to set
+ the peer's handle into non-blocking mode *before* calling the
+ Svc_Handler's open() method. This ensures that things are set
+ up correctly when this hook is called.
Sat May 17 02:19:27 1997 Nanbor Wang <nw1@number.wustl.edu>
- * ace/config-freebsd.h (ACE_HAS_BROKEN_TIMESPEC_MEMBERS):
+ * ace/config-freebsd.h (ACE_HAS_BROKEN_TIMESPEC_MEMBERS):
- * ace/OS.i (set, timestruct_t, nanosleep):
+ * ace/OS.i (set, timestruct_t, nanosleep):
- * ace/High_Res_Timer.cpp (elapsed_time):
+ * ace/High_Res_Timer.cpp (elapsed_time):
- * ace/README: Added ACE_HAS_BROKEN_TIMESPEC_MEMBERS so that we can
- fix that problem FreeBSD 2.1.x brings by defining timespec as {
- time_t ts_sec ; long ts_nsec }. Notice: This is highly
- non-portable. Please refer to ACE code and see how to write
- portable. Fortunately, only older versions of FreeBSD have
- this. Yesterday's hack didn't work, so, it's removed. Thanks
- to Satoshi Ueno <satoshi.ueno@gs.com> for reporting and helping
- debug on his FreeBSD 2.1.7R box.
+ * ace/README: Added ACE_HAS_BROKEN_TIMESPEC_MEMBERS so that we can
+ fix that problem FreeBSD 2.1.x brings by defining timespec as {
+ time_t ts_sec ; long ts_nsec }. Notice: This is highly
+ non-portable. Please refer to ACE code and see how to write
+ portable. Fortunately, only older versions of FreeBSD have
+ this. Yesterday's hack didn't work, so, it's removed. Thanks
+ to Satoshi Ueno <satoshi.ueno@gs.com> for reporting and helping
+ debug on his FreeBSD 2.1.7R box.
Sat May 17 00:06:04 1997 <irfan@TWOSTEP>
- * apps/Gateway/Gateway/Proxy_Handler.cpp (open): Turn on
- non-blocking I/O only after the Channel is done sending the id
- to the Peer.
+ * apps/Gateway/Gateway/Proxy_Handler.cpp (open): Turn on
+ non-blocking I/O only after the Channel is done sending the id
+ to the Peer.
- * apps/Gateway/Gateway/Gateway.cpp:
+ * apps/Gateway/Gateway/Gateway.cpp:
- - Added necessary DLL build macros.
+ - Added necessary DLL build macros.
- - Removed error checking for Reactor::remove_handler() for STDIN
- as STDIN is never registered with the Reactor on Win32.
+ - Removed error checking for Reactor::remove_handler() for STDIN
+ as STDIN is never registered with the Reactor on Win32.
- - Fixed the registration of SIGINT.
+ - Fixed the registration of SIGINT.
- - blocking_semantics_ should be 1 when blocking is on and not 0.
+ - blocking_semantics_ should be 1 when blocking is on and not 0.
- - Since the Connector is currently broken with respect to
- non-blocking connects, I have put a temporary fix such that
- only blocking connects are done. Revert this after the
- Connector is fixed.
+ - Since the Connector is currently broken with respect to
+ non-blocking connects, I have put a temporary fix such that
+ only blocking connects are done. Revert this after the
+ Connector is fixed.
- * apps/Gateway/Gateway/Event_Channel.cpp:
+ * apps/Gateway/Gateway/Event_Channel.cpp:
- - Only if socket_queue_size > 0, do we set a new value.
+ - Only if socket_queue_size > 0, do we set a new value.
- - In reinitiate_proxy_connection(), we must unbind the proxy
- from the proxy_map_ as we are no longer responsible for
- this. The Connector should now be responsible for this.
+ - In reinitiate_proxy_connection(), we must unbind the proxy
+ from the proxy_map_ as we are no longer responsible for
+ this. The Connector should now be responsible for this.
- * apps/Gateway/Gateway/Concrete_Proxy_Handlers.cpp: Added
- necessary DLL build macros.
+ * apps/Gateway/Gateway/Concrete_Proxy_Handlers.cpp: Added
+ necessary DLL build macros.
- * apps/Gateway/Peer/Peer.cpp:
+ * apps/Gateway/Peer/Peer.cpp:
- - Added include file and necessary DLL build macros.
+ - Added include file and necessary DLL build macros.
- - Removed error checking for Reactor::remove_handler() for STDIN
- as STDIN is never registered with the Reactor on Win32.
+ - Removed error checking for Reactor::remove_handler() for STDIN
+ as STDIN is never registered with the Reactor on Win32.
- - Fixed the registration of SIGINT.
+ - Fixed the registration of SIGINT.
- * apps/Gateway/{Peer,Gateway}: Added Win32 makefiles.
+ * apps/Gateway/{Peer,Gateway}: Added Win32 makefiles.
- * ace/ACE.cpp (read_adapter): Handle for the read_adapter should
- always be STDIN.
+ * ace/ACE.cpp (read_adapter): Handle for the read_adapter should
+ always be STDIN.
Fri May 16 18:43:17 1997 Nanbor Wang <nw1@number.wustl.edu>
- * ace/config-freebsd.h: Minor modification for working on FreeBSD
- 2.1.x platform. Added includion of <sys/time.h> and
- <sys/types.h>. Defined ACE_HAS_POSIX_TIME for 2.1.x. Redefine
- timespec to timeval to hack around a bug on 2.1.x. Thanks to
- Satoshi Ueno <satoshi.ueno@gs.com> for reporting this.
-
+ * ace/config-freebsd.h: Minor modification for working on FreeBSD
+ 2.1.x platform. Added includion of <sys/time.h> and
+ <sys/types.h>. Defined ACE_HAS_POSIX_TIME for 2.1.x. Redefine
+ timespec to timeval to hack around a bug on 2.1.x. Thanks to
+ Satoshi Ueno <satoshi.ueno@gs.com> for reporting this.
+
Fri May 16 12:25:32 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * netsvcs/lib: Reverted back to the original Server_Logging_Handler
- behavior since the new version is breaking GCC's templates.
+ * netsvcs/lib: Reverted back to the original Server_Logging_Handler
+ behavior since the new version is breaking GCC's templates.
- * ace/Log_Record.h: need to #include "ace/ACE.h" before
- "ace/Log_Priority.h" so that "Log_Priority.h" sees the
- configuration stuff (otherwise the following fix won't work).
+ * ace/Log_Record.h: need to #include "ace/ACE.h" before
+ "ace/Log_Priority.h" so that "Log_Priority.h" sees the
+ configuration stuff (otherwise the following fix won't work).
- * ace/Log_Priority.h: Added a workaround for lame C++ compilers
- like the one on HP/UX that can't support large enums. Thanks to
- Robert Head for reporting this.
+ * ace/Log_Priority.h: Added a workaround for lame C++ compilers
+ like the one on HP/UX that can't support large enums. Thanks to
+ Robert Head for reporting this.
- * ace/Singleton: Added the new ACE_TSS_Singleton, which stores
- Singletons in thread-specific storage. Thanks to Chris Lahey
- and Rich Christy <rchristy@cccis.com> for this.
+ * ace/Singleton: Added the new ACE_TSS_Singleton, which stores
+ Singletons in thread-specific storage. Thanks to Chris Lahey
+ and Rich Christy <rchristy@cccis.com> for this.
- * ace/OS.h: Removed the ACE_Singleton_Strategy since we don't need
- it anymore.
+ * ace/OS.h: Removed the ACE_Singleton_Strategy since we don't need
+ it anymore.
- * netsvcs/lib: Added the new Server_Logging_Handler_T.* and
- Log_Message_Receiver.* netsvcs. Thanks to Per Andersson for
- contributing these.
+ * netsvcs/lib: Added the new Server_Logging_Handler_T.* and
+ Log_Message_Receiver.* netsvcs. Thanks to Per Andersson for
+ contributing these.
- * examples/Misc/Makefile: Removed the XtReactor tests from the
- Makefile until we figure out a good way to get them integrated
- with the appropriate libraries.
+ * examples/Misc/Makefile: Removed the XtReactor tests from the
+ Makefile until we figure out a good way to get them integrated
+ with the appropriate libraries.
- * ace/config-irix6.2-sgic++-nothread.h: Added the following:
+ * ace/config-irix6.2-sgic++-nothread.h: Added the following:
- ACE_LACKS_LINEBUFFERED_STREAMBUF
- ACE_HAS_SETOWN
- ACE_HAS_SYSENT_H
- ACE_HAS_SYSINFO
+ ACE_LACKS_LINEBUFFERED_STREAMBUF
+ ACE_HAS_SETOWN
+ ACE_HAS_SYSENT_H
+ ACE_HAS_SYSINFO
- Thanks to Torbjorn Lindgren <tl@funcom.com> for reporting
- this.
+ Thanks to Torbjorn Lindgren <tl@funcom.com> for reporting
+ this.
- * ace/Proactor.cpp: Changed the use of lock() to mutex() since we
- changed the name in Timer_Queue.
+ * ace/Proactor.cpp: Changed the use of lock() to mutex() since we
+ changed the name in Timer_Queue.
- * ace/Timer_Queue_T.i: Changed the name of the lock() method to
- mutex() to work around compile problems with HP/UX. Thanks to
- Robert Head <rhead@mail.virtc.com> for reporting this
- workaround.
+ * ace/Timer_Queue_T.i: Changed the name of the lock() method to
+ mutex() to work around compile problems with HP/UX. Thanks to
+ Robert Head <rhead@mail.virtc.com> for reporting this
+ workaround.
- * ace/config-irix5.3-sgic++.h: Made a few changes to get ACE to
- work on IRIX 5.3. Thanks to Eugene R. Somdahl <gene@endo.com>
- for these fixes.
+ * ace/config-irix5.3-sgic++.h: Made a few changes to get ACE to
+ work on IRIX 5.3. Thanks to Eugene R. Somdahl <gene@endo.com>
+ for these fixes.
- * ace/OS: Added calloc() implementation. I don't know how
- this managed to fall through the cracks!
+ * ace/OS: Added calloc() implementation. I don't know how
+ this managed to fall through the cracks!
- * include/makeinclude/platform_osf1_4.0.GNU: Added a few more
- tweaks courtesy of James Johnson.
+ * include/makeinclude/platform_osf1_4.0.GNU: Added a few more
+ tweaks courtesy of James Johnson.
- * include/makeinclude/platform_osf1_3.2.GNU: Added a few more
- tweaks courtesy of Tom Dobridge.
+ * include/makeinclude/platform_osf1_3.2.GNU: Added a few more
+ tweaks courtesy of Tom Dobridge.
- * include/makeinclude/platform_osf1_4.0.GNU (DLD): Added -shared
- -expect_unresolved '*' so that calls to the linker via cxx will
- work correctly. Thanks to Thilo for this.
+ * include/makeinclude/platform_osf1_4.0.GNU (DLD): Added -shared
+ -expect_unresolved '*' so that calls to the linker via cxx will
+ work correctly. Thanks to Thilo for this.
- * include/makeinclude/platform_chorus.GNU: Removed CLASSIXDIR =
- /usr/home/chiang/chorus/merge/extended-i386at, added the
- nostdinc flag, and removed extra whitespace. Thanks to Wei
- Chiang for reporting this.
+ * include/makeinclude/platform_chorus.GNU: Removed CLASSIXDIR =
+ /usr/home/chiang/chorus/merge/extended-i386at, added the
+ nostdinc flag, and removed extra whitespace. Thanks to Wei
+ Chiang for reporting this.
Fri May 16 00:02:33 1997 <irfan@TWOSTEP>
- * ace/ReactorEx: Even though changes to the owner field are very
- well synchronized within the class code, the owner()
- accessor is public and can be called from out side the
- class. Therefore, I have added a owner_i() that does not do
- locking. All internal calls to check the owner will use the
- new accessor, whereas application code outside the class can
- still use the old synchronized accessor.
+ * ace/ReactorEx: Even though changes to the owner field are very
+ well synchronized within the class code, the owner()
+ accessor is public and can be called from out side the
+ class. Therefore, I have added a owner_i() that does not do
+ locking. All internal calls to check the owner will use the
+ new accessor, whereas application code outside the class can
+ still use the old synchronized accessor.
Fri May 16 11:39:51 1997 Nanbor Wang <nw1@cs.wustl.edu>
- * ace/OS.i (sigaddset, sigdelset, sigemptyset, sigfillset,
- sigismember): Added implementation when ACE_LACKS_SIGSET so that
- platforms (NT?) without these functions can still manipulate
- sigset_t variables.
+ * ace/OS.i (sigaddset, sigdelset, sigemptyset, sigfillset,
+ sigismember): Added implementation when ACE_LACKS_SIGSET so that
+ platforms (NT?) without these functions can still manipulate
+ sigset_t variables.
Thu May 15 22:19:59 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * examples/ASX/Event_Server/Event_Server: Removed the THR_DETACHED
- flag from options so that we can wait on the threads
- correctly.
+ * examples/ASX/Event_Server/Event_Server: Removed the THR_DETACHED
+ flag from options so that we can wait on the threads
+ correctly.
- * ace/Stream_Modules.cpp: Changed the logic for determining when
- to compile the Stream_Modules.cpp code. Now, we compile it
- unless ACE_LACKS_STREAM_MODULES is defined (i.e., we're on HP/UX
- 10.x using aCC).
+ * ace/Stream_Modules.cpp: Changed the logic for determining when
+ to compile the Stream_Modules.cpp code. Now, we compile it
+ unless ACE_LACKS_STREAM_MODULES is defined (i.e., we're on HP/UX
+ 10.x using aCC).
- * netsvcs/lib/Server_Logging_Handler.cpp (handle_input): Fixed
- a bug in handle_input() where we need to return the result, not
- just 0 or 1. Thanks to Per Andersson for reporting this.
+ * netsvcs/lib/Server_Logging_Handler.cpp (handle_input): Fixed
+ a bug in handle_input() where we need to return the result, not
+ just 0 or 1. Thanks to Per Andersson for reporting this.
- * ace/Log_Priority.h: Changed the values of the enums in
- ACE_Log_Priority so that they can be dealt with via bitwise
- operations. Thanks to Per Andersson for this.
+ * ace/Log_Priority.h: Changed the values of the enums in
+ ACE_Log_Priority so that they can be dealt with via bitwise
+ operations. Thanks to Per Andersson for this.
- * include/makeinclude/platform_osf1_4.0.GNU: Added support for
- templates. Thanks to Steve Huston and James Johnson for
- verifying this.
+ * include/makeinclude/platform_osf1_4.0.GNU: Added support for
+ templates. Thanks to Steve Huston and James Johnson for
+ verifying this.
- * include/makeinclude/platform_osf1_3.2.GNU: Got rid of all
- unresolved symbol warnings using cxx 5.5 on DEC/OSF v3.2 by
- using the linker flag "-expect_unresolved '*'." In addition, I
- added -threads to the DCFLAGS macro. Thanks to Tom Dobridge
- <dobridge@persimmon.com> for this.
+ * include/makeinclude/platform_osf1_3.2.GNU: Got rid of all
+ unresolved symbol warnings using cxx 5.5 on DEC/OSF v3.2 by
+ using the linker flag "-expect_unresolved '*'." In addition, I
+ added -threads to the DCFLAGS macro. Thanks to Tom Dobridge
+ <dobridge@persimmon.com> for this.
- * ace/Strategies_T: Added a minor ACE_Reactive_Strategy extension
- to enable non-blocking I/O in active_svc_handler(). Thanks to
- Arturo Montes <mitosys@colomsat.net.co> for contributing this.
+ * ace/Strategies_T: Added a minor ACE_Reactive_Strategy extension
+ to enable non-blocking I/O in active_svc_handler(). Thanks to
+ Arturo Montes <mitosys@colomsat.net.co> for contributing this.
- * ace/config-osf1-4.0[-g++].h: Added a #define for
- ACE_POLL_IS_BROKEN since DEC UNIX's poll() doesn't seem to work
- correctly as a highres timer. Thanks to James Johnson and Thilo
- for reporting this.
+ * ace/config-osf1-4.0[-g++].h: Added a #define for
+ ACE_POLL_IS_BROKEN since DEC UNIX's poll() doesn't seem to work
+ correctly as a highres timer. Thanks to James Johnson and Thilo
+ for reporting this.
- * examples/Threads/thread_specific.cpp (worker): Changes
- size_t i back to int i to avoid a signed/unsigned complaint.
- Thanks to David Levine for reporting this.
+ * examples/Threads/thread_specific.cpp (worker): Changes
+ size_t i back to int i to avoid a signed/unsigned complaint.
+ Thanks to David Levine for reporting this.
- * ace/config-chorus.h: Added ACE_LACKS_MPROTECT,
- ACE_HAS_IP_MULTICAST, and ACE_LACKS_SOCKETPAIR to the Chorus
- port. Thanks to Wei Chiang <chiang@erebor.tele.nokia.fi> for
- reporting this.
+ * ace/config-chorus.h: Added ACE_LACKS_MPROTECT,
+ ACE_HAS_IP_MULTICAST, and ACE_LACKS_SOCKETPAIR to the Chorus
+ port. Thanks to Wei Chiang <chiang@erebor.tele.nokia.fi> for
+ reporting this.
- * ace/OS.i: Added ACE_LACKS_ACCESS to the Chorus config file
- and VxWorks config file, as well as to OS.i.
+ * ace/OS.i: Added ACE_LACKS_ACCESS to the Chorus config file
+ and VxWorks config file, as well as to OS.i.
-: * ace/OS.i: Added ACE_LACKS_GETSERVBYNAME to the Chorus config
- file and VxWorks config file, as well as to OS.i.
+: * ace/OS.i: Added ACE_LACKS_GETSERVBYNAME to the Chorus config
+ file and VxWorks config file, as well as to OS.i.
- * ace/OS.i: Added ACE_LACKS_SBRK to the Chorus config file, as
- well as to the definition of the ACE_OS::sbrk() function.
+ * ace/OS.i: Added ACE_LACKS_SBRK to the Chorus config file, as
+ well as to the definition of the ACE_OS::sbrk() function.
- * ace/OS.h: Removed #include /**/ <pwd.h> from the Chorus-specific
- part of OS.h since it's already included elsewhere. Thanks to
- Wei Chiang <chiang@erebor.tele.nokia.fi> for reporting this.
+ * ace/OS.h: Removed #include /**/ <pwd.h> from the Chorus-specific
+ part of OS.h since it's already included elsewhere. Thanks to
+ Wei Chiang <chiang@erebor.tele.nokia.fi> for reporting this.
- * ace/Reactor: Added a typedef for ACE_Reactor_Token to
- ACE_Null_Mutex for situations where ACE_MT_SAFE is *disabled*.
- This makes the code more consistent.
+ * ace/Reactor: Added a typedef for ACE_Reactor_Token to
+ ACE_Null_Mutex for situations where ACE_MT_SAFE is *disabled*.
+ This makes the code more consistent.
- * ace/Reactor: Added an interface that makes it possible to
- acquire a reference to the <ACE_Reactor_Token> that is used to
- serialize the internal Reactor's processing logic. This can be
- useful for situations where you need to avoid deadlock
- efficiently when <ACE_Event_Handlers> are used in multiple
- threads. Thanks to Detlef for pointing out the utility of this.
+ * ace/Reactor: Added an interface that makes it possible to
+ acquire a reference to the <ACE_Reactor_Token> that is used to
+ serialize the internal Reactor's processing logic. This can be
+ useful for situations where you need to avoid deadlock
+ efficiently when <ACE_Event_Handlers> are used in multiple
+ threads. Thanks to Detlef for pointing out the utility of this.
Thu May 15 23:34:30 1997 Tim H. Harrison <harrison@waltz.cs.wustl.edu>
- * ace/Process_Manager.cpp (spawn_n): Changed
- ACE_Process_Manager::start_n to ACE_Process_Manager::spawn_n.
+ * ace/Process_Manager.cpp (spawn_n): Changed
+ ACE_Process_Manager::start_n to ACE_Process_Manager::spawn_n.
Thu May 15 15:39:13 1997 Carlos O'Ryan <coryan@charlie>
- * include/makeinclude/platform_hpux.GNU:
- * ace/config-hpux-10.x.h:
- * ace/config-hpux-10.x-nothread.h:
- HP/CXX cannot achieve template closure, not even using the
- dummy exec trick: apparently the repository gets a bit
- corrupted. HP/CXX (version 10.24) support explicit template
- instantiation, I believe this to be a superior method for
- ensuring library closure (and it works).
+ * include/makeinclude/platform_hpux.GNU:
+ * ace/config-hpux-10.x.h:
+ * ace/config-hpux-10.x-nothread.h:
+ HP/CXX cannot achieve template closure, not even using the
+ dummy exec trick: apparently the repository gets a bit
+ corrupted. HP/CXX (version 10.24) support explicit template
+ instantiation, I believe this to be a superior method for
+ ensuring library closure (and it works).
- * ace/Task_T.cpp:
- * ace/Stream_Modules.cpp:
- I have changed the hack to compile under HP-UX,
- "ace/Module.h" is once more included in ace/Task_T.cpp, but
- "ace/Stream_Modules.cpp" is protected: it will be empty
- under HP-UX unless included from the
- "ace/Stream_Modules.h". I still believe that there is a
- problem in the cyclic dependancy Task -> Module -> Thru_Task
- -> Task; but it seems that the current hack works better.
+ * ace/Task_T.cpp:
+ * ace/Stream_Modules.cpp:
+ I have changed the hack to compile under HP-UX,
+ "ace/Module.h" is once more included in ace/Task_T.cpp, but
+ "ace/Stream_Modules.cpp" is protected: it will be empty
+ under HP-UX unless included from the
+ "ace/Stream_Modules.h". I still believe that there is a
+ problem in the cyclic dependancy Task -> Module -> Thru_Task
+ -> Task; but it seems that the current hack works better.
- * ace/OS.h:
- Defining ACE_UNUSED_ARG as (a) for HP/CXX does not work so I
- moved it to the SGI and GCC definition.
+ * ace/OS.h:
+ Defining ACE_UNUSED_ARG as (a) for HP/CXX does not work so I
+ moved it to the SGI and GCC definition.
- * ace/OS.i:
- More unused args.
+ * ace/OS.i:
+ More unused args.
- * ace/Handle_Set.h:
- Removed the extra qualification for ACE_Handle_Set::NBITS,
- HP/CXX sends a lot of warnings with that.
+ * ace/Handle_Set.h:
+ Removed the extra qualification for ACE_Handle_Set::NBITS,
+ HP/CXX sends a lot of warnings with that.
- * ace/IOStream.h:
- It included "IOStream.cpp" I think that "ace/IOStream.cpp"
- is better.
+ * ace/IOStream.h:
+ It included "IOStream.cpp" I think that "ace/IOStream.cpp"
+ is better.
- * ace/Local_Name_Space_T.h:
- Ditto for "Local_Name_Space.h"
+ * ace/Local_Name_Space_T.h:
+ Ditto for "Local_Name_Space.h"
Thu May 15 17:40:06 1997 <irfan@TWOSTEP>
- * ace/ReactorEx.i (owner): Since changes to the owner field are
- very well synchronized, we do not need to synchronize this
- accessor.
+ * ace/ReactorEx.i (owner): Since changes to the owner field are
+ very well synchronized, we do not need to synchronize this
+ accessor.
- * ace/IOStream.h: Added /**/ after #include directives.
-
- * ace: Update Win32 makefiles to include UNICODE make option.
+ * ace/IOStream.h: Added /**/ after #include directives.
+
+ * ace: Update Win32 makefiles to include UNICODE make option.
Thu May 15 08:54:53 1997 David L. Levine <levine@cs.wustl.edu>
- * Makefile (release, cleanrelease): use -prune option to "find"
- instead of filtering its output. Thanks to Chris Cleeland for
- suggesting this.
+ * Makefile (release, cleanrelease): use -prune option to "find"
+ instead of filtering its output. Thanks to Chris Cleeland for
+ suggesting this.
Wed May 14 21:52:22 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/UPIPE_Stream.cpp (control): We need to "cast away const" so
- that this method can call the Stream's control() method
- (which is non-const). Thanks to David Levine for locating this.
+ * ace/UPIPE_Stream.cpp (control): We need to "cast away const" so
+ that this method can call the Stream's control() method
+ (which is non-const). Thanks to David Levine for locating this.
- * ace/Singleton.cpp: Finished re-implementing ACE_Singleton.
+ * ace/Singleton.cpp: Finished re-implementing ACE_Singleton.
- * examples/ASX/Message_Queue/buffer_stream.cpp: Updated this
- example to illustrate (1) how filters work in an ACE_Stream and
- (2) to make sure that resizing buffers work.
+ * examples/ASX/Message_Queue/buffer_stream.cpp: Updated this
+ example to illustrate (1) how filters work in an ACE_Stream and
+ (2) to make sure that resizing buffers work.
- * ace/UPIPE_Stream.h: Changed the signature of control()
- to take an int so that it will match the base class
- signature.
+ * ace/UPIPE_Stream.h: Changed the signature of control()
+ to take an int so that it will match the base class
+ signature.
- * ace/Singleton.h: The new ACE_SingletonEx isn't working yet.
- I've #ifdef'd it out until it works.
+ * ace/Singleton.h: The new ACE_SingletonEx isn't working yet.
+ I've #ifdef'd it out until it works.
- * examples/Threads/tss2.cpp: Updated this test program to
- illustrate the use of the new ACE_SingletonEx class.
+ * examples/Threads/tss2.cpp: Updated this test program to
+ illustrate the use of the new ACE_SingletonEx class.
- * ace/Singleton.h: Added a new instance() method to the ACE
- Singleton that can be used to set the Singleton. This is useful
- for situations where the type being used as the Singleton
- doesn't have a default constructor. Thanks to Arturo Montes
- <mitosys@colomsat.net.co> for this suggestion.
+ * ace/Singleton.h: Added a new instance() method to the ACE
+ Singleton that can be used to set the Singleton. This is useful
+ for situations where the type being used as the Singleton
+ doesn't have a default constructor. Thanks to Arturo Montes
+ <mitosys@colomsat.net.co> for this suggestion.
- * ace/Singleton: Factored out common code in the Singleton and
- SingletonEx implementations so they will be cleaner and more
- portable.
+ * ace/Singleton: Factored out common code in the Singleton and
+ SingletonEx implementations so they will be cleaner and more
+ portable.
- * ace/Local_Name_Space_T.h,
- ace/Map_Manager.h,
- ace/Hash_Map_Manager.h,
- ace/SString.h,
- ace/Hash_Map_Manager.cpp:
-
- Changed all uses of the identifier "allocator" to "alloc" to
- avoid conflicts with MSVC++ STL 5.0. Thanks to William
- L. Gerecke <gerecke@rayva.org> for reporting this.
+ * ace/Local_Name_Space_T.h,
+ ace/Map_Manager.h,
+ ace/Hash_Map_Manager.h,
+ ace/SString.h,
+ ace/Hash_Map_Manager.cpp:
+
+ Changed all uses of the identifier "allocator" to "alloc" to
+ avoid conflicts with MSVC++ STL 5.0. Thanks to William
+ L. Gerecke <gerecke@rayva.org> for reporting this.
- * ace/config-aix-4.[12].x.h: Replaces
- ACE_LACKS_PTHREAD_THR_SIGSETMASK with ACE_HAS_SIGTHREADMASK.
- Thanks to Chris Lahey for this.
+ * ace/config-aix-4.[12].x.h: Replaces
+ ACE_LACKS_PTHREAD_THR_SIGSETMASK with ACE_HAS_SIGTHREADMASK.
+ Thanks to Chris Lahey for this.
- * ace/OS.i (thr_sigsetmask): Added the ACE_HAS_SIGTHREADMASK
- support for AIX. Thanks to Chris Lahey for this.
+ * ace/OS.i (thr_sigsetmask): Added the ACE_HAS_SIGTHREADMASK
+ support for AIX. Thanks to Chris Lahey for this.
- * ace/Singleton: Added the new ACE_SingletonEx, which supports
- both heap-based and thread-specific storage-based Singletons.
- Thanks to Chris Lahey for this.
+ * ace/Singleton: Added the new ACE_SingletonEx, which supports
+ both heap-based and thread-specific storage-based Singletons.
+ Thanks to Chris Lahey for this.
- * ace/OS.h: Added the new ACE_Singleton_Strategy to OS.h. Thanks
- to Chris Lahey for this.
+ * ace/OS.h: Added the new ACE_Singleton_Strategy to OS.h. Thanks
+ to Chris Lahey for this.
Wed May 14 16:32:57 1997 David L. Levine <levine@cs.wustl.edu>
- * Makefile: use cpio instead of tar to allow easy filtering
- of CVS files from the release.
+ * Makefile: use cpio instead of tar to allow easy filtering
+ of CVS files from the release.
Wed May 14 15:00:58 1997 <irfan@TWOSTEP>
- * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp (main): Fixed code.
+ * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp (main): Fixed code.
- * examples/Naming: Replaced multiple makefiles with one makefile.
+ * examples/Naming: Replaced multiple makefiles with one makefile.
- * ace/OS.h: Added UNICODE support for some #defines.
+ * ace/OS.h: Added UNICODE support for some #defines.
- * OS.i (vsprintf): Added support for this in ACE_OS.
+ * OS.i (vsprintf): Added support for this in ACE_OS.
- * OS.cpp (socket_init && socket_fini): It is ok to print out cout
- and cerr messages from here (as the C runtime library is still
- attached) but it is *not* ok to print out ACE_DEBUG
- messages. God only knows the state of the thread specific LogMsg
- instance when the process reaches this piece of code.
+ * OS.cpp (socket_init && socket_fini): It is ok to print out cout
+ and cerr messages from here (as the C runtime library is still
+ attached) but it is *not* ok to print out ACE_DEBUG
+ messages. God only knows the state of the thread specific LogMsg
+ instance when the process reaches this piece of code.
- Also added a (handy) sprintf that has the following prototype:
+ Also added a (handy) sprintf that has the following prototype:
- sprintf (wchar_t *buf, const char *format, ...)
+ sprintf (wchar_t *buf, const char *format, ...)
- * ace/Process: UNICODE fixes.
+ * ace/Process: UNICODE fixes.
- * tests: Fixed the following such that they work with UNICODE:
+ * tests: Fixed the following such that they work with UNICODE:
- Pipe_Test.cpp
- Process_Mutex_Test.cpp
- Process_Strategy_Test.cpp
- Time_Service_Test.cpp
- Tokens_Test.cpp
+ Pipe_Test.cpp
+ Process_Mutex_Test.cpp
+ Process_Strategy_Test.cpp
+ Time_Service_Test.cpp
+ Tokens_Test.cpp
- * Time_Service_Test.cpp (main): Fixed typo in the svc.conf
- filename for the clerk.
+ * Time_Service_Test.cpp (main): Fixed typo in the svc.conf
+ filename for the clerk.
Tue May 13 18:56:27 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/IOStream.h: To make C++ compilers happy I added
- the following changes by modifying
+ * ace/IOStream.h: To make C++ compilers happy I added
+ the following changes by modifying
- ACE_IOStream & operator>>( ACE_Time_Value *& tv );
+ ACE_IOStream & operator>>( ACE_Time_Value *& tv );
- to be
+ to be
- ACE_IOStream<STREAM> & operator>>( ACE_Time_Value *& tv );
+ ACE_IOStream<STREAM> & operator>>( ACE_Time_Value *& tv );
- Thanks to Chuck Gehr for this fix.
+ Thanks to Chuck Gehr for this fix.
Tue May 13 21:32:12 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Process.cpp (~ACE_Process_Options): delete
- command_line_buf_ was missing the [].
+ * ace/Process.cpp (~ACE_Process_Options): delete
+ command_line_buf_ was missing the [].
- * examples/Threads/process_manager.cpp (main): avoid compiler
- warning due to implicit creation of temporary by explicitly
- creating an ACE_Process_Options instance. It gets passed to
- ACE_Process_Manager::spawn (ACE_Process_Options &), which
- takes a non-const reference.
+ * examples/Threads/process_manager.cpp (main): avoid compiler
+ warning due to implicit creation of temporary by explicitly
+ creating an ACE_Process_Options instance. It gets passed to
+ ACE_Process_Manager::spawn (ACE_Process_Options &), which
+ takes a non-const reference.
Tue May 13 18:08:32 1997 <irfan@TWOSTEP>
- * examples/ASX/UPIPE_Event_Server: Made enough fixes for this to
- compile on Win32 but more work need to be done for this to
- work on Win32.
+ * examples/ASX/UPIPE_Event_Server: Made enough fixes for this to
+ compile on Win32 but more work need to be done for this to
+ work on Win32.
- * ace/OS.i (kill): The error result for ::OpenProcess() is null
- and *not* invalid handle.
+ * ace/OS.i (kill): The error result for ::OpenProcess() is null
+ and *not* invalid handle.
- * ace/Process.i (kill): Changed the implementation to remove the
- ACE_OS::kill() code from ACE_Process::kill() for Win32. This
- allows us to avoid calling ::OpenProcess() unnecessarily.
+ * ace/Process.i (kill): Changed the implementation to remove the
+ ACE_OS::kill() code from ACE_Process::kill() for Win32. This
+ allows us to avoid calling ::OpenProcess() unnecessarily.
- * tests: For Win32, added Reactor_Exceptions_Test and
- Priority_Tasks_Tests. Files changes include run_tests.bat,
- tests.mak, and tests.mdp.
+ * tests: For Win32, added Reactor_Exceptions_Test and
+ Priority_Tasks_Tests. Files changes include run_tests.bat,
+ tests.mak, and tests.mdp.
- * tests/Future_Test.cpp (main): Fixed memory leaks in main() and
- in name_i().
+ * tests/Future_Test.cpp (main): Fixed memory leaks in main() and
+ in name_i().
- * tests/Thread_Pool_Test.cpp (open): The loop was messed up
- causing memory leaks. I fixed it.
+ * tests/Thread_Pool_Test.cpp (open): The loop was messed up
+ causing memory leaks. I fixed it.
- * ace/UPIPE_Stream.cpp (close): I am not sure why the stream was
- closed with M_DELETE_NONE. This indicates that close() should
- not delete any Tasks. This caused a memory leak as the Tasks in
- the Tail and Head modules were not deleted. I have removed this
- to fix the memory leak.
+ * ace/UPIPE_Stream.cpp (close): I am not sure why the stream was
+ closed with M_DELETE_NONE. This indicates that close() should
+ not delete any Tasks. This caused a memory leak as the Tasks in
+ the Tail and Head modules were not deleted. I have removed this
+ to fix the memory leak.
- Also added a destructor such that mb_last_ is released if it is
- still around.
+ Also added a destructor such that mb_last_ is released if it is
+ still around.
Tue May 13 16:48:18 1997 James C Hu <jxh@polka.cs.wustl.edu>
- * ace/Process.cpp: Added implementations to new interfaces
- to ACE_Process_Options::setenv (char *envp[]), and
- ACE_Process_Options::command_line (char *argv[]).
+ * ace/Process.cpp: Added implementations to new interfaces
+ to ACE_Process_Options::setenv (char *envp[]), and
+ ACE_Process_Options::command_line (char *argv[]).
- * apps/JAWS/server/HTTP_Response.cpp: Required changes so that CGI
- processing will work with the new ACE_Process class.
+ * apps/JAWS/server/HTTP_Response.cpp: Required changes so that CGI
+ processing will work with the new ACE_Process class.
- * apps/JAWS/stress_testing/benchd.cpp: Requried changes due to
- changes in the ACE_Process interface.
+ * apps/JAWS/stress_testing/benchd.cpp: Requried changes due to
+ changes in the ACE_Process interface.
Tue May 13 15:22:01 1997 Tim H. Harrison <harrison@waltz.cs.wustl.edu>
- * ace/Process_Manager.h: Changed ACE_Process_Manager::start to
- ACE_Process_Manager::spawn.
+ * ace/Process_Manager.h: Changed ACE_Process_Manager::start to
+ ACE_Process_Manager::spawn.
- * ace/Process.cpp (spawn): The check for a null environment argv
- was incorrect. Thanks to Nanbor for finding this.
+ * ace/Process.cpp (spawn): The check for a null environment argv
+ was incorrect. Thanks to Nanbor for finding this.
Mon May 12 18:59:39 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config-mvs.h: conditionally use ACE_HAS_UCONTEXT_T or
- ACE_LACKS_UCONTEXT_H depending on __COMPILER_VER__. Thanks to
- Chuck Gehr <gehr@sweng.stortek.com> for this fix.
+ * ace/config-mvs.h: conditionally use ACE_HAS_UCONTEXT_T or
+ ACE_LACKS_UCONTEXT_H depending on __COMPILER_VER__. Thanks to
+ Chuck Gehr <gehr@sweng.stortek.com> for this fix.
- * OS.h, OS.cpp (thr_create), Task.h, Thread.h, Thread_Manager.h:
- use ACE_DEFAULT_THREAD_PRIORITY instead of -1, because -1 is a
- valid priority on Win32. Thanks to Irfan for discovering this
- problem with Priority_Task_Test.
+ * OS.h, OS.cpp (thr_create), Task.h, Thread.h, Thread_Manager.h:
+ use ACE_DEFAULT_THREAD_PRIORITY instead of -1, because -1 is a
+ valid priority on Win32. Thanks to Irfan for discovering this
+ problem with Priority_Task_Test.
- * ace/Thread_Manager.cpp (wait_grp,wait_task): changed type of loop
- index "i" from size_t to int to avoid signed/unsigned comparison.
+ * ace/Thread_Manager.cpp (wait_grp,wait_task): changed type of loop
+ index "i" from size_t to int to avoid signed/unsigned comparison.
Mon May 12 18:41:19 1997 Nanbor Wang <nw1@cs.wustl.edu>
- * ace/config-freebsd-pthread.h:
- * ace/config-freebsd.h: Added ACE_LACKS_RWLOCK_T to FreeBSD config
- files. Thanks to Amancio Hasty <hasty@rah.star-gate.com> for
- noticing this.
+ * ace/config-freebsd-pthread.h:
+ * ace/config-freebsd.h: Added ACE_LACKS_RWLOCK_T to FreeBSD config
+ files. Thanks to Amancio Hasty <hasty@rah.star-gate.com> for
+ noticing this.
Mon May 12 17:11:50 1997 Tim H. Harrison <harrison@waltz.cs.wustl.edu>
- * ace/Process.h: Changed ACE_Process::start to
- ACE_Process::spawn. Added new argv-style methods for
- ACE_Process::setenv and ACE_Process::command_line. These new
- argv-style methods do not have implementations yet.
+ * ace/Process.h: Changed ACE_Process::start to
+ ACE_Process::spawn. Added new argv-style methods for
+ ACE_Process::setenv and ACE_Process::command_line. These new
+ argv-style methods do not have implementations yet.
Mon May 12 15:27:41 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/config-aix-4.[12].x.h: Added ACE_HAS_EXCEPTIONS to
- the AIX 4.* config files. Thanks to Chris Lahey for this.
+ * ace/config-aix-4.[12].x.h: Added ACE_HAS_EXCEPTIONS to
+ the AIX 4.* config files. Thanks to Chris Lahey for this.
Mon May 12 13:49:54 1997 <irfan@TWOSTEP>
- * ace/Thread_Manager.cpp (wait): We have to make sure that while
- we wait for these threads to exit, we do not have the
- lock. Therefore we make a copy of all interesting entries and
- let go of the lock. We then do the join().
+ * ace/Thread_Manager.cpp (wait): We have to make sure that while
+ we wait for these threads to exit, we do not have the
+ lock. Therefore we make a copy of all interesting entries and
+ let go of the lock. We then do the join().
- * ace/Task.cpp (wait): Removed the extra locking in wait(). The
- Thread Manager will handle this correctly.
+ * ace/Task.cpp (wait): Removed the extra locking in wait(). The
+ Thread Manager will handle this correctly.
- * ace/ACE.cpp (register_stdin_handler): Changed the options such
- that the Thread Manager used for the adapter is passed along to
- the method executed by the new thread. We can then notify the
- thread manager when this adapter thread exits.
+ * ace/ACE.cpp (register_stdin_handler): Changed the options such
+ that the Thread Manager used for the adapter is passed along to
+ the method executed by the new thread. We can then notify the
+ thread manager when this adapter thread exits.
- * examples/ASX/Event_Server/Event_Server: Changed the way the
- reference count was being kept on the context. Now, the
- reference count starts with zero and every instance and every
- active Task increments it. This works well as Task::close() is
- called one from the module being deleted and from the active
- thread going away.
+ * examples/ASX/Event_Server/Event_Server: Changed the way the
+ reference count was being kept on the context. Now, the
+ reference count starts with zero and every instance and every
+ active Task increments it. This works well as Task::close() is
+ called one from the module being deleted and from the active
+ thread going away.
Mon May 12 11:11:51 1997 <harrison@samba.cs.wustl.edu>
- * ace/Process.*: Removed the old ACE_Process and replaced it with
- what was ACE_ProcessEx.
+ * ace/Process.*: Removed the old ACE_Process and replaced it with
+ what was ACE_ProcessEx.
- * ace/Process_Manager.{i,cpp}: Updated to use the new ACE_Process
- API.
+ * ace/Process_Manager.{i,cpp}: Updated to use the new ACE_Process
+ API.
Mon May 12 08:16:38 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config-freebsd*.h: added support for FreeBSD 2.1.7R.
- Thanks to Satoshi Ueno <satoshi.ueno@gs.com> for figuring
- out the differences and to Nanbor Wang <nw1@cs.wustl.edu>
- for updating the config files.
+ * ace/config-freebsd*.h: added support for FreeBSD 2.1.7R.
+ Thanks to Satoshi Ueno <satoshi.ueno@gs.com> for figuring
+ out the differences and to Nanbor Wang <nw1@cs.wustl.edu>
+ for updating the config files.
Sun May 11 17:36:59 1997 <harrison@samba.cs.wustl.edu>
- * tests/{Pipe_Test.cpp, Process_Mutex_Test.cpp,
- Time_Service_Test.cpp, Token_Service_Test.cpp}: Updated these
- files to use the new ACE_Process API.
+ * tests/{Pipe_Test.cpp, Process_Mutex_Test.cpp,
+ Time_Service_Test.cpp, Token_Service_Test.cpp}: Updated these
+ files to use the new ACE_Process API.
Sun May 11 14:40:51 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config-osf1-4.0.h: put back ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS.
+ * ace/config-osf1-4.0.h: put back ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS.
- * ace/ACE_Process.cpp (ACE_Process_Options ctor): reordered
- initializers to match declaration order.
+ * ace/ACE_Process.cpp (ACE_Process_Options ctor): reordered
+ initializers to match declaration order.
Sat May 10 19:44:28 1997 <harrison@samba.cs.wustl.edu>
- * Process.h: ACE_ProcessEx now works on Solaris and NT. There
- have been some changes to the API. ACE_ProcessEx::cl_options
- and ACE_ProcessEx::path have been combined into
- ACE_ProcessEx::command_line. ACE_ProcessEx::command_line must
- be used to specify path and command-line arguments. There is
- also a second ACE_ProcessEx::setenv method that allows
- applications to set environment variables in a "VAR=VALUE"
- format.
+ * Process.h: ACE_ProcessEx now works on Solaris and NT. There
+ have been some changes to the API. ACE_ProcessEx::cl_options
+ and ACE_ProcessEx::path have been combined into
+ ACE_ProcessEx::command_line. ACE_ProcessEx::command_line must
+ be used to specify path and command-line arguments. There is
+ also a second ACE_ProcessEx::setenv method that allows
+ applications to set environment variables in a "VAR=VALUE"
+ format.
Sat May 10 10:51:11 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/config-osf1-3.2.h: Added three new flags to the config file
- for OSF/1 3.2:
+ * ace/config-osf1-3.2.h: Added three new flags to the config file
+ for OSF/1 3.2:
- #define ACE_LACKS_SETSCHED
- #define ACE_LACKS_RWLOCK_T
- #define ACE_LACKS_GETPGID
+ #define ACE_LACKS_SETSCHED
+ #define ACE_LACKS_RWLOCK_T
+ #define ACE_LACKS_GETPGID
- Thanks to Tom Dobridge <dobridge@persimmon.com> for reporting
- this.
+ Thanks to Tom Dobridge <dobridge@persimmon.com> for reporting
+ this.
Fri May 09 16:37:48 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config-osf1-4.0.h: added DEC_CXX.
+ * ace/config-osf1-4.0.h: added DEC_CXX.
- * ace/config-osf1-4.0-g++.h: removed commented-out
- ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS.
+ * ace/config-osf1-4.0-g++.h: removed commented-out
+ ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS.
- Thanks to Thilo Kielmann <kielmann@informatik.uni-siegen.de> for
- patches for the above two OSF config files.
-
- * ace/Sched_Params.cpp (priority_min): On Solaris (with STHREADS),
- don't return priority of 0 because ::pthread_attr_setschedparam ()
- will refuse to use it (with EINVAL). So, bump priority of 0 up to 1.
+ Thanks to Thilo Kielmann <kielmann@informatik.uni-siegen.de> for
+ patches for the above two OSF config files.
+
+ * ace/Sched_Params.cpp (priority_min): On Solaris (with STHREADS),
+ don't return priority of 0 because ::pthread_attr_setschedparam ()
+ will refuse to use it (with EINVAL). So, bump priority of 0 up to 1.
- * tests/Priority_Task_Test.cpp: retry the task activation with
- priority 0 if it fails with non-zero priority. This lets the
- test run on platforms such as Linux that only let the superuser
- set non-zero priority.
+ * tests/Priority_Task_Test.cpp: retry the task activation with
+ priority 0 if it fails with non-zero priority. This lets the
+ test run on platforms such as Linux that only let the superuser
+ set non-zero priority.
- * ace/ACE_Process.cpp (ACE_Process_Options ctor): reordered
- initializers to match declaration order.
+ * ace/ACE_Process.cpp (ACE_Process_Options ctor): reordered
+ initializers to match declaration order.
- * examples/Connection/non_blocking/test_lsock_acceptor.cpp: fixed
- typo in template specializations: ACE_LSOCK_ACCEPTOR instead of
- ACE_SOCK_LACCEPTOR.
+ * examples/Connection/non_blocking/test_lsock_acceptor.cpp: fixed
+ typo in template specializations: ACE_LSOCK_ACCEPTOR instead of
+ ACE_SOCK_LACCEPTOR.
Fri May 9 13:07:20 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/UNIX_Addr: Changed the return values of all the set()
- methods so that they conform to the signature used by the
- INET_Addrs.
+ * ace/UNIX_Addr: Changed the return values of all the set()
+ methods so that they conform to the signature used by the
+ INET_Addrs.
- * examples/Connection/non-blocking: Added two new test programs,
- test_lsock_{connector,acceptor}.cpp that
-
+ * examples/Connection/non-blocking: Added two new test programs,
+ test_lsock_{connector,acceptor}.cpp that
+
- * ace/LSOCK_Stream.cpp: Revised the get_remote_addr() method so
- that it uses the underlying ACE_SOCK::get_remote_addr() method
- rather than the get_local_addr() method. Hopefully, this will
- fix an ACE bug with UNIX domain sockets. Thanks to Paul Han
- <phan@CCGATE.HAC.COM> for reporting the problem and the fix.
+ * ace/LSOCK_Stream.cpp: Revised the get_remote_addr() method so
+ that it uses the underlying ACE_SOCK::get_remote_addr() method
+ rather than the get_local_addr() method. Hopefully, this will
+ fix an ACE bug with UNIX domain sockets. Thanks to Paul Han
+ <phan@CCGATE.HAC.COM> for reporting the problem and the fix.
- * include/makeinclude/platform_aix4.2.GNU (LLIBS): Changed
-
- LLIBS = -lC_r -lC -lpthreads -lbsd -ltli_r -ldl -lc_r -lm -lc $(ACELIB)
+ * include/makeinclude/platform_aix4.2.GNU (LLIBS): Changed
+
+ LLIBS = -lC_r -lC -lpthreads -lbsd -ltli_r -ldl -lc_r -lm -lc $(ACELIB)
- to
+ to
- LLIBS = -ltli_r -ldl $(ACELIB)
+ LLIBS = -ltli_r -ldl $(ACELIB)
- MakeC++SharedLib_r includes all the other libs automatically in
- the search.
+ MakeC++SharedLib_r includes all the other libs automatically in
+ the search.
- * apps/Gateway/Gateway/Proxy_Handler.h: Moved the handle_close()
- method into the public section since the Connector now calls it.
+ * apps/Gateway/Gateway/Proxy_Handler.h: Moved the handle_close()
+ method into the public section since the Connector now calls it.
- * ace/Containers.cpp: Updated all the operator= methods so
- that they no longer try to return *this. Thanks to Chris Lahey
- for reporting this.
+ * ace/Containers.cpp: Updated all the operator= methods so
+ that they no longer try to return *this. Thanks to Chris Lahey
+ for reporting this.
- * ace/IOStream.h: Replaced __alpha with DIGITAL_UNIX && DEC_CXX.
- Thanks to Thilo for reporting this.
+ * ace/IOStream.h: Replaced __alpha with DIGITAL_UNIX && DEC_CXX.
+ Thanks to Thilo for reporting this.
- * build/gcc/tests/Simple_Message_Block_Test.cpp (main): Changed
- the use of ACE_Mutex to ACE_SYNCH_MUTEX so that everything will
- build correctly on non-MT platforms.
+ * build/gcc/tests/Simple_Message_Block_Test.cpp (main): Changed
+ the use of ACE_Mutex to ACE_SYNCH_MUTEX so that everything will
+ build correctly on non-MT platforms.
- * ace/Timer_{Heap,List}_T.cpp: To ensure backwards compatibility
- with the old "int" return value of Timer_*::schedule() we must
- cast the long value to int before returning it. Thanks to Thilo
- Kielmann <kielmann@informatik.uni-siegen.de> for reporting this.
+ * ace/Timer_{Heap,List}_T.cpp: To ensure backwards compatibility
+ with the old "int" return value of Timer_*::schedule() we must
+ cast the long value to int before returning it. Thanks to Thilo
+ Kielmann <kielmann@informatik.uni-siegen.de> for reporting this.
- * ace/Acceptor.cpp,
- ace/Connector.cpp:
- If an active or passive connection times out and the Connector
- or Acceptor calls the handle_timeout() method of the
- Svc_Handler, we now keep track of whether the handle_timeout()
- method returns -1. If so, we call handle_close() on the
- Svc_Handler automatically. Thanks to Michael Hartman
- <c62nt57@ibx.com> for suggesting this.
+ * ace/Acceptor.cpp,
+ ace/Connector.cpp:
+ If an active or passive connection times out and the Connector
+ or Acceptor calls the handle_timeout() method of the
+ Svc_Handler, we now keep track of whether the handle_timeout()
+ method returns -1. If so, we call handle_close() on the
+ Svc_Handler automatically. Thanks to Michael Hartman
+ <c62nt57@ibx.com> for suggesting this.
- * tests/IOStream_Test.cpp: Fixed this test so that it runs on
- non-MT platforms.
+ * tests/IOStream_Test.cpp: Fixed this test so that it runs on
+ non-MT platforms.
- * ace/Module.cpp: Changed the implementation of the close_i()
- method so that it will wait for all active threads in a Task to
- exit before deleting the task.
+ * ace/Module.cpp: Changed the implementation of the close_i()
+ method so that it will wait for all active threads in a Task to
+ exit before deleting the task.
- * ace/Task: Added a wait() method on an ACE_Task that will use the
- new ACE_Thread_Manager::wait_task() method to block until all
- threads have shutdown in a Task.
+ * ace/Task: Added a wait() method on an ACE_Task that will use the
+ new ACE_Thread_Manager::wait_task() method to block until all
+ threads have shutdown in a Task.
- * ace/Thread_Manager: Finally implemented the wait_task() and
- wait_grp() interfaces on ACE_Thread_Manager.
+ * ace/Thread_Manager: Finally implemented the wait_task() and
+ wait_grp() interfaces on ACE_Thread_Manager.
- * ace/SOCK_Dgram.cpp: Added a timed recv() operation. Thanks
- to Hongbo Xu <hxu@mas.co.nz> for contributing this.
+ * ace/SOCK_Dgram.cpp: Added a timed recv() operation. Thanks
+ to Hongbo Xu <hxu@mas.co.nz> for contributing this.
- * ace/Timer_Queue_T.cpp: Added #include "ace/Synch.h" to keep the
- DEC C++ compiler happy. Thanks to James CE Johnson
- <jcej@lads.com> for this.
+ * ace/Timer_Queue_T.cpp: Added #include "ace/Synch.h" to keep the
+ DEC C++ compiler happy. Thanks to James CE Johnson
+ <jcej@lads.com> for this.
- * ace/Containers.i (size): Changed <TYPE> to <T> so that this
- compiles on the Alpha. Thanks to James CE Johnson
- <jcej@lads.com> for this.
+ * ace/Containers.i (size): Changed <TYPE> to <T> so that this
+ compiles on the Alpha. Thanks to James CE Johnson
+ <jcej@lads.com> for this.
- * ace/IOStream.h: Include the std_macros header on the Alpha.
- Thanks to James CE Johnson <jcej@lads.com> for this.
+ * ace/IOStream.h: Include the std_macros header on the Alpha.
+ Thanks to James CE Johnson <jcej@lads.com> for this.
- * include/makeinclude/platform_osf1_4.0.GNU (SOBUILD): Removed
- -lACE from the link line. Thanks to James CE Johnson
- <jcej@lads.com> for this.
+ * include/makeinclude/platform_osf1_4.0.GNU (SOBUILD): Removed
+ -lACE from the link line. Thanks to James CE Johnson
+ <jcej@lads.com> for this.
- * tests/Timer_Queue_Test.cpp: Changed all the int timer ids to
- long so that the test will work on DEC ALPHAs. Thanks to Thilo
- Kielmann <kielmann@informatik.uni-siegen.de> for reporting this.
+ * tests/Timer_Queue_Test.cpp: Changed all the int timer ids to
+ long so that the test will work on DEC ALPHAs. Thanks to Thilo
+ Kielmann <kielmann@informatik.uni-siegen.de> for reporting this.
- * ace/Process: Fixed a number of compile problems for UNIX.
+ * ace/Process: Fixed a number of compile problems for UNIX.
- * ace/Process.h: Changed the methods named stdin/stdout/stderr to
- std_in/std_out/std_err to avoid name clashes with the standard C
- library.
+ * ace/Process.h: Changed the methods named stdin/stdout/stderr to
+ std_in/std_out/std_err to avoid name clashes with the standard C
+ library.
- * ace/OS: Changed the use of ACE_Unbounded_Set to
- ACE_Unbounded_Stack in order to get the appropriate semantics
- for TSS cleanup on NT.
+ * ace/OS: Changed the use of ACE_Unbounded_Set to
+ ACE_Unbounded_Stack in order to get the appropriate semantics
+ for TSS cleanup on NT.
- * ace/Containers: Enhanced the ACE_Unbounded_Stack class so
- that it supports insert()/remove()/find() methods. These
- rather unorthodox methods are useful for implementing the
- TSS semantics required by OS.cpp.
+ * ace/Containers: Enhanced the ACE_Unbounded_Stack class so
+ that it supports insert()/remove()/find() methods. These
+ rather unorthodox methods are useful for implementing the
+ TSS semantics required by OS.cpp.
- * ace/Containers: Revised all the interfaces for the various
- containers so that they all have the same "look and feel."
+ * ace/Containers: Revised all the interfaces for the various
+ containers so that they all have the same "look and feel."
Fri May 9 00:00:21 1997 James C Hu <jxh@polka.cs.wustl.edu>
- * apps/JAWS/server/HTTP_Request.{h,cpp}: Added a uritopath
- translation method, so that CGI location can be computed as it
- is searched. Added methods to access the parsed headers.
+ * apps/JAWS/server/HTTP_Request.{h,cpp}: Added a uritopath
+ translation method, so that CGI location can be computed as it
+ is searched. Added methods to access the parsed headers.
- * apps/JAWS/server/HTTP_Response.{h,cpp}: Flushed out the
- implementation of cgi_response () method. If all goes well, it
- should be able to execute a CGI program. I don't set the IO
- handles to point at the socket handle yet.
+ * apps/JAWS/server/HTTP_Response.{h,cpp}: Flushed out the
+ implementation of cgi_response () method. If all goes well, it
+ should be able to execute a CGI program. I don't set the IO
+ handles to point at the socket handle yet.
- * apps/JAWS/server/README: Updated description of JAWS behavior.
+ * apps/JAWS/server/README: Updated description of JAWS behavior.
Thu May 8 18:04:14 1997 Irfan Pyarali <irfan@cs.wustl.edu>
- * ace/Containers: Made the return values of Container methods
- more consistant with other components of ACE (i.e., 0 for
- success, -1 for failure).
+ * ace/Containers: Made the return values of Container methods
+ more consistant with other components of ACE (i.e., 0 for
+ success, -1 for failure).
- * ace/Containers (ACE_Unbounded_Stack<T>::delete_all_nodes):
- Fixed subtle bug in delete_all_nodes.
+ * ace/Containers (ACE_Unbounded_Stack<T>::delete_all_nodes):
+ Fixed subtle bug in delete_all_nodes.
- * ace/OS.cpp (ACE_TSS_Cleanup::exit): Changed because of
- return value changes in ACE containers.
+ * ace/OS.cpp (ACE_TSS_Cleanup::exit): Changed because of
+ return value changes in ACE containers.
- * Containers: Added size methods to stack containers and
- consolidated friendship between ACE_Unbounded_Stack_Iterator and
- ACE_Unbounded_Stack
+ * Containers: Added size methods to stack containers and
+ consolidated friendship between ACE_Unbounded_Stack_Iterator and
+ ACE_Unbounded_Stack
- * tests/Message_Block_Test.cpp: I was incorrect about each data
- block having its own lock. Since *many* data blocks can share
- the same lock, for the case of message block chains, we would
- like to optimize locking.
+ * tests/Message_Block_Test.cpp: I was incorrect about each data
+ block having its own lock. Since *many* data blocks can share
+ the same lock, for the case of message block chains, we would
+ like to optimize locking.
- Therefore, the first guy in the chain grabs the lock and passes
- it to the continuation chain. When each guy in the chain gets
- it, it compares the passed lock to its own locking strategy. If
- it is the same lock, no need to acquire the lock again. If our
- lock is different, then we do our own locking.
+ Therefore, the first guy in the chain grabs the lock and passes
+ it to the continuation chain. When each guy in the chain gets
+ it, it compares the passed lock to its own locking strategy. If
+ it is the same lock, no need to acquire the lock again. If our
+ lock is different, then we do our own locking.
- * tests/Simple_Message_Block_Test.cpp: This test program is a
- torture test that illustrates how ACE_Message_Block reference
- counting works, how and when locks are used, how memory is
- managed, and how continuation chains of message blocks are
- made. Ideally used with purify :-)
+ * tests/Simple_Message_Block_Test.cpp: This test program is a
+ torture test that illustrates how ACE_Message_Block reference
+ counting works, how and when locks are used, how memory is
+ managed, and how continuation chains of message blocks are
+ made. Ideally used with purify :-)
- * tests: Added new test. Following changed:
- Makefile run_tests.bat run_tests.sh tests.mak tests.mdp
+ * tests: Added new test. Following changed:
+ Makefile run_tests.bat run_tests.sh tests.mak tests.mdp
Thu May 8 18:04:14 1997 James C Hu <jxh@polka.cs.wustl.edu>
- * include/makeinclude/platform_irix6.2_sgic++.GNU: Moved SGI C++
- options out of CPPFLAGS into CCFLAGS so that gcc won't emit
- diagnostics during a make depend.
+ * include/makeinclude/platform_irix6.2_sgic++.GNU: Moved SGI C++
+ options out of CPPFLAGS into CCFLAGS so that gcc won't emit
+ diagnostics during a make depend.
Thu May 8 11:52:41 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * ace/{Task,Thread}.h: Added documentation describing
- thread priority determination to methods where priority
- is an [optional] argument. Note that if you want to inspect
- the REAL documentation, you should look at the code for
- ACE_OS::thr_create(). But that's convoluted and touchy.
+ * ace/{Task,Thread}.h: Added documentation describing
+ thread priority determination to methods where priority
+ is an [optional] argument. Note that if you want to inspect
+ the REAL documentation, you should look at the code for
+ ACE_OS::thr_create(). But that's convoluted and touchy.
- * ace/Strategies_T.h (ACE_Cached_Connection_Strategy): Added
- documentation for this class.
+ * ace/Strategies_T.h (ACE_Cached_Connection_Strategy): Added
+ documentation for this class.
Thu May 08 00:10:00 1997 <harrison@samba.cs.wustl.edu>
- * ace/Process.*: This is the first pass at the new ACE_Process
- class. It is now called ACE_ProcessEx. When it is completely
- ported to Solaris, we'll replace the current ACE_Process with
- ACE_ProcessEx.
+ * ace/Process.*: This is the first pass at the new ACE_Process
+ class. It is now called ACE_ProcessEx. When it is completely
+ ported to Solaris, we'll replace the current ACE_Process with
+ ACE_ProcessEx.
- * examples/OS/Process/process.cpp: Added some examples for the
- new ACE_ProcessEx.
+ * examples/OS/Process/process.cpp: Added some examples for the
+ new ACE_ProcessEx.
Wed May 07 21:58:29 1997 <irfan@TWOSTEP>
- * ace/Message_Block.h: ACE_Data_Block calling delete on the
- ACE_Message_Block was incorrect. This was a hack to simplify
- the locking issues! However this optimization leaded to
- incorrect code. Therefore I have taken this behavior out. The
- new implementation will lock and unlock multiple times in the
- case when there are message_blocks in the continuation field,
- all of which point to same data block. However, this is a
- strange case that can be optimized later. For now correct code
- is more important.
-
- Also, the continuation message blocks are only deleted in the
- release() method and not in the destructor. This will ensure
- that if message blocks of the stack are chained together, we
- will not call release on message blocks of the stack.
-
- Also note that release() should only be called on message blocks
- that have been dynamically allocated. Message blocks of the
- stack will clean up properly when the activation record of the
- method completes. Dynamically allocated messages blocks should
- *never* be chained with message blocks allocated of the stack.
-
- * examples/ASX/Event_Server/Event_Server/Peer_Router.h: Removed
- empty definitions of assignment operator and copy constructor.
-
- * examples/ASX/Event_Server/Event_Server/event_server.cpp
- (handle_input): Added code here will make sure we actually wait
- for the user to type something. On platforms like Win32,
- handle_input() is called prematurely (even when there is no
- data).
-
- * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: Changed
- a log message.
+ * ace/Message_Block.h: ACE_Data_Block calling delete on the
+ ACE_Message_Block was incorrect. This was a hack to simplify
+ the locking issues! However this optimization leaded to
+ incorrect code. Therefore I have taken this behavior out. The
+ new implementation will lock and unlock multiple times in the
+ case when there are message_blocks in the continuation field,
+ all of which point to same data block. However, this is a
+ strange case that can be optimized later. For now correct code
+ is more important.
+
+ Also, the continuation message blocks are only deleted in the
+ release() method and not in the destructor. This will ensure
+ that if message blocks of the stack are chained together, we
+ will not call release on message blocks of the stack.
+
+ Also note that release() should only be called on message blocks
+ that have been dynamically allocated. Message blocks of the
+ stack will clean up properly when the activation record of the
+ method completes. Dynamically allocated messages blocks should
+ *never* be chained with message blocks allocated of the stack.
+
+ * examples/ASX/Event_Server/Event_Server/Peer_Router.h: Removed
+ empty definitions of assignment operator and copy constructor.
+
+ * examples/ASX/Event_Server/Event_Server/event_server.cpp
+ (handle_input): Added code here will make sure we actually wait
+ for the user to type something. On platforms like Win32,
+ handle_input() is called prematurely (even when there is no
+ data).
+
+ * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: Changed
+ a log message.
Wed May 7 22:55:00 1997 James C Hu <jxh@polka.cs.wustl.edu>
- * JAWS/server/*: Debugging changes! GET and HEAD both work
- now. As well as changes to make it compile cleanly on
- VXWORKS, as reported by David.
+ * JAWS/server/*: Debugging changes! GET and HEAD both work
+ now. As well as changes to make it compile cleanly on
+ VXWORKS, as reported by David.
Wed May 07 16:05:39 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Makefile: added Timer_Wheel to FILES. Thanks to Thilo
- Kielmann <kielmann@informatik.uni-siegen.de> for reporting this.
+ * ace/Makefile: added Timer_Wheel to FILES. Thanks to Thilo
+ Kielmann <kielmann@informatik.uni-siegen.de> for reporting this.
- * include/makeinclude/platform_irix6.2_sgic++.GNU: enabled CPPFLAGS
- to instantiate all templates so that gatewayd will build.
- Thanks to Nathan N. Vuong <nvuong@mail08.mitre.org> for reporting
- this problem and Eric Dean Russell <edrusse@somnet.sandia.gov>
- for supplying and the fix.
+ * include/makeinclude/platform_irix6.2_sgic++.GNU: enabled CPPFLAGS
+ to instantiate all templates so that gatewayd will build.
+ Thanks to Nathan N. Vuong <nvuong@mail08.mitre.org> for reporting
+ this problem and Eric Dean Russell <edrusse@somnet.sandia.gov>
+ for supplying and the fix.
- * ace/Map_Manager.h: updated comments to indicate that find
- functions return a non-negative integer if the item is found.
+ * ace/Map_Manager.h: updated comments to indicate that find
+ functions return a non-negative integer if the item is found.
- * ace/Map_Manager.cpp (find_i (const EXT_ID &, INT_ID &)): return
- index instead of 0 if the item is found, to be consistent with
- find_i (const EXT_ID &).
+ * ace/Map_Manager.cpp (find_i (const EXT_ID &, INT_ID &)): return
+ index instead of 0 if the item is found, to be consistent with
+ find_i (const EXT_ID &).
- * ace/IOStream.cpp (ACE_Streambuf_T ctor): added initializations of
- eback_saved_ and pbase_saved_ to avoid unitialized memory read
- reports from Purify.
+ * ace/IOStream.cpp (ACE_Streambuf_T ctor): added initializations of
+ eback_saved_ and pbase_saved_ to avoid unitialized memory read
+ reports from Purify.
Tue May 6 07:39:25 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Service_Config.cpp (open): Make sure to perform the
- daemonization logic first so that we get a new process created
- before initializing reactors, etc. Thanks to Adrian Salt
- <acsalt@magi.com> for reporting this.
+ * ace/Service_Config.cpp (open): Make sure to perform the
+ daemonization logic first so that we get a new process created
+ before initializing reactors, etc. Thanks to Adrian Salt
+ <acsalt@magi.com> for reporting this.
- * examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp (main):
- Changed ACE::INVALID_HANDLE to ACE_INVALID_HANDLE.
- Thanks to Dani Flexer <danif@alice.actcom.co.il> for
- reporting this.
+ * examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp (main):
+ Changed ACE::INVALID_HANDLE to ACE_INVALID_HANDLE.
+ Thanks to Dani Flexer <danif@alice.actcom.co.il> for
+ reporting this.
- * tests/Conn_Test.cpp (compare_i): Changed the comparison from
- a1 == a2 to a1 != a2 since this appears to be what is needed.
- We need to improve the comments here!
+ * tests/Conn_Test.cpp (compare_i): Changed the comparison from
+ a1 == a2 to a1 != a2 since this appears to be what is needed.
+ We need to improve the comments here!
- * tests/Conn_Test.cpp: Split the definition of the Svc_Handler
- template into its own Conn_Test.h file to work around "features"
- with AIX C++. Thanks to Chris Lahey for reporting this.
+ * tests/Conn_Test.cpp: Split the definition of the Svc_Handler
+ template into its own Conn_Test.h file to work around "features"
+ with AIX C++. Thanks to Chris Lahey for reporting this.
- * ace/Containers.cpp: Fixed a bug in the set() method for
- ACE_Unbounded_Queue. Again, thank goodness for cs242!
+ * ace/Containers.cpp: Fixed a bug in the set() method for
+ ACE_Unbounded_Queue. Again, thank goodness for cs242!
- * ace/Containers.cpp: Fixed a bug in the enqueue_head() logic for
- ACE_Unbounded_Queue. Thank goodness for cs242 ;-).
+ * ace/Containers.cpp: Fixed a bug in the enqueue_head() logic for
+ ACE_Unbounded_Queue. Thank goodness for cs242 ;-).
- * ace/Containers.cpp: Added a destructor for ACE_Node to keep the
- compilers happy.
+ * ace/Containers.cpp: Added a destructor for ACE_Node to keep the
+ compilers happy.
Tue May 06 11:31:49 1997 David L. Levine <levine@cs.wustl.edu>
- * netsvcs/lib/*.cpp: removed break statements after
- ACE_RETURNs to avoid unreachable statement warnings from
- GHS.
+ * netsvcs/lib/*.cpp: removed break statements after
+ ACE_RETURNs to avoid unreachable statement warnings from
+ GHS.
- * ace/OS.cpp (mktime): added time_t cast of -1 (error) return
- to avoid compiler warning.
+ * ace/OS.cpp (mktime): added time_t cast of -1 (error) return
+ to avoid compiler warning.
- * ace/config-vxworks-ghs-1.8.h: added ACE_LACKS_SIGNED_CHAR.
+ * ace/config-vxworks-ghs-1.8.h: added ACE_LACKS_SIGNED_CHAR.
- * ace/Containers.cpp (dequeue_head): fixed typos in variable names.
+ * ace/Containers.cpp (dequeue_head): fixed typos in variable names.
- * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp:
- removed #ifdef ACE_HAS_TLI around some template specializations so
- that this subproject will build on platforms non-TLI platforms such
- as Linux.
+ * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp:
+ removed #ifdef ACE_HAS_TLI around some template specializations so
+ that this subproject will build on platforms non-TLI platforms such
+ as Linux.
Tue May 6 17:02:54 1997 James C Hu <jxh@polka.cs.wustl.edu>
- * ace/OS.{h,i}: Added strftime (). Also, enhanced strcasecmp
- implementation to account for lexicographical ordering for
- mismatches.
+ * ace/OS.{h,i}: Added strftime (). Also, enhanced strcasecmp
+ implementation to account for lexicographical ordering for
+ mismatches.
- * apps/JAWS/server/Parse_Headers.{h,cpp} (class Headers_Map):
+ * apps/JAWS/server/Parse_Headers.{h,cpp} (class Headers_Map):
Changed signature of casting operator to return a pointer
rather than a reference to a constant pointer, to fix
anachronism warning Doug found.
@@ -2793,8 +2793,8 @@ Tue May 6 17:02:54 1997 James C Hu <jxh@polka.cs.wustl.edu>
Tue May 6 00:00:54 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * ace/Message_Block.cpp: Added template specialization for
- ACE_Guard<> that prevented ACE from compiling under Linux.
+ * ace/Message_Block.cpp: Added template specialization for
+ ACE_Guard<> that prevented ACE from compiling under Linux.
Mon May 5 22:17:15 1997 Sumedh Mungee <sumedh@cs.wustl.edu>
@@ -2803,447 +2803,447 @@ Mon May 5 22:17:15 1997 Sumedh Mungee <sumedh@cs.wustl.edu>
Mon May 05 21:01:42 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config-linux*.h: added ACE_HAS_STRING_CLASS. Thanks to
- Luis Lopes <llopes@tick.rcc.Ryerson.CA> for reporting this.
+ * ace/config-linux*.h: added ACE_HAS_STRING_CLASS. Thanks to
+ Luis Lopes <llopes@tick.rcc.Ryerson.CA> for reporting this.
Mon May 05 19:58:16 1997 <irfan@TWOSTEP>
- * ace/ace.{mak,mdp}: Readded IOStream.cpp to the makefile.
+ * ace/ace.{mak,mdp}: Readded IOStream.cpp to the makefile.
- * ace/Synch_T.h: Added ACE_SYNCH_RECURSIVE_MUTEX.
+ * ace/Synch_T.h: Added ACE_SYNCH_RECURSIVE_MUTEX.
- * ace/Timer_Queue: Added an extra template parameter to
- Timer_Queues that specifies the type of locking to be used
- inside of the timer queue.
+ * ace/Timer_Queue: Added an extra template parameter to
+ Timer_Queues that specifies the type of locking to be used
+ inside of the timer queue.
- Also changed the functor callback routines so that they are more
- descriptive compared to operator ().
+ Also changed the functor callback routines so that they are more
+ descriptive compared to operator ().
Mon May 5 21:37:01 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Message_Block: Revised the release() logic for
- ACE_Message_Block and ACE_Data_Block so that we will delete both
- within the same block of code in order to hold the lock. This
- should prevent nasty race conditions in multi-threaded programs.
- Thanks to Craig Perras <craig.perras@CyberSafe.COM> for
- reporting this problem.
+ * ace/Message_Block: Revised the release() logic for
+ ACE_Message_Block and ACE_Data_Block so that we will delete both
+ within the same block of code in order to hold the lock. This
+ should prevent nasty race conditions in multi-threaded programs.
+ Thanks to Craig Perras <craig.perras@CyberSafe.COM> for
+ reporting this problem.
- * ace/Message_Block.cpp: Replaced an explicit acquire()/release()
- of ACE_Lock::locking_strategy_ with a call to an ACE_Guard.
+ * ace/Message_Block.cpp: Replaced an explicit acquire()/release()
+ of ACE_Lock::locking_strategy_ with a call to an ACE_Guard.
- * ace/Containers.cpp (set): Optimized for the common case where
- we're increasing the size of the set by 1.
+ * ace/Containers.cpp (set): Optimized for the common case where
+ we're increasing the size of the set by 1.
- * ace/Containers: Merged the ACE_Set_Node, ACE_Stack_Node, and
- ACE_Set_Node into a single "ACE_Node" class. This tidies up the
- code quite a bit.
+ * ace/Containers: Merged the ACE_Set_Node, ACE_Stack_Node, and
+ ACE_Set_Node into a single "ACE_Node" class. This tidies up the
+ code quite a bit.
- * ace: Removed the Set.* and Stack.* files and replaced them with
- the Containers.* files. This file contains the ACE_*Stack,
- ACE_*Queue, and ACE_*Set classes. If this revised file scheme
- breaks existing code please let me know and I'll provide
- backwards compatibility.
+ * ace: Removed the Set.* and Stack.* files and replaced them with
+ the Containers.* files. This file contains the ACE_*Stack,
+ ACE_*Queue, and ACE_*Set classes. If this revised file scheme
+ breaks existing code please let me know and I'll provide
+ backwards compatibility.
- * ace/Stack: Changed the name of ACE_Unbounded_Queue::enqueue() to
- ACE_Unbounded_Queue::enqueue_tail() and also added
- ACE_Unbounded_Queue::enqueue_head().
+ * ace/Stack: Changed the name of ACE_Unbounded_Queue::enqueue() to
+ ACE_Unbounded_Queue::enqueue_tail() and also added
+ ACE_Unbounded_Queue::enqueue_head().
- * ace/OS: Changed the names of the parameters of the ACE_OS::mem*
- methods from ACE_OS::mem* (void *s, const void *t) to
- ACE_OS::mem* (void *t, const void *s) since "t" should stand for
- "target" and "s" for "source." Thanks to Andres Kruse
- <Andres.Kruse@cern.ch> for pointing this out.
+ * ace/OS: Changed the names of the parameters of the ACE_OS::mem*
+ methods from ACE_OS::mem* (void *s, const void *t) to
+ ACE_OS::mem* (void *t, const void *s) since "t" should stand for
+ "target" and "s" for "source." Thanks to Andres Kruse
+ <Andres.Kruse@cern.ch> for pointing this out.
- * ace/Stack: Removed the peek() method from ACE_Unbounded_Queue.
- This functionality is now subsumed by the get(..., 0) method.
- If this breaks any existing code please let me know.
+ * ace/Stack: Removed the peek() method from ACE_Unbounded_Queue.
+ This functionality is now subsumed by the get(..., 0) method.
+ If this breaks any existing code please let me know.
- * ace/Stack.h: Moved all the functionality from ACE_Unbounded_Set
- into ACE_Unbounded_Queue. That's really where this belonged in
- the first place. Thanks to David Levine for noticing this.
+ * ace/Stack.h: Moved all the functionality from ACE_Unbounded_Set
+ into ACE_Unbounded_Queue. That's really where this belonged in
+ the first place. Thanks to David Levine for noticing this.
- * ace/Set.h: Moved ACE_Set_Node from the *.cpp file into the *.cpp
- file in anticipation of AIX C++ compiler bugs ;-).
+ * ace/Set.h: Moved ACE_Set_Node from the *.cpp file into the *.cpp
+ file in anticipation of AIX C++ compiler bugs ;-).
- * examples/ASX/Event_Server/Transceiver/transceiver.cpp:
- Rearranged the location where we register to receive standard
- input so that the socket handle will not be initialized at this
- point. Thanks to craig perras <craigp@wolfenet.com> for
- reporting this.
+ * examples/ASX/Event_Server/Transceiver/transceiver.cpp:
+ Rearranged the location where we register to receive standard
+ input so that the socket handle will not be initialized at this
+ point. Thanks to craig perras <craigp@wolfenet.com> for
+ reporting this.
- * examples/ASX/Event_Server/Transceiver/transceiver.cpp
- (Event_Transceiver): Make sure to #ifdef around SIGQUIT for
- WIN32 since it lacks this signal. Thanks to craig perras
- <craigp@wolfenet.com> for reporting this.
+ * examples/ASX/Event_Server/Transceiver/transceiver.cpp
+ (Event_Transceiver): Make sure to #ifdef around SIGQUIT for
+ WIN32 since it lacks this signal. Thanks to craig perras
+ <craigp@wolfenet.com> for reporting this.
- * ace/config-osf1-4.0-g++.h: Removed the ACE_LACKS_SIGNED_CHAR
- since this seems to be compiler specific. Thanks to Thilo for
- this insight.
+ * ace/config-osf1-4.0-g++.h: Removed the ACE_LACKS_SIGNED_CHAR
+ since this seems to be compiler specific. Thanks to Thilo for
+ this insight.
- * ace/Strategies_T: Added a number of fixes and enhancements to
- the new Hash_Addr and ACE_Cached_Connect_Strategy classes.
+ * ace/Strategies_T: Added a number of fixes and enhancements to
+ the new Hash_Addr and ACE_Cached_Connect_Strategy classes.
- * ace/Strategies_T.h: Added #include for "Hash_Map_Manager.h".
- Thanks to Amos Shapira <amos@dsi.co.il> for reporting this.
+ * ace/Strategies_T.h: Added #include for "Hash_Map_Manager.h".
+ Thanks to Amos Shapira <amos@dsi.co.il> for reporting this.
- * ace/config-hpux-10.*.h: Applied a number of patches courtesy of
- Carlos O'Ryan.
+ * ace/config-hpux-10.*.h: Applied a number of patches courtesy of
+ Carlos O'Ryan.
- * ace/Dump.cpp: Changed a cast from
+ * ace/Dump.cpp: Changed a cast from
- delete (ACE_Dumpable_Ptr *) this->dumper_;
+ delete (ACE_Dumpable_Ptr *) this->dumper_;
- to
+ to
- delete (ACE_Dumpable *) this->dumper_;
+ delete (ACE_Dumpable *) this->dumper_;
- This fixes a potential bug. Thanks to Carlos O'Ryan for this
- bug report.
+ This fixes a potential bug. Thanks to Carlos O'Ryan for this
+ bug report.
- * ace/DEV_IO.h,
- * ace/SPIPE_Stream.h: Removed the = 0 default value for one send()
- method to avoid ambiguity with the other send() method. Thanks
- to Carlos O'Ryan for this bug report.
+ * ace/DEV_IO.h,
+ * ace/SPIPE_Stream.h: Removed the = 0 default value for one send()
+ method to avoid ambiguity with the other send() method. Thanks
+ to Carlos O'Ryan for this bug report.
- * ace/Map_Manager.cpp (advance): Removed a cast to size_t since
- that is always true. Thanks to David Levine for pointing this
- out.
+ * ace/Map_Manager.cpp (advance): Removed a cast to size_t since
+ that is always true. Thanks to David Levine for pointing this
+ out.
- * ace/XtReactor: Moved the remove_handler_i() and
- register_handler_i() methods into the protected portion
- of the class. Since these should never be called by the
- client I've moved them into protected portion to ensure this
- is the case.
+ * ace/XtReactor: Moved the remove_handler_i() and
+ register_handler_i() methods into the protected portion
+ of the class. Since these should never be called by the
+ client I've moved them into protected portion to ensure this
+ is the case.
- * ace/XtReactor: Changed the implementation of the XtReactor to
- use long for dealing with timers. Thanks to Stuart Powell
- <stuartp@in.ot.com.au> for reporting this.
+ * ace/XtReactor: Changed the implementation of the XtReactor to
+ use long for dealing with timers. Thanks to Stuart Powell
+ <stuartp@in.ot.com.au> for reporting this.
Mon May 5 17:16:41 1997 Carlos O'Ryan <coryan@mat.puc.cl>
- * ace/config-hpux-10.x.h, config-hpux-10.x-nothread.h:
- Some patches are needed to compile ACE under HP-UX (using HP/C++),
- I documented those patches.
+ * ace/config-hpux-10.x.h, config-hpux-10.x-nothread.h:
+ Some patches are needed to compile ACE under HP-UX (using HP/C++),
+ I documented those patches.
Mon May 05 11:50:39 1997 David L. Levine <levine@cs.wustl.edu>
- * netsvcs/lib/Server_Logging_Handler.cpp: fixed ACE_Svc_Handler
- specializations, yet again, for Linux w/LXPthreads. Thanks to
- Luis Lopes <llopes@tick.rcc.Ryerson.CA> for reporting this
- problem with sufficient detail for us to track it down.
+ * netsvcs/lib/Server_Logging_Handler.cpp: fixed ACE_Svc_Handler
+ specializations, yet again, for Linux w/LXPthreads. Thanks to
+ Luis Lopes <llopes@tick.rcc.Ryerson.CA> for reporting this
+ problem with sufficient detail for us to track it down.
- * ace/Stack.* (ACE_Unbounded_Queue):
+ * ace/Stack.* (ACE_Unbounded_Queue):
- 1) made peek () const.
- 2) added another peek (u_int index = 0) function that can peek
+ 1) made peek () const.
+ 2) added another peek (u_int index = 0) function that can peek
at any queue item, not just the first. It returns a pointer
to the item (or 0 if not found), to avoid copying.
- 3) changed return type of size () from int to size_t.
- 4) inlined size ().
+ 3) changed return type of size () from int to size_t.
+ 4) inlined size ().
- * ace/Strategies_T.cpp (connect_svc_handler, operator==):
- added return type.
+ * ace/Strategies_T.cpp (connect_svc_handler, operator==):
+ added return type.
- * netsvcs/lib/Server_Logging_Handler.cpp: fixed template
- specializations for platforms that have neither THREADS nor
- TLI. Thanks to Nanbor Wang <nw1@cs.wustl.edu> for reporting this.
+ * netsvcs/lib/Server_Logging_Handler.cpp: fixed template
+ specializations for platforms that have neither THREADS nor
+ TLI. Thanks to Nanbor Wang <nw1@cs.wustl.edu> for reporting this.
Sun May 4 12:34:09 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/OS.cpp: If ACE_HAS_THREADS isn't defined then we'll just
- use mktime() without the locking.
+ * ace/OS.cpp: If ACE_HAS_THREADS isn't defined then we'll just
+ use mktime() without the locking.
- * ace/Set: Removed the get() methods from the ACE_Fixed_Set and
- ACE_Bounded_Set since they don't make much sense on these
- abstractions.
+ * ace/Set: Removed the get() methods from the ACE_Fixed_Set and
+ ACE_Bounded_Set since they don't make much sense on these
+ abstractions.
- * ace/Set: Changed the new "find" method to be called "get" to
- correspond to the new "set" method I'm adding.
+ * ace/Set: Changed the new "find" method to be called "get" to
+ correspond to the new "set" method I'm adding.
- * ace/SString.cpp: Added a operator << for ACE_CString in
- order to print it with iostreams.
+ * ace/SString.cpp: Added a operator << for ACE_CString in
+ order to print it with iostreams.
- * ace/Set.cpp: Added a reset method to the ACE_Unbounded_Set to
- remove all the nodes without completely destroying the set.
+ * ace/Set.cpp: Added a reset method to the ACE_Unbounded_Set to
+ remove all the nodes without completely destroying the set.
- * ace/SString: Added friend operator+ to both ACE_CString and
- ACE_WString in order to provide a concatenation operator.
+ * ace/SString: Added friend operator+ to both ACE_CString and
+ ACE_WString in order to provide a concatenation operator.
- * ace/SString: Added a compare() method to all the ACE String
- classes. This behaves just like the Standard C library strcmp()
- function.
+ * ace/SString: Added a compare() method to all the ACE String
+ classes. This behaves just like the Standard C library strcmp()
+ function.
- * ace/Message_Queue.i: Oddly, there were a bunch of methods
- defined in this *.i file that didn't have ACE_INLINE in front of
- them. I'm surprised this didn't give compile errors on some
- platforms. I've fixed this by moving these methods into the
- *.cpp file.
+ * ace/Message_Queue.i: Oddly, there were a bunch of methods
+ defined in this *.i file that didn't have ACE_INLINE in front of
+ them. I'm surprised this didn't give compile errors on some
+ platforms. I've fixed this by moving these methods into the
+ *.cpp file.
- * ace/Stream,
- ace/Service_Repository,
- ace/Reactor,
- ace/Message_Queue,
- ace/Map_Manager,
- ace/Malloc_T,
- ace/Hash_Map_Manager,
- ace/Set: Added a done() method on all the iterators so that
- we can check within the iteration itself to see if there are any
- remaining elements. In addition, updated the return value of
- advance() on all iterators so that it returns 1 if we're not
- done and 0 if we're done.
+ * ace/Stream,
+ ace/Service_Repository,
+ ace/Reactor,
+ ace/Message_Queue,
+ ace/Map_Manager,
+ ace/Malloc_T,
+ ace/Hash_Map_Manager,
+ ace/Set: Added a done() method on all the iterators so that
+ we can check within the iteration itself to see if there are any
+ remaining elements. In addition, updated the return value of
+ advance() on all iterators so that it returns 1 if we're not
+ done and 0 if we're done.
Sun May 04 07:22:49 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Timer_Heap_T.cpp: changed some more int declarations to longs.
+ * ace/Timer_Heap_T.cpp: changed some more int declarations to longs.
Sat May 3 17:38:19 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * Changed all uses of Reactor::{scheduler_timer,cancel}() and
- Timer_{Queue,List,Heap,Wheel}::{schedule,cancel}() to use
- long rather than int. This is important since it ensures that
- we can make the Timing Wheels trick of casting the
- Timer_Node * to long work correctly on machines that have 64
- bit pointers, 64 bit longs, and 32 bit ints (e.g,. DEC
- ALPHA). Thanks to Thilo Kielmann
- <kielmann@informatik.uni-siegen.de> for pointing this out,
- even though he finds this solution distasteful ;-).
+ * Changed all uses of Reactor::{scheduler_timer,cancel}() and
+ Timer_{Queue,List,Heap,Wheel}::{schedule,cancel}() to use
+ long rather than int. This is important since it ensures that
+ we can make the Timing Wheels trick of casting the
+ Timer_Node * to long work correctly on machines that have 64
+ bit pointers, 64 bit longs, and 32 bit ints (e.g,. DEC
+ ALPHA). Thanks to Thilo Kielmann
+ <kielmann@informatik.uni-siegen.de> for pointing this out,
+ even though he finds this solution distasteful ;-).
- * netsvcs/lib/TS_Clerk_Handler.cpp (initiate_connection): I
- believe there was also a bug here -- if schedule_timer() returns
- 0 that's not an error!
+ * netsvcs/lib/TS_Clerk_Handler.cpp (initiate_connection): I
+ believe there was also a bug here -- if schedule_timer() returns
+ 0 that's not an error!
- * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp
- (initiate_connection): I believe there was a bug here -- if
- schedule_timer() returns 0 that's not an error!
+ * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp
+ (initiate_connection): I believe there was a bug here -- if
+ schedule_timer() returns 0 that's not an error!
- * tests/IOStream_Test.cpp: Added some minor changes for DEC UNIX.
- Thanks to James CE Johnson <jjohnson@lads.com> for reporting
- this.
+ * tests/IOStream_Test.cpp: Added some minor changes for DEC UNIX.
+ Thanks to James CE Johnson <jjohnson@lads.com> for reporting
+ this.
- * ace/IOStream: Added a number of minor changes for DEC UNIX.
- Thanks to James CE Johnson <jjohnson@lads.com> for reporting
- this.
+ * ace/IOStream: Added a number of minor changes for DEC UNIX.
+ Thanks to James CE Johnson <jjohnson@lads.com> for reporting
+ this.
- * ace/config-osf1-4.0.h: Added
- ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS to the config.h file.
- Thanks to James CE Johnson <jjohnson@lads.com> for reporting
- this.
+ * ace/config-osf1-4.0.h: Added
+ ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS to the config.h file.
+ Thanks to James CE Johnson <jjohnson@lads.com> for reporting
+ this.
- * ace/SString: Made the ace_string_null_string_ a static data
- member rather than an external constant. This should control
- the name space a bit better.
+ * ace/SString: Made the ace_string_null_string_ a static data
+ member rather than an external constant. This should control
+ the name space a bit better.
- * ace/SString.cpp: Fixed the ACE_CString::operator += so that it
- won't screw up if this->rep_ initially points to the
- ACE_String_null_string_.
+ * ace/SString.cpp: Fixed the ACE_CString::operator += so that it
+ won't screw up if this->rep_ initially points to the
+ ACE_String_null_string_.
- * examples/Misc: Added a new test_set.cpp program that exercises
- the ACE_*_Set classes.
+ * examples/Misc: Added a new test_set.cpp program that exercises
+ the ACE_*_Set classes.
Sat May 03 06:56:10 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Map_Manager.cpp (dtor): removed void return (typo).
+ * ace/Map_Manager.cpp (dtor): removed void return (typo).
- * ace/Set.cpp (ACE_Fixed_Set<T>::operator =): typo: fs instead of bs.
+ * ace/Set.cpp (ACE_Fixed_Set<T>::operator =): typo: fs instead of bs.
- * ace/Set.cpp (ACE_Fixed_Set<T, SIZE>::find): typo: index instead of i.
+ * ace/Set.cpp (ACE_Fixed_Set<T, SIZE>::find): typo: index instead of i.
- * ace/IOStream.cpp: fixed typo: "#if defined" instead of just "#if".
+ * ace/IOStream.cpp: fixed typo: "#if defined" instead of just "#if".
- * tests/Conn_Test.cpp,
- netsvcs/lib/{Client_Logging_Handler,TS_Clerk_Handler}.cpp,
- netsvcs/clients/Tokens/manual/manual.cpp,
- apps/Gateway/Gateway/Event_Channel.cpp,:
- apps/JAWS/client/Blob.cpp,
- examples/ASX/Event_Server/Event_Server/Peer_Router.cpp,
- examples/ASX/Event_Server/Transceiver/transceiver.cpp,
- examples/ASX/UPIPE_Event_Server/{Consumer,Supplier}_Router.cpp,
- examples/Connection/misc/test_upipe.cpp,
- examples/Connection/non_blocking/test_*_connector.cpp: added
- ACE_Map_Entry template specialization. It's needed now that the
- destructor is explicit.
+ * tests/Conn_Test.cpp,
+ netsvcs/lib/{Client_Logging_Handler,TS_Clerk_Handler}.cpp,
+ netsvcs/clients/Tokens/manual/manual.cpp,
+ apps/Gateway/Gateway/Event_Channel.cpp,:
+ apps/JAWS/client/Blob.cpp,
+ examples/ASX/Event_Server/Event_Server/Peer_Router.cpp,
+ examples/ASX/Event_Server/Transceiver/transceiver.cpp,
+ examples/ASX/UPIPE_Event_Server/{Consumer,Supplier}_Router.cpp,
+ examples/Connection/misc/test_upipe.cpp,
+ examples/Connection/non_blocking/test_*_connector.cpp: added
+ ACE_Map_Entry template specialization. It's needed now that the
+ destructor is explicit.
Fri May 2 14:57:56 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/Map_Manager.cpp: Added a no-op destructor to ACE_Map_Entry
- just to keep some compilers happy. Thanks to Chuck Gehr for
- reporting this.
+ * ace/Map_Manager.cpp: Added a no-op destructor to ACE_Map_Entry
+ just to keep some compilers happy. Thanks to Chuck Gehr for
+ reporting this.
- * ace/config-osf1-4.0.h: Added
-
- #define ACE_LACKS_IOSTREAM_FX
- #define ACE_LACKS_LINEBUFFERED_STREAMBUF
- #define ACE_LACKS_SIGNED_CHAR
+ * ace/config-osf1-4.0.h: Added
+
+ #define ACE_LACKS_IOSTREAM_FX
+ #define ACE_LACKS_LINEBUFFERED_STREAMBUF
+ #define ACE_LACKS_SIGNED_CHAR
- Thanks to James CE Johnson <jjohnson@lads.com> for reporting
- this.
+ Thanks to James CE Johnson <jjohnson@lads.com> for reporting
+ this.
- * ace/Timer_{Wheel,Heap,List}_T.h: Fixed a typo in all these
- classes that was failing to put the keyword "class" after
- "friend." Also, replaced the use of the typedef with the
- expanded name of the class to work around problems with DEC
- C++. Thanks to James CE Johnson <jjohnson@lads.com> for
- reporting this.
+ * ace/Timer_{Wheel,Heap,List}_T.h: Fixed a typo in all these
+ classes that was failing to put the keyword "class" after
+ "friend." Also, replaced the use of the typedef with the
+ expanded name of the class to work around problems with DEC
+ C++. Thanks to James CE Johnson <jjohnson@lads.com> for
+ reporting this.
- * ace/Set: Added a find() method that will return the "ith"
- element in the set.
+ * ace/Set: Added a find() method that will return the "ith"
+ element in the set.
- * ace/Set: Added copy constructors and assignment operators to all
- the ACE_*_Set classes.
+ * ace/Set: Added copy constructors and assignment operators to all
+ the ACE_*_Set classes.
- * ace/Set.cpp: Changed the implementation of ACE_Unbounded_Set to
- use a dummy node and a circular list. This improves performance
- and also makes it possible to implement "queue" semantics for
- inserting at the tail of the set.
+ * ace/Set.cpp: Changed the implementation of ACE_Unbounded_Set to
+ use a dummy node and a circular list. This improves performance
+ and also makes it possible to implement "queue" semantics for
+ inserting at the tail of the set.
- * ace/config-osf1-4.0.h: Added the ACE_HAS_STRING_CLASS macro.
- Thanks to James CE Johnson <jcej@lads.com> for this.
+ * ace/config-osf1-4.0.h: Added the ACE_HAS_STRING_CLASS macro.
+ Thanks to James CE Johnson <jcej@lads.com> for this.
- * ace/IOStream: Added the ACE_HAS_STRING_CLASS macro to
- replace the nasty #ifdefs we had previously. Thanks to
- James CE Johnson <jcej@lads.com> for this.
+ * ace/IOStream: Added the ACE_HAS_STRING_CLASS macro to
+ replace the nasty #ifdefs we had previously. Thanks to
+ James CE Johnson <jcej@lads.com> for this.
- * ace/config*.g++: Added ACE_HAS_STRING_CLASS for all the GNU
- compilers and Win32.
+ * ace/config*.g++: Added ACE_HAS_STRING_CLASS for all the GNU
+ compilers and Win32.
- * ace/config-mvs.h: Added a new version that contains support for
- IBM OS/390 r2. Thanks to Chuck Gehr for this.
+ * ace/config-mvs.h: Added a new version that contains support for
+ IBM OS/390 r2. Thanks to Chuck Gehr for this.
Fri May 02 08:14:30 1997 David L. Levine <levine@cs.wustl.edu>
- * examples/ASX/Event_Server/Transceiver/transceiver.cpp: removed
- specializations of ACE Guards because they're in libGateway.
- Thanks to Joey Zhu <joey.zhu@wcom.com> for reporting this problem.
+ * examples/ASX/Event_Server/Transceiver/transceiver.cpp: removed
+ specializations of ACE Guards because they're in libGateway.
+ Thanks to Joey Zhu <joey.zhu@wcom.com> for reporting this problem.
- * examples/ASX/Event_Server/Transceiver/{Makefile,transceiver.cpp}:
- added template specializations to transceiver.cpp so that it no
- longer needs to be linked with libGateway.
+ * examples/ASX/Event_Server/Transceiver/{Makefile,transceiver.cpp}:
+ added template specializations to transceiver.cpp so that it no
+ longer needs to be linked with libGateway.
- * examples/ASX/Event_Server/Event_Server/{Makefile,Peer_Router.cpp}:
- added template specialization to Peer_Router.cpp so that event_server
- no longer needs to be linked with libGateway.
+ * examples/ASX/Event_Server/Event_Server/{Makefile,Peer_Router.cpp}:
+ added template specialization to Peer_Router.cpp so that event_server
+ no longer needs to be linked with libGateway.
- Thanks to Joey Zhu <joey.zhu@wcom.com> for reporting the above
- link problems.
+ Thanks to Joey Zhu <joey.zhu@wcom.com> for reporting the above
+ link problems.
- * apps/Gateway/Peer/{Makefile,Peer.cpp}: added template
- specialization to Peer.cpp so that peerd no longer needs to
- be linked with libGateway.
+ * apps/Gateway/Peer/{Makefile,Peer.cpp}: added template
+ specialization to Peer.cpp so that peerd no longer needs to
+ be linked with libGateway.
- * Log_Msg.cpp (VxWorks only): fixed used of ::taskDeleteHookAdd (it
- should only be called once for all Log_Msg instances) and added call
- to ::taskDeleteHookDelete to clean up when the last task exits.
- Thanks to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for
- reporting this.
+ * Log_Msg.cpp (VxWorks only): fixed used of ::taskDeleteHookAdd (it
+ should only be called once for all Log_Msg instances) and added call
+ to ::taskDeleteHookDelete to clean up when the last task exits.
+ Thanks to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for
+ reporting this.
- * tests/Conn_Test.cpp: changed some fprintf print specifiers to avoid
- g++ warnings about printing pointer values.
+ * tests/Conn_Test.cpp: changed some fprintf print specifiers to avoid
+ g++ warnings about printing pointer values.
Thu May 01 00:05:59 1997 <irfan@TWOSTEP>
- * tests/Time_Service_Test.cpp (main): Made sure that the backing
- store is not there at the start of the program. We need to make
- sure because this test kills the Time Clerk and on some
- platforms the Clerk is not allowed to do a graceful shutdown. By
- cleaning the backing store here, we are sure that we get a fresh
- start and no garbage data from a possible aborted run.
-
- The old code deleting the backing store at the end of the test
- is still there but does not work on Win32 as unlink fails with
- ERROR_ACCESS_DENIED. I am not sure why this is happening! For
- now the unlink at the start of the program will do.
-
- Also added a wait for the clerk before deleting the backing
- store. This way we are sure that we do not delete the backing
- store before the clerk is done with it.
-
- * netsvcs/lib/TS_Clerk_Handler.cpp: Fixed an obscure bug with
- ACE_TS_Clerk_Processor. ACE_TS_Clerk_Processor (which is an
- ACE_Connector) and all its pending connection objects are still
- registered with the Reactor when the process exits and the
- Service_Object is deleted. After this the destructor of the
- Reactor then calls handle_close on ACE_TS_Clerk_Processor
- (which does not exist anymore), causing a seg fault. The
- solution is to call ACE_Connector::fini from
- ACE_TS_Clerk_Processor::fini. ACE_Connector::fini will
- unregister ACE_TS_Clerk_Processor and all pending connects from
- the Reactor.
+ * tests/Time_Service_Test.cpp (main): Made sure that the backing
+ store is not there at the start of the program. We need to make
+ sure because this test kills the Time Clerk and on some
+ platforms the Clerk is not allowed to do a graceful shutdown. By
+ cleaning the backing store here, we are sure that we get a fresh
+ start and no garbage data from a possible aborted run.
+
+ The old code deleting the backing store at the end of the test
+ is still there but does not work on Win32 as unlink fails with
+ ERROR_ACCESS_DENIED. I am not sure why this is happening! For
+ now the unlink at the start of the program will do.
+
+ Also added a wait for the clerk before deleting the backing
+ store. This way we are sure that we do not delete the backing
+ store before the clerk is done with it.
+
+ * netsvcs/lib/TS_Clerk_Handler.cpp: Fixed an obscure bug with
+ ACE_TS_Clerk_Processor. ACE_TS_Clerk_Processor (which is an
+ ACE_Connector) and all its pending connection objects are still
+ registered with the Reactor when the process exits and the
+ Service_Object is deleted. After this the destructor of the
+ Reactor then calls handle_close on ACE_TS_Clerk_Processor
+ (which does not exist anymore), causing a seg fault. The
+ solution is to call ACE_Connector::fini from
+ ACE_TS_Clerk_Processor::fini. ACE_Connector::fini will
+ unregister ACE_TS_Clerk_Processor and all pending connects from
+ the Reactor.
Wed Apr 30 17:47:11 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/OS.i (getpwnam_r): Changed the expression to check if
- getpwnam_r() returns -1 for AIX. Thanks to Chris Lahey for
- this.
+ * ace/OS.i (getpwnam_r): Changed the expression to check if
+ getpwnam_r() returns -1 for AIX. Thanks to Chris Lahey for
+ this.
- * ace/Timer_Wheel_T.h: changed
+ * ace/Timer_Wheel_T.h: changed
- // = Don't allow these operations for now.
- ACE_Timer_Wheel_T (const ACE_Timer_Wheel_T &);
- void operator= (const ACE_Timer_Wheel_T &);
+ // = Don't allow these operations for now.
+ ACE_Timer_Wheel_T (const ACE_Timer_Wheel_T &);
+ void operator= (const ACE_Timer_Wheel_T &);
to:
// = Don't allow these operations for now.
- ACE_Timer_Wheel_T (const ACE_Timer_Wheel_T<TYPE, FUNCTOR> &);
- void operator= (const ACE_Timer_Wheel_T<TYPE, FUNCTOR> &);
+ ACE_Timer_Wheel_T (const ACE_Timer_Wheel_T<TYPE, FUNCTOR> &);
+ void operator= (const ACE_Timer_Wheel_T<TYPE, FUNCTOR> &);
- Thanks to Chuck Gehr for reporting this.
+ Thanks to Chuck Gehr for reporting this.
- * ace/OS.cpp: Made mktime() thread-safe. If any platforms support
- multi-thread safe versions of mktime() please let me know so we
- can set the ACE_HAS_MT_SAFE_MKTIME macro for that config file.
+ * ace/OS.cpp: Made mktime() thread-safe. If any platforms support
+ multi-thread safe versions of mktime() please let me know so we
+ can set the ACE_HAS_MT_SAFE_MKTIME macro for that config file.
- * ace/OS.i: Added a new special case for getpwnam_r() on AIX.
- Thanks to Chris Lahey for reporting this.
+ * ace/OS.i: Added a new special case for getpwnam_r() on AIX.
+ Thanks to Chris Lahey for reporting this.
Wed Apr 30 16:01:04 1997 James C Hu <jxh@polka.cs.wustl.edu>
- * ace/OS.i, ace/OS.h: added mktime().
+ * ace/OS.i, ace/OS.h: added mktime().
Wed Apr 30 14:17:34 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config-vxworks*.h: added ACE_LACKS_PWD_FUNCTIONS. Thanks
- to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for reporting
- this.
+ * ace/config-vxworks*.h: added ACE_LACKS_PWD_FUNCTIONS. Thanks
+ to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for reporting
+ this.
- * ace/OS.i: cleaned up ACE_LACKS_PWD_FUNCTIONS comments a bit.
+ * ace/OS.i: cleaned up ACE_LACKS_PWD_FUNCTIONS comments a bit.
- * ace/Array.{h,i}: added const operator [].
+ * ace/Array.{h,i}: added const operator [].
- * ace/Array.cpp (ctors): reordered initializers to match declaration
- order.
+ * ace/Array.cpp (ctors): reordered initializers to match declaration
+ order.
- * netsvcs/lib/Server_Logging_Handler.cpp: protect against multiple
- inclusion. Thanks to Kevin Martindale
- <kevin_martindale@stortek.com> for reporting this problem.
+ * netsvcs/lib/Server_Logging_Handler.cpp: protect against multiple
+ inclusion. Thanks to Kevin Martindale
+ <kevin_martindale@stortek.com> for reporting this problem.
Wed Apr 30 08:42:55 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace: Added a new generic Array class, which we'll use until
- STL becomes more widely portable.
+ * ace: Added a new generic Array class, which we'll use until
+ STL becomes more widely portable.
- * ace: Added a new macro ACE_LACKS_GETPGID to clean up the code
- in ACE_OS::getpgid().
+ * ace: Added a new macro ACE_LACKS_GETPGID to clean up the code
+ in ACE_OS::getpgid().
- * ace: Added new config*.h files and platform*.GNU files for
- FreeBSD. Thanks to Nanbor Wang <nw1@cs.wustl.edu> for these.
+ * ace: Added new config*.h files and platform*.GNU files for
+ FreeBSD. Thanks to Nanbor Wang <nw1@cs.wustl.edu> for these.
Wed Apr 30 07:44:36 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config-osf1-4.0*.h: removed ACE_HAS_SIGWAIT.
+ * ace/config-osf1-4.0*.h: removed ACE_HAS_SIGWAIT.
- * ace/OS.{h,i}: applied Thilo's patch for sigwait on Digital
- Unix 4.0, which defines sigwait as a macro. Thanks to
- Thilo Kielmann <kielmann@informatik.uni-siegen.de> for
- this and the above config file patches.
+ * ace/OS.{h,i}: applied Thilo's patch for sigwait on Digital
+ Unix 4.0, which defines sigwait as a macro. Thanks to
+ Thilo Kielmann <kielmann@informatik.uni-siegen.de> for
+ this and the above config file patches.
- * ace/IOStream.{h,cpp}: James CE Johnson <jcej@lads.com> updated
- the IOStream class; see comments in IOStream.h.
+ * ace/IOStream.{h,cpp}: James CE Johnson <jcej@lads.com> updated
+ the IOStream class; see comments in IOStream.h.
- * examples/Logger/client/logging_app.cpp (main),
- performance-tests/Misc/test_naming.cpp (*): replaced sprintf
- with ACE_OS::sprintf. Thanks to Thilo Kielmann
- <kielmann@informatik.uni-siegen.de> for reporting these.
+ * examples/Logger/client/logging_app.cpp (main),
+ performance-tests/Misc/test_naming.cpp (*): replaced sprintf
+ with ACE_OS::sprintf. Thanks to Thilo Kielmann
+ <kielmann@informatik.uni-siegen.de> for reporting these.
Tue Apr 29 20:03:38 1997 <sumedh@cs.wustl.edu>
@@ -3254,386 +3254,386 @@ Tue Apr 29 20:03:38 1997 <sumedh@cs.wustl.edu>
Tue Apr 29 19:57:52 1997 <irfan@TWOSTEP>
- * config-win32-common.h (ACE_HAS_TEMPLATE_SPECIALIZATION): Win32
- supports this option. Added to config file.
+ * config-win32-common.h (ACE_HAS_TEMPLATE_SPECIALIZATION): Win32
+ supports this option. Added to config file.
- * ace: Removed tracing for the following to make things work with
- tracing on:
-
- ACE::timestamp
- ACE_FIFO_Send_Msg::send
- ACE_SPIPE_Stream::send
- ACE_Sig_Guard::ACE_Sig_Guard
- ACE_Sig_Guard::~ACE_Sig_Guard
+ * ace: Removed tracing for the following to make things work with
+ tracing on:
+
+ ACE::timestamp
+ ACE_FIFO_Send_Msg::send
+ ACE_SPIPE_Stream::send
+ ACE_Sig_Guard::ACE_Sig_Guard
+ ACE_Sig_Guard::~ACE_Sig_Guard
- * netsvcs/servers/main.cpp (main): Added special code for Win32
- such that only SIGINT is being registered with the Signal
- Handler. SIGQUIT is not supported on Win32.
+ * netsvcs/servers/main.cpp (main): Added special code for Win32
+ such that only SIGINT is being registered with the Signal
+ Handler. SIGQUIT is not supported on Win32.
- * netsvcs/lib/Token_Handler.cpp (init): Removed the registration
- of the Acceptor for SIGINTs.
+ * netsvcs/lib/Token_Handler.cpp (init): Removed the registration
+ of the Acceptor for SIGINTs.
- * netsvcs/lib/TS_Server_Handler.cpp (init): Same as above.
+ * netsvcs/lib/TS_Server_Handler.cpp (init): Same as above.
- * netsvcs/lib/Client_Logging_Handler.cpp (open): Removed the
- registration of SIGPIPE for Win32. Win32 does not support
- SIGPIPE.
+ * netsvcs/lib/Client_Logging_Handler.cpp (open): Removed the
+ registration of SIGPIPE for Win32. Win32 does not support
+ SIGPIPE.
- * tests/Process_Strategy_Test.cpp (server): The new thread must
- become owner before it can call Reactor::handle_events. Also
- fixed #define typo.
+ * tests/Process_Strategy_Test.cpp (server): The new thread must
+ become owner before it can call Reactor::handle_events. Also
+ fixed #define typo.
- * ace/OS.cpp (socket_fini): Remove the ACE error message as the IO
- Stream objects are already gone by this point in the program.
+ * ace/OS.cpp (socket_fini): Remove the ACE error message as the IO
+ Stream objects are already gone by this point in the program.
- * examples/Registry/Registry.mak: Replaced the old makefiles with
- this one. Also added _AFXDLL as a preprocessor define, forcing
- the correct inclusion of header files that give a consistent
- definition of HKEY. This is a hack till we have a better
- solution.
+ * examples/Registry/Registry.mak: Replaced the old makefiles with
+ this one. Also added _AFXDLL as a preprocessor define, forcing
+ the correct inclusion of header files that give a consistent
+ definition of HKEY. This is a hack till we have a better
+ solution.
- * ace/Event_Handler: Removed the old Proactor callback methods.
+ * ace/Event_Handler: Removed the old Proactor callback methods.
Tue Apr 29 17:39:40 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/config-mvs.h: Added #define ACE_LACKS_LINEBUFFERED_STREAMBUF
- for MVS. Thanks to Chuck Gehr <gehr@sweng.stortek.com> for
- reporting this.
-
- * ace: Commented out ACE_TRACE calls in constructors in
- several ACE classes in order to avoid problems with circular
- initialization dependencies related to mutexes that are
- breaking code on WinNT when ACE_NTRACE is set to 0. Thanks
- to Lothar Hermann <hermann@csaserv.med.siemens.de> for
- reporting these.
-
- * ace/Reactor.cpp: It looks as if Windows NT isn't returning
- the number of bytes requested by a WinSock recv() used in
- the ACE_Reactor::notify() in some situations. This is
- causing problems for test programs under heavy load. The
- fix appears to be to add an additional ACE::recv() to obtain
- the remaining bytes. Thanks to Karlheinz for reporting this
- and to Irfan for helping to fix it.
-
- * ace/OS.i: Fixed a very subtle bug with ACE_OS::cond_wait() and
- ACE_OS::cond_signal() that only manifests itself when
- ACE_HAS_SIGNAL_OBJECT_AND_WAIT is enabled (which isn't the
- default). The problem stemmed from the fact that we were
- assuming that if we used condition variables it implied that the
- external mutex had USYNC_PROCESS scope. In fact, the external
- mutexes typically have USYNC_THREAD scope, so
- SignalObjectAndWait() was hanging indefinitely. Fortunately,
- the fix was easy -- just add a run-time check for the type of
- the external mutex and take the appropriate action. Thanks to
- Irfan for noticing this.
-
- * tests/Reader_Writer_Test.cpp: Added a parse_args() function that
- allows us to override the default number of reader/writer
- threads + the number of iterations.
-
- * ace/OS: Added patches for Digital UNIX to handle the
- getpwnam_r() name. Thanks to Thilo Kielmann
- <kielmann@informatik.uni-siegen.de> for these patches.
+ * ace/config-mvs.h: Added #define ACE_LACKS_LINEBUFFERED_STREAMBUF
+ for MVS. Thanks to Chuck Gehr <gehr@sweng.stortek.com> for
+ reporting this.
+
+ * ace: Commented out ACE_TRACE calls in constructors in
+ several ACE classes in order to avoid problems with circular
+ initialization dependencies related to mutexes that are
+ breaking code on WinNT when ACE_NTRACE is set to 0. Thanks
+ to Lothar Hermann <hermann@csaserv.med.siemens.de> for
+ reporting these.
+
+ * ace/Reactor.cpp: It looks as if Windows NT isn't returning
+ the number of bytes requested by a WinSock recv() used in
+ the ACE_Reactor::notify() in some situations. This is
+ causing problems for test programs under heavy load. The
+ fix appears to be to add an additional ACE::recv() to obtain
+ the remaining bytes. Thanks to Karlheinz for reporting this
+ and to Irfan for helping to fix it.
+
+ * ace/OS.i: Fixed a very subtle bug with ACE_OS::cond_wait() and
+ ACE_OS::cond_signal() that only manifests itself when
+ ACE_HAS_SIGNAL_OBJECT_AND_WAIT is enabled (which isn't the
+ default). The problem stemmed from the fact that we were
+ assuming that if we used condition variables it implied that the
+ external mutex had USYNC_PROCESS scope. In fact, the external
+ mutexes typically have USYNC_THREAD scope, so
+ SignalObjectAndWait() was hanging indefinitely. Fortunately,
+ the fix was easy -- just add a run-time check for the type of
+ the external mutex and take the appropriate action. Thanks to
+ Irfan for noticing this.
+
+ * tests/Reader_Writer_Test.cpp: Added a parse_args() function that
+ allows us to override the default number of reader/writer
+ threads + the number of iterations.
+
+ * ace/OS: Added patches for Digital UNIX to handle the
+ getpwnam_r() name. Thanks to Thilo Kielmann
+ <kielmann@informatik.uni-siegen.de> for these patches.
Tue Apr 29 14:27:19 1997 <harrison@samba.cs.wustl.edu>
- * OS.h: Added ACE_HAS_SVC_DLL. If you write a library and
- want it to use ACE_Svc_Export, this will cause those macros
- to build dlls. If you want your ACE service to be a static
- library, comment out this line. As far as I know, the only
- reason to have a library be an ACE "service" is to leverage
- the ACE_Svc_Export macros. It's just as easy to define your
- own export macros.
+ * OS.h: Added ACE_HAS_SVC_DLL. If you write a library and
+ want it to use ACE_Svc_Export, this will cause those macros
+ to build dlls. If you want your ACE service to be a static
+ library, comment out this line. As far as I know, the only
+ reason to have a library be an ACE "service" is to leverage
+ the ACE_Svc_Export macros. It's just as easy to define your
+ own export macros.
Tue Apr 29 07:25:25 1997 David L. Levine <levine@cs.wustl.edu>
- * apps/JAWS/server/HTTP_Request.h (HTTP_Request): added destructor
- declaration.
+ * apps/JAWS/server/HTTP_Request.h (HTTP_Request): added destructor
+ declaration.
- * apps/JAWS/server/Parse_Headers.cpp (parse_header_line): assign local
- "value" to value_ field of map_[header].
+ * apps/JAWS/server/Parse_Headers.cpp (parse_header_line): assign local
+ "value" to value_ field of map_[header].
- * apps/JAWS/server/HTTP_Request.cpp (HTTP_fix_path): commented this
- static function out because it's not used, and g++ warns about that.
+ * apps/JAWS/server/HTTP_Request.cpp (HTTP_fix_path): commented this
+ static function out because it's not used, and g++ warns about that.
- * apps/JAWS: added CVS header to all .h, .i, and .cpp files.
+ * apps/JAWS: added CVS header to all .h, .i, and .cpp files.
Tue Apr 29 00:33:46 1997 <irfan@TWOSTEP>
- * examples/Reactor/Misc/notification.cpp: Add this test to the
- Win32 makefile.
+ * examples/Reactor/Misc/notification.cpp: Add this test to the
+ Win32 makefile.
- * ace: Removed config-win32-msvc2.0.h, config-win32-msvc4.0.h
- config-win32-msvc4.x.h, and config-winnt-4.0-msvc.h from the
- repository. These files have been replaced by config-win32.h
- and config-win32-common.h.
+ * ace: Removed config-win32-msvc2.0.h, config-win32-msvc4.0.h
+ config-win32-msvc4.x.h, and config-winnt-4.0-msvc.h from the
+ repository. These files have been replaced by config-win32.h
+ and config-win32-common.h.
- * IOStream_Test.cpp (main): Added return 0 at the end of main().
+ * IOStream_Test.cpp (main): Added return 0 at the end of main().
- * examples/Reactor/Proactor/test_proactor.mak: Added wsock32.lib
- to the link line. I am not sure why we have to do this again
- since ace.lib already includes it. Without this library in the
- link line, GetAcceptExSockaddr is not defined. Go figure!
+ * examples/Reactor/Proactor/test_proactor.mak: Added wsock32.lib
+ to the link line. I am not sure why we have to do this again
+ since ace.lib already includes it. Without this library in the
+ link line, GetAcceptExSockaddr is not defined. Go figure!
- * apps/JAWS/server/jaws.mak: Same as above.
+ * apps/JAWS/server/jaws.mak: Same as above.
- * ace/ace.{mak,mdp}: Fixed the generation of the release version
- of ace.dll such that wsock32.lib is automatically included.
+ * ace/ace.{mak,mdp}: Fixed the generation of the release version
+ of ace.dll such that wsock32.lib is automatically included.
Tue Apr 29 00:16:27 1997 James C Hu <jxh@polka.cs.wustl.edu>
- * JAWS: Changes to support CGI scripts
+ * JAWS: Changes to support CGI scripts
- Changed the following files --
- HTTP_Handler.cpp HTTP_Handler.h HTTP_Helpers.cpp
- HTTP_Helpers.h HTTP_Request.cpp HTTP_Request.h IO.cpp IO.h
+ Changed the following files --
+ HTTP_Handler.cpp HTTP_Handler.h HTTP_Helpers.cpp
+ HTTP_Helpers.h HTTP_Request.cpp HTTP_Request.h IO.cpp IO.h
- Added the following files --
- HTTP_Response.cpp HTTP_Response.h Parse_Headers.cpp
- Parse_Headers.h
+ Added the following files --
+ HTTP_Response.cpp HTTP_Response.h Parse_Headers.cpp
+ Parse_Headers.h
- Removed the file --
- JXH_String.h
+ Removed the file --
+ JXH_String.h
- * JAWS/stress_testing: Changed the Makefile to link in the math
- library (-lm).
+ * JAWS/stress_testing: Changed the Makefile to link in the math
+ library (-lm).
- * ace/OS.h and ace/OS.i: Added support for memmove().
+ * ace/OS.h and ace/OS.i: Added support for memmove().
Mon Apr 28 21:35:35 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/IOStream.h: Added a new macro called
- ACE_LACKS_IOSTREAM_SETGET, which works around bugs with SGI C++
- on IRIX 6.2. Thanks to Torbjorn Lindgren <tl@funcom.com> for
- reporting this.
+ * ace/IOStream.h: Added a new macro called
+ ACE_LACKS_IOSTREAM_SETGET, which works around bugs with SGI C++
+ on IRIX 6.2. Thanks to Torbjorn Lindgren <tl@funcom.com> for
+ reporting this.
- * ace/Timer_List_T.h: Replaced the use of
- ITERATOR with ACE_Timer_Queue_Iterator_T<TYPE, FUNCTOR> to
- work around problems with SGI C++. Thanks to
- Torbjorn Lindgren <tl@funcom.com> for reporting this.
+ * ace/Timer_List_T.h: Replaced the use of
+ ITERATOR with ACE_Timer_Queue_Iterator_T<TYPE, FUNCTOR> to
+ work around problems with SGI C++. Thanks to
+ Torbjorn Lindgren <tl@funcom.com> for reporting this.
- * ace/Timer_List_T.cpp: Removed the use of NODE * and replaced it
- with ACE_Timer_Node_T<TYPE, FUNCTOR> in order to work around
- bugs with certain C++ compilers (i.e., SGI). Thanks to Torbjorn
- Lindgren <tl@funcom.com> for reporting this.
+ * ace/Timer_List_T.cpp: Removed the use of NODE * and replaced it
+ with ACE_Timer_Node_T<TYPE, FUNCTOR> in order to work around
+ bugs with certain C++ compilers (i.e., SGI). Thanks to Torbjorn
+ Lindgren <tl@funcom.com> for reporting this.
- * tests/Conn_Test.cpp: Removed some extraneous template
- specializations. Thanks to Nanbor Wang <nw1@cs.wustl.edu> for
- reporting these.
+ * tests/Conn_Test.cpp: Removed some extraneous template
+ specializations. Thanks to Nanbor Wang <nw1@cs.wustl.edu> for
+ reporting these.
- * apps/JAWS/client/Blob.cpp: Rearranged some of the template
- specializations in the hope of fixing a linker problem with
- SunC++ 4.2.
+ * apps/JAWS/client/Blob.cpp: Rearranged some of the template
+ specializations in the hope of fixing a linker problem with
+ SunC++ 4.2.
- * ace/config-irix-6.2*.h. It appears that SGI IRIX 6.2 supports
- pread() and pwrite() so I enabled the ACE_HAS_P_READ_WRITE macro
- in the IRIX 6.2 config file.
+ * ace/config-irix-6.2*.h. It appears that SGI IRIX 6.2 supports
+ pread() and pwrite() so I enabled the ACE_HAS_P_READ_WRITE macro
+ in the IRIX 6.2 config file.
- * ace/OS.cpp: Implemented ACE_OS::pread() and ACE_OS::pwrite() for
- systems that lack this feature. The implementation uses the new
- ACE_Thread_Mutex monitor lock in order to ensure atomicity
- between the lseek() and the read()/write().
+ * ace/OS.cpp: Implemented ACE_OS::pread() and ACE_OS::pwrite() for
+ systems that lack this feature. The implementation uses the new
+ ACE_Thread_Mutex monitor lock in order to ensure atomicity
+ between the lseek() and the read()/write().
- * ace/OS.cpp: Finally broke down and added a ACE_Thread_Mutex
- monitor lock to the ACE_OS implementation file. This is useful
- for situations where we need to serialize certain ACE_OS
- emulation calls (e.g., ACE_OS::{pwrite,pread}).
+ * ace/OS.cpp: Finally broke down and added a ACE_Thread_Mutex
+ monitor lock to the ACE_OS implementation file. This is useful
+ for situations where we need to serialize certain ACE_OS
+ emulation calls (e.g., ACE_OS::{pwrite,pread}).
Mon Apr 28 15:42:48 1997 David L. Levine <levine@cs.wustl.edu>
- * apps/JAWS/client/blobby.cpp: updated template specializations.
-
- * apps/JAWS/stress_testing/global.h: removed #includes of system
- headers because ace/OS.h takes care of them. They were causing
- warnings with g++ (because they were #included before OS.h).
-
- * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: fixed
- typos in template specializations.
-
- * tests/Conn_Test.cpp,Message_{Block,Queue}_Test.cpp,
- Process_Strategy_Test.cpp: fixed template specializations
- for platforms without threads. Thanks to Nanbor Wang
- <nw1@cs.wustl.edu> for pointing out this problem.
-
- * ace/Connector.h: use ACE_SYNCH_RW_MUTEX in Map typedefs
- instead of old ACE_RW_Mutex (which should have been
- ACE_Thread_RW_Mutex) and ACE_Null_Mutex (depending on
- whether the platform has threads).
-
- * ace/Service_Record.cpp: added ACE_NULL_SYNCH template
- specializations with threads, because they're still needed even
- with threads. This way, individual programs don't have to
- specialize these.
-
- * ace/Task.cpp: added ACE_TSS<ACE_Task_Exit> and
- ACE_TSS<ACE_Dynamic> template specializations, if the platform
- has threads and TSS. This way, individual programs don't have
- to specialize them.
-
- * apps/Gateway/Gateway/Event_Channel.cpp,
- Proxy_Handler{,_Connector}.cpp,apps/JAWS/server/HTTP_Server.cpp,
- examples/ASX/Event_Server/Transceiver/transceiver.cpp,
- examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp,
- examples/Connection/blocking/SPIPE-connector.cpp,
- examples/Connection/misc/{Connection_Handler,test_upipe}.cpp,
- examples/Connection/non_blocking/test_*.cpp,
- examples/IOStream/server/iostream_server.cpp,
- examples/Logger/Acceptor-server/server_loggerd.cpp,
- examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp,
- netsvcs/lib/Client_Logging_Handler.cpp,
- netsvcs/lib/TS_{Clerk,Server}_Handler.cpp:
- removed template instantiations that are now in
- ace/Service_Record.cpp and ace/Task.cpp. This should help
- on platforms without threads.
-
- * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: fixed
- typos in template specializations.
-
- * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: protected
- the ACE_*Guard template instantiations with #ifdef ACE_HAS_THREADS.
-
- * examples/ASX/Event_Server/Transceiver/transceiver.cpp: protected
- the ACE_*Guard template instantiations with #ifdef ACE_HAS_THREADS.
-
- * apps/JAWS/stress_testing/benchd.cpp (serve): added return -1 if
- the strcmp () fails so that the function always returns a value.
+ * apps/JAWS/client/blobby.cpp: updated template specializations.
+
+ * apps/JAWS/stress_testing/global.h: removed #includes of system
+ headers because ace/OS.h takes care of them. They were causing
+ warnings with g++ (because they were #included before OS.h).
+
+ * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: fixed
+ typos in template specializations.
+
+ * tests/Conn_Test.cpp,Message_{Block,Queue}_Test.cpp,
+ Process_Strategy_Test.cpp: fixed template specializations
+ for platforms without threads. Thanks to Nanbor Wang
+ <nw1@cs.wustl.edu> for pointing out this problem.
+
+ * ace/Connector.h: use ACE_SYNCH_RW_MUTEX in Map typedefs
+ instead of old ACE_RW_Mutex (which should have been
+ ACE_Thread_RW_Mutex) and ACE_Null_Mutex (depending on
+ whether the platform has threads).
+
+ * ace/Service_Record.cpp: added ACE_NULL_SYNCH template
+ specializations with threads, because they're still needed even
+ with threads. This way, individual programs don't have to
+ specialize these.
+
+ * ace/Task.cpp: added ACE_TSS<ACE_Task_Exit> and
+ ACE_TSS<ACE_Dynamic> template specializations, if the platform
+ has threads and TSS. This way, individual programs don't have
+ to specialize them.
+
+ * apps/Gateway/Gateway/Event_Channel.cpp,
+ Proxy_Handler{,_Connector}.cpp,apps/JAWS/server/HTTP_Server.cpp,
+ examples/ASX/Event_Server/Transceiver/transceiver.cpp,
+ examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp,
+ examples/Connection/blocking/SPIPE-connector.cpp,
+ examples/Connection/misc/{Connection_Handler,test_upipe}.cpp,
+ examples/Connection/non_blocking/test_*.cpp,
+ examples/IOStream/server/iostream_server.cpp,
+ examples/Logger/Acceptor-server/server_loggerd.cpp,
+ examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp,
+ netsvcs/lib/Client_Logging_Handler.cpp,
+ netsvcs/lib/TS_{Clerk,Server}_Handler.cpp:
+ removed template instantiations that are now in
+ ace/Service_Record.cpp and ace/Task.cpp. This should help
+ on platforms without threads.
+
+ * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: fixed
+ typos in template specializations.
+
+ * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: protected
+ the ACE_*Guard template instantiations with #ifdef ACE_HAS_THREADS.
+
+ * examples/ASX/Event_Server/Transceiver/transceiver.cpp: protected
+ the ACE_*Guard template instantiations with #ifdef ACE_HAS_THREADS.
+
+ * apps/JAWS/stress_testing/benchd.cpp (serve): added return -1 if
+ the strcmp () fails so that the function always returns a value.
Mon Apr 28 18:53:58 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
- * ace/OS.h: Added ACE_DEFAULT_TIMER_WHEEL_SIZE and
- ACE_DEFAULT_TIMER_WHEEL_RESOLUTION constants.
-
- * ace/Timer_Wheel_T.h: switched to use these constants
-
- * tests/Timer_Queue_Test.cpp: switched to use these constants
-
- * ace/Timer_Wheel: added a new strategy for Timer Queues, one
- based on a hash table of ordered lists.
-
- These files were added:
-
- - ace/Timer_Wheel.h
- - ace/Timer_Wheel_T.h
- - ace/Timer_Wheel_T.cpp
-
- These files were also changed to accomodate Timer Wheel
-
- - ace/Timer_Queue.cpp
- - ace/Timer_Queue_T.h
- - ace/Timer_Queue_T.cpp
- - tests/Timer_Queue_Test.cpp
+ * ace/OS.h: Added ACE_DEFAULT_TIMER_WHEEL_SIZE and
+ ACE_DEFAULT_TIMER_WHEEL_RESOLUTION constants.
+
+ * ace/Timer_Wheel_T.h: switched to use these constants
+
+ * tests/Timer_Queue_Test.cpp: switched to use these constants
+
+ * ace/Timer_Wheel: added a new strategy for Timer Queues, one
+ based on a hash table of ordered lists.
+
+ These files were added:
+
+ - ace/Timer_Wheel.h
+ - ace/Timer_Wheel_T.h
+ - ace/Timer_Wheel_T.cpp
+
+ These files were also changed to accomodate Timer Wheel
+
+ - ace/Timer_Queue.cpp
+ - ace/Timer_Queue_T.h
+ - ace/Timer_Queue_T.cpp
+ - tests/Timer_Queue_Test.cpp
Mon Apr 28 17:32:04 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: Added
- template specializations.
+ * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: Added
+ template specializations.
- * examples/ASX/Event_Server/Transceiver/transceiver.cpp: Added
- template specializations.
+ * examples/ASX/Event_Server/Transceiver/transceiver.cpp: Added
+ template specializations.
- * ace/OS.cpp (thr_create): Hopefully resolved tension
- btw. priority determination algorithms for IRIX, LinuxThreads, and
- DEC UNIX 4.0. Thanks to Thilo for information that lead to this.
+ * ace/OS.cpp (thr_create): Hopefully resolved tension
+ btw. priority determination algorithms for IRIX, LinuxThreads, and
+ DEC UNIX 4.0. Thanks to Thilo for information that lead to this.
Mon Apr 28 00:25:17 1997 <irfan@TWOSTEP>
- * apps/JAWS/client: Removed ACE_Export macro from class
- declarations. Fixed buffer size bug in
- ACE_Blob_Reader::receive_reply ().
+ * apps/JAWS/client: Removed ACE_Export macro from class
+ declarations. Fixed buffer size bug in
+ ACE_Blob_Reader::receive_reply ().
Sun Apr 27 22:22:14 1997 <irfan@TWOSTEP>
- * ace/Proactor: The Proactor can now be registered with ReactorEx
- and both of them can be run from ReactorEx's event loop. Added a
- flag to Proactor's constructor that indicates whether the
- Proactor will be used in conjunction with ReactorEx event
- loop. Only if this flag is set will the event in the Proactor be
- used by the Asynch IO components. This will help with
- performance.
-
- * examples/Reactor/Proactor/test_multiple_loops.cpp: Added a new
- test that shows the integration of the event loops of Proactor
- and ReactorEx.
-
- * ace/Asynch_IO: Added an ACE_EVENT parameter to the constructors
- of classes that inherit from the OVERLAPPED structure. This way
- the Proactor's event_ can be set in the OVERLAPPED structure.
-
- Also changed the open methods on the Asynch IO classes to take a
- Proactor as an extra parameter.
-
- Changed ACE_Handler's handle_timeout() to handle_time_out() in
- ACE_Handler. This is temporary till we decide on the argument
- about mixing the interface of ACE_Event_Handler and
- ACE_Handler. This change allows user to inherit from ACE_Handler
- and ACE_Event_Handler and use the different handle_timeout()
- method, one of which returns void and the other return an int.
-
- * examples/Reactor/Proactor/test_timeout.cpp: This file got
- affected by the above change.
+ * ace/Proactor: The Proactor can now be registered with ReactorEx
+ and both of them can be run from ReactorEx's event loop. Added a
+ flag to Proactor's constructor that indicates whether the
+ Proactor will be used in conjunction with ReactorEx event
+ loop. Only if this flag is set will the event in the Proactor be
+ used by the Asynch IO components. This will help with
+ performance.
+
+ * examples/Reactor/Proactor/test_multiple_loops.cpp: Added a new
+ test that shows the integration of the event loops of Proactor
+ and ReactorEx.
+
+ * ace/Asynch_IO: Added an ACE_EVENT parameter to the constructors
+ of classes that inherit from the OVERLAPPED structure. This way
+ the Proactor's event_ can be set in the OVERLAPPED structure.
+
+ Also changed the open methods on the Asynch IO classes to take a
+ Proactor as an extra parameter.
+
+ Changed ACE_Handler's handle_timeout() to handle_time_out() in
+ ACE_Handler. This is temporary till we decide on the argument
+ about mixing the interface of ACE_Event_Handler and
+ ACE_Handler. This change allows user to inherit from ACE_Handler
+ and ACE_Event_Handler and use the different handle_timeout()
+ method, one of which returns void and the other return an int.
+
+ * examples/Reactor/Proactor/test_timeout.cpp: This file got
+ affected by the above change.
Sun Apr 27 17:44:28 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/OS.h: Added a new #define called ACE_DEFAULT_HTTP_SERVER_PORT.
- Naturally, this defaults to 80...
-
- * apps/JAWS/client/blobby.cpp: Cleaned up the blobby example so
- that it conforms more closely to the ACE style guide.
-
- * examples/IPC_SAP/SOCK_SAP/CPP-in{server,client}.cpp: Took out
- the VxWorks-specific #ifdefs. I believe this is fixed in ACE_OS
- now. If not, the burden of proof is on the VxWorks testers to
- prove me wrong ;-).
-
- * ace/Synch_T.h: Added a new macro ACE_SYNCH_RW_MUTEX to
- complement the existing ACE_SYNCH_MUTEX and ACE_SYNCH_CONDITION
- macros. This will clean up lots of code in various test
- programs.
-
- * ace/Synch_T.h: Added two new macros, ACE_SYNCH_MUTEX and
- ACE_SYNCH_CONDITION. These default to ACE_MT_SYNCH::MUTEX and
- ACE_MT_SYNCH::MUTEX if template typedefs are supported and
- ACE_HAS_THREADS is enabled. If template typedefs *aren't*
- supported but ACE_HAS_THREADS is enabled these macros turn into
- ACE_Thread_Mutex and ACE_Thread_Condition. Finally, if
- ACE_HAS_THREADS is disabled these macros turn into
- ACE_Null_Mutex and ACE_Null_Condition. These macros make it
- possible to write code that is more portable across platforms
- and configurations. Thanks to Carlos O'Ryan for this
- suggestion.
-
- * ace/OS.h: Replaced all uses of ACE_SYNCH_MUTEX and
- ACE_SYNCH_CONDITION with ACE_SYNCH_MUTEX_T and
- ACE_SYNCH_CONDITION_T since (1) this usage relates to templates
- and (2) it frees up the namespace for the new ACE_SYNCH_MUTEX
- and ACE_SYNCH_CONDITION macros.
-
- * ace/Timer_Queue.cpp: Added yet more template specializations for
- the benefit of GCC (ugh).
-
- * ace/Timer_Wheel_T.cpp: Had to revise things just a bit to
- compile with GCC and it's lame template mechanism. This
- required changing NODE * to ACE_Timer_Node_T<TYPE, FUNCTOR> * in
- several method definitions.
-
- * apps/JAWS/server/HTTP_Server.h: Changed the use of ACE_WIN32 to
- ACE_HAS_THREAD_SAFE_ACCEPT since this is a more precise way to
- determine if the platform allows multiple threads to call
- accept() on the same port. If other platforms support this
- feature please make sure to add it to their config*.h files.
-
- * ace/config-win32-common.h: Defined ACE_HAS_THREAD_SAFE_ACCEPT,
- since Win32 allows multiple threads to call accept() on the same
- port.
-
- * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: The mutex
- should be ACE_RW_Mutex, not ACE_Null_Mutex...
+ * ace/OS.h: Added a new #define called ACE_DEFAULT_HTTP_SERVER_PORT.
+ Naturally, this defaults to 80...
+
+ * apps/JAWS/client/blobby.cpp: Cleaned up the blobby example so
+ that it conforms more closely to the ACE style guide.
+
+ * examples/IPC_SAP/SOCK_SAP/CPP-in{server,client}.cpp: Took out
+ the VxWorks-specific #ifdefs. I believe this is fixed in ACE_OS
+ now. If not, the burden of proof is on the VxWorks testers to
+ prove me wrong ;-).
+
+ * ace/Synch_T.h: Added a new macro ACE_SYNCH_RW_MUTEX to
+ complement the existing ACE_SYNCH_MUTEX and ACE_SYNCH_CONDITION
+ macros. This will clean up lots of code in various test
+ programs.
+
+ * ace/Synch_T.h: Added two new macros, ACE_SYNCH_MUTEX and
+ ACE_SYNCH_CONDITION. These default to ACE_MT_SYNCH::MUTEX and
+ ACE_MT_SYNCH::MUTEX if template typedefs are supported and
+ ACE_HAS_THREADS is enabled. If template typedefs *aren't*
+ supported but ACE_HAS_THREADS is enabled these macros turn into
+ ACE_Thread_Mutex and ACE_Thread_Condition. Finally, if
+ ACE_HAS_THREADS is disabled these macros turn into
+ ACE_Null_Mutex and ACE_Null_Condition. These macros make it
+ possible to write code that is more portable across platforms
+ and configurations. Thanks to Carlos O'Ryan for this
+ suggestion.
+
+ * ace/OS.h: Replaced all uses of ACE_SYNCH_MUTEX and
+ ACE_SYNCH_CONDITION with ACE_SYNCH_MUTEX_T and
+ ACE_SYNCH_CONDITION_T since (1) this usage relates to templates
+ and (2) it frees up the namespace for the new ACE_SYNCH_MUTEX
+ and ACE_SYNCH_CONDITION macros.
+
+ * ace/Timer_Queue.cpp: Added yet more template specializations for
+ the benefit of GCC (ugh).
+
+ * ace/Timer_Wheel_T.cpp: Had to revise things just a bit to
+ compile with GCC and it's lame template mechanism. This
+ required changing NODE * to ACE_Timer_Node_T<TYPE, FUNCTOR> * in
+ several method definitions.
+
+ * apps/JAWS/server/HTTP_Server.h: Changed the use of ACE_WIN32 to
+ ACE_HAS_THREAD_SAFE_ACCEPT since this is a more precise way to
+ determine if the platform allows multiple threads to call
+ accept() on the same port. If other platforms support this
+ feature please make sure to add it to their config*.h files.
+
+ * ace/config-win32-common.h: Defined ACE_HAS_THREAD_SAFE_ACCEPT,
+ since Win32 allows multiple threads to call accept() on the same
+ port.
+
+ * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: The mutex
+ should be ACE_RW_Mutex, not ACE_Null_Mutex...
Sun Apr 27 18:13:24 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/Proactor.h: Added Timer_Wheel support.
+ * ace/Proactor.h: Added Timer_Wheel support.
-Sun Apr 27 18:13:24 1997 Sumedh Mungee <sumedh@cs.wustl.edu>
+Sun Apr 27 18:13:24 1997 Sumedh Mungee <sumedh@cs.wustl.edu>
* apps/JAWS/client: Removed blobby.h, and replaced it with
blobby_options.{h,cpp}.
@@ -3643,242 +3643,242 @@ Sun Apr 27 18:13:24 1997 Sumedh Mungee <sumedh@cs.wustl.edu>
Sun Apr 27 07:41:44 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Timer_Queue.cpp: added #includes for template specializations,
- and removed some unused specializations.
+ * ace/Timer_Queue.cpp: added #includes for template specializations,
+ and removed some unused specializations.
- * ace/Timer_Wheel_T.cpp: added newline at end of file.
+ * ace/Timer_Wheel_T.cpp: added newline at end of file.
- * ace/Timer_Wheel_T.cpp (ACE_Timer_Wheel_T ctor): reordered
- initializers to match declaration order.
+ * ace/Timer_Wheel_T.cpp (ACE_Timer_Wheel_T ctor): reordered
+ initializers to match declaration order.
- * ace/Log_Msg.cpp (log): added support for indenting output according
- to the current nesting level by adding a new format specifier, I,
- which indents the output according to the current trace_depth_.
- If a width is also specified it is taken as multiplier (so that
- the indentation is n*trace_depth_). Thanks to Matthias Kerkhoff
- <make@cs.tu-berlin.de> for providing the code for this feature!
+ * ace/Log_Msg.cpp (log): added support for indenting output according
+ to the current nesting level by adding a new format specifier, I,
+ which indents the output according to the current trace_depth_.
+ If a width is also specified it is taken as multiplier (so that
+ the indentation is n*trace_depth_). Thanks to Matthias Kerkhoff
+ <make@cs.tu-berlin.de> for providing the code for this feature!
- * examples/Reactor/Misc/test_timer_queue.cpp: fixed typos in
- #includes, and added #include of ace/Timer_Heap.h.
+ * examples/Reactor/Misc/test_timer_queue.cpp: fixed typos in
+ #includes, and added #include of ace/Timer_Heap.h.
Sat Apr 26 17:19:56 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/Timer_Queue.cpp: The correct Timer_Queue.cpp file was not
- checked in. Also the necessary #include was missing.
-
- * ace/Proactor.h: Proactor need all three Timer include files.
+ * ace/Timer_Queue.cpp: The correct Timer_Queue.cpp file was not
+ checked in. Also the necessary #include was missing.
+
+ * ace/Proactor.h: Proactor need all three Timer include files.
- * ace/ace.{mdp,mak}: Updated for changes to Timer files.
+ * ace/ace.{mdp,mak}: Updated for changes to Timer files.
- * ace: Updated the following files to include /**/ before an
- include file directive: OS.h, config-win32-common.h,
- bstring.h. Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de>
- for reporting this.
+ * ace: Updated the following files to include /**/ before an
+ include file directive: OS.h, config-win32-common.h,
+ bstring.h. Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de>
+ for reporting this.
Sat Apr 26 13:41:15 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/config-sco-5.0.0-mit-pthread.h: Added
- ACE_LACKS_PTHREAD_CANCEL. Thanks to Arturo Montes
- <mitosys@colomsat.net.co> for reporting this.
+ * ace/config-sco-5.0.0-mit-pthread.h: Added
+ ACE_LACKS_PTHREAD_CANCEL. Thanks to Arturo Montes
+ <mitosys@colomsat.net.co> for reporting this.
- * ace: Came up with a scheme that allowed us to remove the
- ace/Timers.{h,i,cpp} files by adding
- ACE_Timer_{Queue,Heap,List}_T.{h,i,cpp} files instead. Thus, no
- existing code should break.
+ * ace: Came up with a scheme that allowed us to remove the
+ ace/Timers.{h,i,cpp} files by adding
+ ACE_Timer_{Queue,Heap,List}_T.{h,i,cpp} files instead. Thus, no
+ existing code should break.
Fri Apr 25 17:17:06 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * ace/OS.cpp (thr_create): Fixed the fix from Thilo so that it
- compiled properly on Linux. Hopefully I didn't break his, and I
- should have detected the problem earlier. Mea culpa.
+ * ace/OS.cpp (thr_create): Fixed the fix from Thilo so that it
+ compiled properly on Linux. Hopefully I didn't break his, and I
+ should have detected the problem earlier. Mea culpa.
Fri Apr 25 12:45:23 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/OS.h: Added a new macro called ACE_HAS_SIG_MACROS for the
- case where the frigging OS defines things like sigismember and
- sigfillset as macros (ugh).
+ * ace/OS.h: Added a new macro called ACE_HAS_SIG_MACROS for the
+ case where the frigging OS defines things like sigismember and
+ sigfillset as macros (ugh).
- * ace/FILE_IO.h: Removed a trailing default initializer from the
- send() method since it was ambiguous. Thanks to Carlos O'Ryan
- for reporting this bug.
+ * ace/FILE_IO.h: Removed a trailing default initializer from the
+ send() method since it was ambiguous. Thanks to Carlos O'Ryan
+ for reporting this bug.
- * ace/OS.i (select): Unfortunately the (operator timeval*) defined
- for ACE_Time_Value was not used in ACE_OS::select (int width,
- fd_set *rfds, fd_set *wfds, fd_set *efds, const ACE_Time_Value
- *timeout) because the operator cannot be applied for a
- ACE_Time_Value*. Therefore, I fixed this as follows:
+ * ace/OS.i (select): Unfortunately the (operator timeval*) defined
+ for ACE_Time_Value was not used in ACE_OS::select (int width,
+ fd_set *rfds, fd_set *wfds, fd_set *efds, const ACE_Time_Value
+ *timeout) because the operator cannot be applied for a
+ ACE_Time_Value*. Therefore, I fixed this as follows:
- ACE_SOCKCALL_RETURN (::select (width,
- (ACE_FD_SET_TYPE *) rfds,
- (ACE_FD_SET_TYPE *) wfds,
- (ACE_FD_SET_TYPE *) efds,
- timeout == 0 ? 0 : (timeval *) *timeout) , int, -1);
+ ACE_SOCKCALL_RETURN (::select (width,
+ (ACE_FD_SET_TYPE *) rfds,
+ (ACE_FD_SET_TYPE *) wfds,
+ (ACE_FD_SET_TYPE *) efds,
+ timeout == 0 ? 0 : (timeval *) *timeout) , int, -1);
- Thanks to Carlos O'Ryan for reporting this bug.
+ Thanks to Carlos O'Ryan for reporting this bug.
- * ace: Applied a slew of patches from Carlos O'Ryan in order to
- get ACE to compile on HP/UX 10.x with the aCC compiler.
+ * ace: Applied a slew of patches from Carlos O'Ryan in order to
+ get ACE to compile on HP/UX 10.x with the aCC compiler.
- * ace/Shared_Memory_MM: Export the filename in
- ACE_Shared_Memory_MM class in order to aid debugging. Thanks to
- Ashish Singhai <singhai@delirius.cs.uiuc.edu> for reporting
- this.
+ * ace/Shared_Memory_MM: Export the filename in
+ ACE_Shared_Memory_MM class in order to aid debugging. Thanks to
+ Ashish Singhai <singhai@delirius.cs.uiuc.edu> for reporting
+ this.
Fri Apr 25 14:58:38 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/Timers: Updated the following files to make it compile on
- g++. The following files were updated:
+ * ace/Timers: Updated the following files to make it compile on
+ g++. The following files were updated:
- Proactor.cpp Timer_Heap.cpp Timer_List.cpp Timer_Queue.cpp
- Timers.cpp
+ Proactor.cpp Timer_Heap.cpp Timer_List.cpp Timer_Queue.cpp
+ Timers.cpp
Thu Apr 24 21:13:51 1997 <irfan@TWOSTEP>
- * ace/Timer_Queue: Decoupled the Timer Queue from
- ACE_Event_Handler and the callback routines in the handler
- (handle_timeout and handle_close). The new Timer Queue is
- parameterized by the type of data to store and a FUNCTOR on
- which methods are invoked by the Timer Queue when timeouts and
- cancellations occur.
-
- No changes occured to the algorithms of the different
- implementations of the Timer Queues (Timer List and Timer
- Heap). Timer Queues, Timer List, and Timer Heap were all renamed
- as <class>_T. However, typedef were added such that there is now
- an ACE_Timer_Queue, ACE_Timer_Heap, and ACE_Timer_List, each
- being an instantiation of the respective template classes. The
- instantiation is done with ACE_Event_Handler as the type of data
- to be stored in Timer Queue and
- ACE_Event_Handler_Handle_Timeout_Upcall as the FUNCTOR that does
- the appropriate upcall to ACE_Event_Handler.
-
- Due to these typedefs, 99.9% of existing code should not
- break. However, the following two will cause problems:
-
- (a) Forward declarations of Timer_Queue will not work! This is
- because Timer_Queue is now a typedef and not a class.
-
- (b) #include "ace/Timer_Queue.h" will not be enough to get the
- ACE_Timer_Queue typedef. The new typedefs are in a new file
- called Timers.h. This file also has typedefs for ACE_Timer_Heap
- and ACE_Timer_List.
-
- Currently Proactor is the only class that uses a different
- instantiation of the Timer Queue class. Proactor's Timer Queue
- class is instantiated with ACE_Handler as the type of data to be
- stored in Timer Queue and ACE_Proactor_Handle_Timeout_Upcall as
- the FUNCTOR that does the appropriate posting to the Proactor's
- completion port.
-
- The Upcall Strategy is not needed any more cause it is replaced
- by the FUNCTORs. Thus this is removed.
-
- Small modifications were made to the following files
- because of the changes to Timer_Queue.
-
- - examples/Reactor/Misc/test_timer_queue.cpp
- - examples/Reactor/Proactor/test_timeout.cpp
- - tests/Timer_Queue_Test.cpp
- - ace/Makefile (both UNIX and Win32)
- - ace/Connector.h
- - ace/Reactor.h
- - ace/ReactorEx.h
- - ace/Proactor.h
-
- * ace/Proactor: Proactor now uses the new timer queues. Proactor's
- Timer Queue class is instantiated with ACE_Handler as the type
- of data to be stored in Timer Queue and
- ACE_Proactor_Handle_Timeout_Upcall as the FUNCTOR that does the
- appropriate posting to the Proactor's completion port. This will
- help reduce the overhead of creating new act for each
- timer. This also enables the cancellation of entire
- ACE_Handlers.
-
- * examples/Reactor/Misc: Added Win32 makefiles.
-
- * ace/Shared_Memory_MM.i: Fixed typo.
-
- * ace/SOCK_Connector.cpp: Fixed typo.
+ * ace/Timer_Queue: Decoupled the Timer Queue from
+ ACE_Event_Handler and the callback routines in the handler
+ (handle_timeout and handle_close). The new Timer Queue is
+ parameterized by the type of data to store and a FUNCTOR on
+ which methods are invoked by the Timer Queue when timeouts and
+ cancellations occur.
+
+ No changes occured to the algorithms of the different
+ implementations of the Timer Queues (Timer List and Timer
+ Heap). Timer Queues, Timer List, and Timer Heap were all renamed
+ as <class>_T. However, typedef were added such that there is now
+ an ACE_Timer_Queue, ACE_Timer_Heap, and ACE_Timer_List, each
+ being an instantiation of the respective template classes. The
+ instantiation is done with ACE_Event_Handler as the type of data
+ to be stored in Timer Queue and
+ ACE_Event_Handler_Handle_Timeout_Upcall as the FUNCTOR that does
+ the appropriate upcall to ACE_Event_Handler.
+
+ Due to these typedefs, 99.9% of existing code should not
+ break. However, the following two will cause problems:
+
+ (a) Forward declarations of Timer_Queue will not work! This is
+ because Timer_Queue is now a typedef and not a class.
+
+ (b) #include "ace/Timer_Queue.h" will not be enough to get the
+ ACE_Timer_Queue typedef. The new typedefs are in a new file
+ called Timers.h. This file also has typedefs for ACE_Timer_Heap
+ and ACE_Timer_List.
+
+ Currently Proactor is the only class that uses a different
+ instantiation of the Timer Queue class. Proactor's Timer Queue
+ class is instantiated with ACE_Handler as the type of data to be
+ stored in Timer Queue and ACE_Proactor_Handle_Timeout_Upcall as
+ the FUNCTOR that does the appropriate posting to the Proactor's
+ completion port.
+
+ The Upcall Strategy is not needed any more cause it is replaced
+ by the FUNCTORs. Thus this is removed.
+
+ Small modifications were made to the following files
+ because of the changes to Timer_Queue.
+
+ - examples/Reactor/Misc/test_timer_queue.cpp
+ - examples/Reactor/Proactor/test_timeout.cpp
+ - tests/Timer_Queue_Test.cpp
+ - ace/Makefile (both UNIX and Win32)
+ - ace/Connector.h
+ - ace/Reactor.h
+ - ace/ReactorEx.h
+ - ace/Proactor.h
+
+ * ace/Proactor: Proactor now uses the new timer queues. Proactor's
+ Timer Queue class is instantiated with ACE_Handler as the type
+ of data to be stored in Timer Queue and
+ ACE_Proactor_Handle_Timeout_Upcall as the FUNCTOR that does the
+ appropriate posting to the Proactor's completion port. This will
+ help reduce the overhead of creating new act for each
+ timer. This also enables the cancellation of entire
+ ACE_Handlers.
+
+ * examples/Reactor/Misc: Added Win32 makefiles.
+
+ * ace/Shared_Memory_MM.i: Fixed typo.
+
+ * ace/SOCK_Connector.cpp: Fixed typo.
Thu Apr 24 13:56:28 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/SOCK_Dgram.cpp: Added support for FreeBSD (i.e., BSD 4.4)
- features for passing file descriptors between processes. Thanks
- to Nanbor Wang <nw1@cs.wustl.edu> for reporting this.
+ * ace/SOCK_Dgram.cpp: Added support for FreeBSD (i.e., BSD 4.4)
+ features for passing file descriptors between processes. Thanks
+ to Nanbor Wang <nw1@cs.wustl.edu> for reporting this.
- * ace/LSOCK_Stream.cpp: Added support for FreeBSD (i.e., BSD 4.4)
- features for passing file descriptors between processes. Thanks
- to Nanbor Wang <nw1@cs.wustl.edu> for reporting this.
+ * ace/LSOCK_Stream.cpp: Added support for FreeBSD (i.e., BSD 4.4)
+ features for passing file descriptors between processes. Thanks
+ to Nanbor Wang <nw1@cs.wustl.edu> for reporting this.
- * ace/LSOCK.cpp: Added support for FreeBSD (i.e., BSD 4.4)
- features for passing file descriptors between processes. Thanks
- to Nanbor Wang <nw1@cs.wustl.edu> for reporting this.
+ * ace/LSOCK.cpp: Added support for FreeBSD (i.e., BSD 4.4)
+ features for passing file descriptors between processes. Thanks
+ to Nanbor Wang <nw1@cs.wustl.edu> for reporting this.
- * ace/SOCK_Connector.cpp (complete): There's a bug in WinNT that
- causes non-blocking connects to fail. The workaround is to
- sleep for 1 millisecond. Thanks to Steve Huston
- <shuston@riverace.com> for reporting this.
+ * ace/SOCK_Connector.cpp (complete): There's a bug in WinNT that
+ causes non-blocking connects to fail. The workaround is to
+ sleep for 1 millisecond. Thanks to Steve Huston
+ <shuston@riverace.com> for reporting this.
- * ace/Connector.cpp (handle_output): There's a bug in WinNT that
- causes non-blocking connects to fail. The workaround is to
- sleep for 1 millisecond. Thanks to Steve Huston
- <shuston@riverace.com> for reporting this.
+ * ace/Connector.cpp (handle_output): There's a bug in WinNT that
+ causes non-blocking connects to fail. The workaround is to
+ sleep for 1 millisecond. Thanks to Steve Huston
+ <shuston@riverace.com> for reporting this.
- * tests/Conn_Test.cpp: Changed from operator != to operator == to
- be consistent with what is required by the ACE_Hash_Map_Manager.
+ * tests/Conn_Test.cpp: Changed from operator != to operator == to
+ be consistent with what is required by the ACE_Hash_Map_Manager.
- * ace/Hash_Map_Manager: Factored out the equality comparison into
- an equal() method in order to facilitate template
- specialization. In addition, rather than using the != operator
- we now default to using the operator== operator and negating the
- result. This is consistent with the behavior of the
- ACE_Map_Manager.
+ * ace/Hash_Map_Manager: Factored out the equality comparison into
+ an equal() method in order to facilitate template
+ specialization. In addition, rather than using the != operator
+ we now default to using the operator== operator and negating the
+ result. This is consistent with the behavior of the
+ ACE_Map_Manager.
- * ace/Map_Manager: Factored out the equality comparison into an
- equal() method in order to facilitate template specialization.
+ * ace/Map_Manager: Factored out the equality comparison into an
+ equal() method in order to facilitate template specialization.
- * ace/OS.i: Added a new #ifdef called ACE_LACKS_PTHREAD_CANCEL.
- I'm not sure which platforms should set this, but it fixes
- a bug with ACE_OS::thr_cancel(). Thanks to Eric Dean
- Russell <edrusse@somnet.sandia.gov> for reporting this.
+ * ace/OS.i: Added a new #ifdef called ACE_LACKS_PTHREAD_CANCEL.
+ I'm not sure which platforms should set this, but it fixes
+ a bug with ACE_OS::thr_cancel(). Thanks to Eric Dean
+ Russell <edrusse@somnet.sandia.gov> for reporting this.
- * tests/Process_Strategy_Test.cpp (handle_input): We were
- comparing EOF to a char, which gets complaints on platforms
- where char is unsigned by default. I added a cast of EOF to
- char to fix this. Thanks to Amos Shapira <amos@dsi.co.il> for
- reporting this.
+ * tests/Process_Strategy_Test.cpp (handle_input): We were
+ comparing EOF to a char, which gets complaints on platforms
+ where char is unsigned by default. I added a cast of EOF to
+ char to fix this. Thanks to Amos Shapira <amos@dsi.co.il> for
+ reporting this.
- * apps/JAWS/server/HTTP_Helpers.cpp (instance): Changed the
- return type from const char * to const char **. Thanks to
- Amos Shapira <amos@dsi.co.il> for reporting this.
+ * apps/JAWS/server/HTTP_Helpers.cpp (instance): Changed the
+ return type from const char * to const char **. Thanks to
+ Amos Shapira <amos@dsi.co.il> for reporting this.
- * ace/OS.i (getpwnam_r): Added a missing #else. Thanks to
- Amos Shapira <amos@dsi.co.il> for reporting this.
+ * ace/OS.i (getpwnam_r): Added a missing #else. Thanks to
+ Amos Shapira <amos@dsi.co.il> for reporting this.
- * ace/Timer_Heap: Made many minor enhancements to ACE_Timer_Heap
- in an effort to figure out why we're getting memory leaks.
+ * ace/Timer_Heap: Made many minor enhancements to ACE_Timer_Heap
+ in an effort to figure out why we're getting memory leaks.
Thu Apr 24 09:33:53 1997 David L. Levine <levine@cs.wustl.edu>
- * Makefile: modified the TIMESTAMP macro to update the third
- component, if there is one, of the version number in the VERSION
- file. This assumes that alpha/beta releases are numbered with
- three components, and that final releases are not. So, if the
- version number is, e.g., 4.2, it will not be modified because it
- is assumed to be for a final release. Manual switching between
- alpha/beta and final release "modes" is therefore still required.
+ * Makefile: modified the TIMESTAMP macro to update the third
+ component, if there is one, of the version number in the VERSION
+ file. This assumes that alpha/beta releases are numbered with
+ three components, and that final releases are not. So, if the
+ version number is, e.g., 4.2, it will not be modified because it
+ is assumed to be for a final release. Manual switching between
+ alpha/beta and final release "modes" is therefore still required.
- * ace/Timer_Heap.cpp (copy): added cast of max_size_ to int to avoid
- signed/unsigned comparison.
+ * ace/Timer_Heap.cpp (copy): added cast of max_size_ to int to avoid
+ signed/unsigned comparison.
- * ace/config-sunos5.4-g++.h: removed
- ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES because it caused compile
- warnings about conversion from `(int)' to `(...)' at Signal.i:113.
- (And the other sunos5.4 config files don't have it.)
- Thanks to Joey Zhu <joey.zhu@wcom.com> for reporting this.
+ * ace/config-sunos5.4-g++.h: removed
+ ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES because it caused compile
+ warnings about conversion from `(int)' to `(...)' at Signal.i:113.
+ (And the other sunos5.4 config files don't have it.)
+ Thanks to Joey Zhu <joey.zhu@wcom.com> for reporting this.
- * tests/Timer_Queue_Test.cpp (main): added delete of timer_ids array
- to avoid memory leak.
+ * tests/Timer_Queue_Test.cpp (main): added delete of timer_ids array
+ to avoid memory leak.
Wed Apr 23 22:56:57 1997 Sumedh Mungee <sumedh@cs.wustl.edu>
@@ -3889,481 +3889,481 @@ Wed Apr 23 22:56:57 1997 Sumedh Mungee <sumedh@cs.wustl.edu>
Wed Apr 23 20:57:35 1997 James C Hu <jxh@polka.cs.wustl.edu>
- * ace/OS.i and ace/OS.h: added methods for getpwnam and
- getpwnam_r, with hooks for NT.
+ * ace/OS.i and ace/OS.h: added methods for getpwnam and
+ getpwnam_r, with hooks for NT.
- * ace/config-irix6.2.*: added ACE_LACKS_PWD_REENTRANT_FUNCTIONS.
-
+ * ace/config-irix6.2.*: added ACE_LACKS_PWD_REENTRANT_FUNCTIONS.
+
Wed Apr 23 14:27:48 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Timer_Queue.cpp (ACE_Timer_Queue ctor): reordered initializers
- to match declaration order.
+ * ace/Timer_Queue.cpp (ACE_Timer_Queue ctor): reordered initializers
+ to match declaration order.
- * tests/Process_Strategy_Test.cpp: added ACE_Singleton template
- specialization. In function client (), null terminated "buf"
- before call to ACE_OS::strrchr () to avoid uninitialized memory
- read. Also, fixed typo in test name (argument to ACE_START_TEST).
+ * tests/Process_Strategy_Test.cpp: added ACE_Singleton template
+ specialization. In function client (), null terminated "buf"
+ before call to ACE_OS::strrchr () to avoid uninitialized memory
+ read. Also, fixed typo in test name (argument to ACE_START_TEST).
- * examples/Service_Configurator/Misc/Timer_Service.cpp (init): changed
- type of loop index to int to avoid signed/unsigned comparison, and
- initialized "interval" so that it has a value even if one isn't
- specified on the command line.
+ * examples/Service_Configurator/Misc/Timer_Service.cpp (init): changed
+ type of loop index to int to avoid signed/unsigned comparison, and
+ initialized "interval" so that it has a value even if one isn't
+ specified on the command line.
Wed Apr 23 10:52:45 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * ace/OS.cpp (thr_create): Removed errant preprocessor conditional
- for determining the scheduling priority. Thanks to Thilo Kielmann
- <kielmann@informatik.uni-siegen.de> for reporting this.
+ * ace/OS.cpp (thr_create): Removed errant preprocessor conditional
+ for determining the scheduling priority. Thanks to Thilo Kielmann
+ <kielmann@informatik.uni-siegen.de> for reporting this.
Wed Apr 23 09:06:52 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * tests/Process_Strategy_Test.cpp: Finished updating this program
- so that it is an automated test.
+ * tests/Process_Strategy_Test.cpp: Finished updating this program
+ so that it is an automated test.
- * ace/Acceptor.h: Moved get_handle() into the public portion of
- the Acceptor.
+ * ace/Acceptor.h: Moved get_handle() into the public portion of
+ the Acceptor.
- * include/makeinclude/platform_irix6.2_sgic++.GNU (SOBUILD): There
- was an extra @ in $@@. Thanks to Amos Shapira <amos@dsi.co.il>
- for reporting this.
+ * include/makeinclude/platform_irix6.2_sgic++.GNU (SOBUILD): There
+ was an extra @ in $@@. Thanks to Amos Shapira <amos@dsi.co.il>
+ for reporting this.
- * apps/JAWS/client/Blob[_Handler].cpp: Added casts for free ((void
- *) filename_);. Thanks to Amos Shapira <amos@dsi.co.il> for
- reporting this.
+ * apps/JAWS/client/Blob[_Handler].cpp: Added casts for free ((void
+ *) filename_);. Thanks to Amos Shapira <amos@dsi.co.il> for
+ reporting this.
- * apps/JAWS/server/HTTP_Helpers.h (class HTTP_Status_Code):
- Removed an extraneous const * from the definition of instance().
- Thanks to Amos Shapira <amos@dsi.co.il> for reporting this.
+ * apps/JAWS/server/HTTP_Helpers.h (class HTTP_Status_Code):
+ Removed an extraneous const * from the definition of instance().
+ Thanks to Amos Shapira <amos@dsi.co.il> for reporting this.
Wed Apr 23 03:15:11 1997 James C Hu <jxh@polka.cs.wustl.edu>
- * apps/JAWS/server/README: Updated to add some clarity and more
- useful information.
+ * apps/JAWS/server/README: Updated to add some clarity and more
+ useful information.
Tue Apr 22 20:17:00 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/Synch.cpp: Added a new method called open() to ACE_File_Lock
- so that we don't have to initialize it solely in the
- constructor.
-
- * tests/Process_Strategy_Test.cpp: Added new test code that
- exercises the ACE_Process_Strategy, ACE_Thread_Strategy, and
- ACE_Reactive_Strategy classes.
-
- * ace/Strategies_T: Added a new class called
- ACE_Reactive_Strategy, which inherits from
- ACE_Concurrency_Strategy and registers new Svc_Handlers with the
- Reactor.
-
- * ace/Strategies_T.cpp (ACE_Thread_Strategy): Added a check for
- failed open() methods and call ACE_ERROR.
-
- * tests/Map_Manager_Test.cpp: Added a template specialization for
- the ACE_Hash_Map_Manager::hash() method, which is enabled if the
- compiler supports template specializations.
-
- * ace/Hash_Map_Manager.h (pool): Moved the ext_id.hash() call into
- a separate method so that we can perform template specialization
- of it more easily.
-
- * ace/README: Added a new #define called
- ACE_HAS_TEMPLATE_SPECIALIZATION so that we can work around funky
- compilers that don't support this advanced template feature.
-
- * ace: Added Nanbor Wang's port to FreeBSD. The port is done
- at FreeBSD 3.0-current as of 2/9/97, which is the
- latest stable system before Lite2 merge. Since the merge is
- current under testing and changes are introduced in a daily
- basis, I don't recommend using -current after the date. You
- can specified the date in your "supfile", run CVSup to get the entire
- source tree and do a 'make world' to update (or reverse) your
- system.
+ * ace/Synch.cpp: Added a new method called open() to ACE_File_Lock
+ so that we don't have to initialize it solely in the
+ constructor.
+
+ * tests/Process_Strategy_Test.cpp: Added new test code that
+ exercises the ACE_Process_Strategy, ACE_Thread_Strategy, and
+ ACE_Reactive_Strategy classes.
+
+ * ace/Strategies_T: Added a new class called
+ ACE_Reactive_Strategy, which inherits from
+ ACE_Concurrency_Strategy and registers new Svc_Handlers with the
+ Reactor.
+
+ * ace/Strategies_T.cpp (ACE_Thread_Strategy): Added a check for
+ failed open() methods and call ACE_ERROR.
+
+ * tests/Map_Manager_Test.cpp: Added a template specialization for
+ the ACE_Hash_Map_Manager::hash() method, which is enabled if the
+ compiler supports template specializations.
+
+ * ace/Hash_Map_Manager.h (pool): Moved the ext_id.hash() call into
+ a separate method so that we can perform template specialization
+ of it more easily.
+
+ * ace/README: Added a new #define called
+ ACE_HAS_TEMPLATE_SPECIALIZATION so that we can work around funky
+ compilers that don't support this advanced template feature.
+
+ * ace: Added Nanbor Wang's port to FreeBSD. The port is done
+ at FreeBSD 3.0-current as of 2/9/97, which is the
+ latest stable system before Lite2 merge. Since the merge is
+ current under testing and changes are introduced in a daily
+ basis, I don't recommend using -current after the date. You
+ can specified the date in your "supfile", run CVSup to get the entire
+ source tree and do a 'make world' to update (or reverse) your
+ system.
- Pthread library is provided by John Birrell. There is a
- bug fix at mid April so you may want to CVSup the latest libc_r
- library and re-make the pthreaded library.
+ Pthread library is provided by John Birrell. There is a
+ bug fix at mid April so you may want to CVSup the latest libc_r
+ library and re-make the pthreaded library.
- A shared library must be name as lib<name>.so.<version
- number> (e.g. libACE.4.1.0). I would recommend adding a
- post-compile hook in the Makefile so we FreeBSDers can
- rename the shared library to it's proper name with correct
- major and minor version number attached. (which is a trick
- BSD library makefiles use.)
+ A shared library must be name as lib<name>.so.<version
+ number> (e.g. libACE.4.1.0). I would recommend adding a
+ post-compile hook in the Makefile so we FreeBSDers can
+ rename the shared library to it's proper name with correct
+ major and minor version number attached. (which is a trick
+ BSD library makefiles use.)
- * examples/OS/Process/process.cpp (main): Replaced the use of
- "/bin/cat" with "cat" since we are now using execvp(). Thanks
- to Nanbor Wang <nw1@cs.wustl.edu> for reporting this.
+ * examples/OS/Process/process.cpp (main): Replaced the use of
+ "/bin/cat" with "cat" since we are now using execvp(). Thanks
+ to Nanbor Wang <nw1@cs.wustl.edu> for reporting this.
- * ace/Process.cpp (start): Changed the use of execv() to execvp()
- in order to avoid having to pass in the full pathname.
+ * ace/Process.cpp (start): Changed the use of execv() to execvp()
+ in order to avoid having to pass in the full pathname.
- * ace/OS.i (sigwait): Added an #ifdef for FreeBSD so that we
- return ACE_NOTSUP_RETURN(-1) for ACE_OS::sigwait(). Thanks to
- Nanbor Wang <nw1@cs.wustl.edu> for reporting this.
+ * ace/OS.i (sigwait): Added an #ifdef for FreeBSD so that we
+ return ACE_NOTSUP_RETURN(-1) for ACE_OS::sigwait(). Thanks to
+ Nanbor Wang <nw1@cs.wustl.edu> for reporting this.
Tue Apr 22 17:46:30 1997 <harrison@samba.cs.wustl.edu>
- * Process.cpp (start): We must pass in 0 instead of "" to
- CreateProcess for the current working directory.
+ * Process.cpp (start): We must pass in 0 instead of "" to
+ CreateProcess for the current working directory.
Tue Apr 22 01:38:14 1997 <irfan@TWOSTEP>
- * ace/Timer_Queue: Added ACE_Upcall_Strategy as a parameter to the
- constructor. <expire> will call <upcall_strategy->upcall> if
- <upcall_strategy> is not 0. Else it will call <handle_timeout>
- on the <Event_Handler>. Thus ACE_Upcall_Strategy becomes a
- vehicle for extending the behavior of ACE_Timer_Queue wrt the
- upcall (callback) *without subclassing*. Hence, it's an example
- of the Bridge/Strategy patterns.
+ * ace/Timer_Queue: Added ACE_Upcall_Strategy as a parameter to the
+ constructor. <expire> will call <upcall_strategy->upcall> if
+ <upcall_strategy> is not 0. Else it will call <handle_timeout>
+ on the <Event_Handler>. Thus ACE_Upcall_Strategy becomes a
+ vehicle for extending the behavior of ACE_Timer_Queue wrt the
+ upcall (callback) *without subclassing*. Hence, it's an example
+ of the Bridge/Strategy patterns.
- This also affected ACE_Timer_List and ACE_Timer_Heap
+ This also affected ACE_Timer_List and ACE_Timer_Heap
- * ace/Strategies: Added ACE_Upcall_Strategy.
+ * ace/Strategies: Added ACE_Upcall_Strategy.
- * ace/Proactor: Added timing support to the <handle_event> calls.
+ * ace/Proactor: Added timing support to the <handle_event> calls.
- * ace/Asynch_IO: ACE_Handler now supports handle_timeout.
+ * ace/Asynch_IO: ACE_Handler now supports handle_timeout.
- * ace/Proactor: Added timer support for the new Proactor. This
- new scheme allows any of the threads in the "thread pool"
- waiting on the completion port of the Proactor to execute the
- callback routine of the handler.
+ * ace/Proactor: Added timer support for the new Proactor. This
+ new scheme allows any of the threads in the "thread pool"
+ waiting on the completion port of the Proactor to execute the
+ callback routine of the handler.
- The implementation included adding ACE_Proactor_Timer_Handler
- class that has a thread that will wait on the earliest time in a
- timer queue and an event. When a timer expires, the thread will
- post a completion event on the port and go back to waiting on
- the timer queue and event. If the event is signaled, the thread
- will refresh the time it is currently waiting on (in case the
- earliest time has changed).
+ The implementation included adding ACE_Proactor_Timer_Handler
+ class that has a thread that will wait on the earliest time in a
+ timer queue and an event. When a timer expires, the thread will
+ post a completion event on the port and go back to waiting on
+ the timer queue and event. If the event is signaled, the thread
+ will refresh the time it is currently waiting on (in case the
+ earliest time has changed).
- The ACE_Proactor::Asynch_Timer class is posted to the completion
- port when a timer expires. When the <complete> method of this
- object is called, the <handler>'s handle_timeout method will be
- called.
-
- * examples/Reactor/Proactor/test_timeout: This example illustrates
- the new timer features in the Proactor
+ The ACE_Proactor::Asynch_Timer class is posted to the completion
+ port when a timer expires. When the <complete> method of this
+ object is called, the <handler>'s handle_timeout method will be
+ called.
+
+ * examples/Reactor/Proactor/test_timeout: This example illustrates
+ the new timer features in the Proactor
- * examples/Reactor/Proactor/test_proactor.{mdp,mak}: Added new
- example.
+ * examples/Reactor/Proactor/test_proactor.{mdp,mak}: Added new
+ example.
Mon Apr 21 18:14:32 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/config-win32-common.h: Added checks around _AFXDLL before
- defining it. Thanks to Bruce Meyer <bmeyer1@gte.net> for
- pointing this out.
+ * ace/config-win32-common.h: Added checks around _AFXDLL before
+ defining it. Thanks to Bruce Meyer <bmeyer1@gte.net> for
+ pointing this out.
Mon Apr 21 11:31:16 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp:
- Removed some unnecessary explicit template instantiations.
+ * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp:
+ Removed some unnecessary explicit template instantiations.
- * examples/Threads/barrier1.cpp (main): Explicitly converted
- n_threads to int.
+ * examples/Threads/barrier1.cpp (main): Explicitly converted
+ n_threads to int.
Sun Apr 20 23:08:37 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/{Local,Remote}_Tokens.h: Added a private declarations of the
- copy constructor and assignment operator for classes that
- inherit from ACE_TSS. This is necessary since the compiler will
- auto generate these two operations that will end up using the
- non-existent copy constructor and assignment operator from the
- TSS class and cause linker errors.
+ * ace/{Local,Remote}_Tokens.h: Added a private declarations of the
+ copy constructor and assignment operator for classes that
+ inherit from ACE_TSS. This is necessary since the compiler will
+ auto generate these two operations that will end up using the
+ non-existent copy constructor and assignment operator from the
+ TSS class and cause linker errors.
-Sun Apr 20 20:47:34 1997 Sumedh Mungee <sumedh@cs.wustl.edu>
+Sun Apr 20 20:47:34 1997 Sumedh Mungee <sumedh@cs.wustl.edu>
- * apps/JAWS/client: Reworked the ACE_Blob* classes to work
- with the new Connector behavior. Added README for this
- directory. Added comments.
+ * apps/JAWS/client: Reworked the ACE_Blob* classes to work
+ with the new Connector behavior. Added README for this
+ directory. Added comments.
- * apps/JAWS/stress-testing: Added README file
-
+ * apps/JAWS/stress-testing: Added README file
+
Sun Apr 20 13:11:25 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * apps/Makefile: By default, we now compile JAWS along with the
- rest of ACE. I've also added some README files that explain
- what JAWS is all about.
+ * apps/Makefile: By default, we now compile JAWS along with the
+ rest of ACE. I've also added some README files that explain
+ what JAWS is all about.
- * examples/Service_Configurator/Misc/Timer_Service: Improved the
- Timer_Service test so that it makes more sense and is better
- documented.
+ * examples/Service_Configurator/Misc/Timer_Service: Improved the
+ Timer_Service test so that it makes more sense and is better
+ documented.
Sat Apr 19 11:56:35 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * include/makeinclude: Removed the platform_irix6.2_sgiCC.GNU
- from the release. Thanks to Torbjorn Lindgren
- <tl@funcom.no> for these fixes.
+ * include/makeinclude: Removed the platform_irix6.2_sgiCC.GNU
+ from the release. Thanks to Torbjorn Lindgren
+ <tl@funcom.no> for these fixes.
- * include/makeinclude/platform_irix6.2_sgic++.GNU: Updated the SGI
- C++ platform config file. Thanks to Torbjorn Lindgren
- <tl@funcom.no> for these fixes.
+ * include/makeinclude/platform_irix6.2_sgic++.GNU: Updated the SGI
+ C++ platform config file. Thanks to Torbjorn Lindgren
+ <tl@funcom.no> for these fixes.
- * ace/Log_Msg.cpp (log_hexdump): The char * arguments should be
- const char *'s. Thanks to Matthias Kerkhoff
- <make@cs.tu-berlin.de> for reporting this.
+ * ace/Log_Msg.cpp (log_hexdump): The char * arguments should be
+ const char *'s. Thanks to Matthias Kerkhoff
+ <make@cs.tu-berlin.de> for reporting this.
Sat Apr 19 18:52:44 1997 David L. Levine <levine@cs.wustl.edu>
- * (format_hexdump): changed type of first arg to const char *
- for compatibility with Log_Msg::log_hexdump ().
+ * (format_hexdump): changed type of first arg to const char *
+ for compatibility with Log_Msg::log_hexdump ().
Thu Apr 17 08:25:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Memory_Pool.h: Fixed a couple of typos in Memory_Pool
- classes. Thanks to Neil B. Cohen <nbc@metsci.com> for reporting
- this.
+ * ace/Memory_Pool.h: Fixed a couple of typos in Memory_Pool
+ classes. Thanks to Neil B. Cohen <nbc@metsci.com> for reporting
+ this.
- * netsvcs/lib/Name_Handler.h: Arrgh, there was still one more
- missing #include that I forgot to move into the *.h file.
- Thanks to David Levine for noticing this.
+ * netsvcs/lib/Name_Handler.h: Arrgh, there was still one more
+ missing #include that I forgot to move into the *.h file.
+ Thanks to David Levine for noticing this.
- * ace/Synch.cpp (wait): There was a bug in
- ACE_Condition::wait(MUTEX& mutex, const ACE_Time_Value
- *abstime.) Basically when abstime is zero, it ignores the
- parameter "mutex" that has been passed to it and instead goes on
- to call "ACE_Condition<MUTEX>::wait()" which uses "this->mutex_"
- as the mutex to be released and not the mutex that the caller
- has given. The fix is to change the call "this->wait()" in the
- if-clause to:
+ * ace/Synch.cpp (wait): There was a bug in
+ ACE_Condition::wait(MUTEX& mutex, const ACE_Time_Value
+ *abstime.) Basically when abstime is zero, it ignores the
+ parameter "mutex" that has been passed to it and instead goes on
+ to call "ACE_Condition<MUTEX>::wait()" which uses "this->mutex_"
+ as the mutex to be released and not the mutex that the caller
+ has given. The fix is to change the call "this->wait()" in the
+ if-clause to:
- return ACE_OS::cond_wait (&this->cond_, &mutex_.lock_);
+ return ACE_OS::cond_wait (&this->cond_, &mutex_.lock_);
- Thanks to Ashish Singhai <Ashish.Singhai@ACM.ORG> for reporting
- this.
+ Thanks to Ashish Singhai <Ashish.Singhai@ACM.ORG> for reporting
+ this.
Thu Apr 17 16:33:21 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Memory_Pool.cpp: fixed typos in ACE_MMAP_Memory_Pool_Options
- constructor declaration and initializer list. In init_acquire,
- added cast of minimum_bytes_ to size_t to avoid signed/unsigned
- comparison.
+ * ace/Memory_Pool.cpp: fixed typos in ACE_MMAP_Memory_Pool_Options
+ constructor declaration and initializer list. In init_acquire,
+ added cast of minimum_bytes_ to size_t to avoid signed/unsigned
+ comparison.
- * include/makeinclude/{platform*,wrapper_macros}.GNU:
- moved -g out of wrapper_macros.GNU and into each platform
- file so that -gstabs can be used on SCO. Thanks to
- Ganesh Pai <gpai@voicetek.com> for reporting that problem.
+ * include/makeinclude/{platform*,wrapper_macros}.GNU:
+ moved -g out of wrapper_macros.GNU and into each platform
+ file so that -gstabs can be used on SCO. Thanks to
+ Ganesh Pai <gpai@voicetek.com> for reporting that problem.
- (The real change was getting rid of the CFLAGS += DCFLAGS
- default. We could have left DCFLAGS=-g in wrapper_macros.GNU
- and overridden for SCO. But the way I changed things, the
- C/CFLAGS pieces are together in each platform file, so they're
- easier to find.)
+ (The real change was getting rid of the CFLAGS += DCFLAGS
+ default. We could have left DCFLAGS=-g in wrapper_macros.GNU
+ and overridden for SCO. But the way I changed things, the
+ C/CFLAGS pieces are together in each platform file, so they're
+ easier to find.)
Wed Apr 16 17:05:55 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/Memory_Pool.cpp (acquire): Added code to enable a minimum
- bytes field with the Shared_Memory_Pool. Thanks to Fred LaBar
- <flabar@fallschurch.esys.com> for these enhancements.
+ * ace/Memory_Pool.cpp (acquire): Added code to enable a minimum
+ bytes field with the Shared_Memory_Pool. Thanks to Fred LaBar
+ <flabar@fallschurch.esys.com> for these enhancements.
- * tests/Process_Strategy_Test.cpp: Only compile this test if
- ACE_LACKS_EXEC is *not* defined since ACE_Process_Strategy
- requires fork(). Thanks to Irfan for pointing this out!
+ * tests/Process_Strategy_Test.cpp: Only compile this test if
+ ACE_LACKS_EXEC is *not* defined since ACE_Process_Strategy
+ requires fork(). Thanks to Irfan for pointing this out!
- * netsvcs/lib: Fixed a couple o' typos that had escaped detection
- last night. Thanks to David Levine for reporting this.
+ * netsvcs/lib: Fixed a couple o' typos that had escaped detection
+ last night. Thanks to David Levine for reporting this.
- * ace/Synch[_T].h: removed the use of {} rather than ; for
- the private copy constructors and assignment operators.
- Hopefully this won't break code on older C++ compilers. Thanks
- to Berni Merkle <merkle@io.freinet.de> for suggesting this.
+ * ace/Synch[_T].h: removed the use of {} rather than ; for
+ the private copy constructors and assignment operators.
+ Hopefully this won't break code on older C++ compilers. Thanks
+ to Berni Merkle <merkle@io.freinet.de> for suggesting this.
- * Added a whole slew of minor fixes for unused variables in
- the tests and examples. Thanks to Torbjorn Lindgren
- <tl@funcom.no> for reporing these.
+ * Added a whole slew of minor fixes for unused variables in
+ the tests and examples. Thanks to Torbjorn Lindgren
+ <tl@funcom.no> for reporing these.
- * ace/Handle_Set.cpp (ACE_Handle_Set_Iterator): The order of
- the clause
+ * ace/Handle_Set.cpp (ACE_Handle_Set_Iterator): The order of
+ the clause
- this->handles_.mask_.fds_bits[this->index_] == 0
- && this->num_ < ACE_Handle_Set::MAXSIZE
+ this->handles_.mask_.fds_bits[this->index_] == 0
+ && this->num_ < ACE_Handle_Set::MAXSIZE
- was backwards. It should be:
+ was backwards. It should be:
- this->index_ < ACE_Handle_Set::NUM_WORDS
+ this->index_ < ACE_Handle_Set::NUM_WORDS
&& this->handles_.mask_.fds_bits[this->index_] == 0
- Thanks to Michael Newton <michaeln@in.ot.com.au> for
- reporting this.
+ Thanks to Michael Newton <michaeln@in.ot.com.au> for
+ reporting this.
Wed Apr 16 21:34:53 1997 David L. Levine <levine@cs.wustl.edu>
- * tests/Process_Strategy_Test.cpp: added template specializations.
+ * tests/Process_Strategy_Test.cpp: added template specializations.
Wed Apr 16 15:46:58 1997 <irfan@TWOSTEP>
- * tests/Process_Strategy_Test: Added test to batch files and
- MSVC++ Makefiles.
+ * tests/Process_Strategy_Test: Added test to batch files and
+ MSVC++ Makefiles.
- * tests/Process_Strategy_Test.cpp (open): Added UNICODE support.
+ * tests/Process_Strategy_Test.cpp (open): Added UNICODE support.
- * ace/OS.h: Added SIGCHLD to Win32 section.
+ * ace/OS.h: Added SIGCHLD to Win32 section.
- * ace/config-win32-common.h: UNICODE should not be automatically
- defined if ACE_HAS_UNICODE is defined. ACE_HAS_UNICODE signifies
- that the OS has UNICODE support. It does not mean that your code
- must be UNICODE. UNICODE must be defined at the project level.
+ * ace/config-win32-common.h: UNICODE should not be automatically
+ defined if ACE_HAS_UNICODE is defined. ACE_HAS_UNICODE signifies
+ that the OS has UNICODE support. It does not mean that your code
+ must be UNICODE. UNICODE must be defined at the project level.
Wed Apr 16 16:55:47 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/SString.{h,cpp}: Modified CString to not allocate 1 byte for
- a 0 length string. Instead, set the internal representation to
- the address of static class character null_string_.
+ * ace/SString.{h,cpp}: Modified CString to not allocate 1 byte for
+ a 0 length string. Instead, set the internal representation to
+ the address of static class character null_string_.
Wed Apr 16 11:47:35 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * ace/Map_Manager.cpp (free_search_structure): Added the loop
- variable back in that must have been inadvertently deleted in the
- previous entry.
+ * ace/Map_Manager.cpp (free_search_structure): Added the loop
+ variable back in that must have been inadvertently deleted in the
+ previous entry.
Wed Apr 16 09:35:39 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Map_Manager.cpp (free_search_structure): changed type of
- loop index to size_t to avoid signed/unsigned mismatch.
+ * ace/Map_Manager.cpp (free_search_structure): changed type of
+ loop index to size_t to avoid signed/unsigned mismatch.
Wed Apr 16 04:07:50 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/Strategies_T: Widened the constructor interface for
- ACE_Process_Strategy based on the feedback I got from
- implementing the Process_Strategy_Test.cpp program.
+ * ace/Strategies_T: Widened the constructor interface for
+ ACE_Process_Strategy based on the feedback I got from
+ implementing the Process_Strategy_Test.cpp program.
- * tests/Process_Strategy_Test.cpp: Added an interesting new test
- that illustrates the use of the ACE_Process_Strategy and the
- ACE_File_Lock. To exercise this program, you can telnet to it
- and type "read" and "inc" to query and change the count of
- the numbers in the file, respectively.
+ * tests/Process_Strategy_Test.cpp: Added an interesting new test
+ that illustrates the use of the ACE_Process_Strategy and the
+ ACE_File_Lock. To exercise this program, you can telnet to it
+ and type "read" and "inc" to query and change the count of
+ the numbers in the file, respectively.
- * ace/Connector.cpp (create_AST): I fixed a couple of things
- in Connector.cpp:
+ * ace/Connector.cpp (create_AST): I fixed a couple of things
+ in Connector.cpp:
- - In create_AST, it needs to save and restore errno, else it
- gets wiped on Win32 and other platforms.
+ - In create_AST, it needs to save and restore errno, else it
+ gets wiped on Win32 and other platforms.
- - On Win32 when a non-blocking connect completes and handle_output is
- called, it tries to get the peer address. If done too quickly, it
- fails. I put in a Sleep(0) call. I think this is not a great
- solution, but I don't have a better one yet.
-
- Thanks to Steve Huston <shuston@riverace.com> for fixing
- these bugs.
+ - On Win32 when a non-blocking connect completes and handle_output is
+ called, it tries to get the peer address. If done too quickly, it
+ fails. I put in a Sleep(0) call. I think this is not a great
+ solution, but I don't have a better one yet.
+
+ Thanks to Steve Huston <shuston@riverace.com> for fixing
+ these bugs.
Tue Apr 15 17:09:33 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/SOCK_Stream.cpp (close): Removed the call to close_writer()
- on UNIX since that doesn't do the correct thing in many
- cases since it causes a protocol transmission which isn't
- what we want if we're using fork().
-
- * ace/Strategies_T.cpp (activate_svc_handler): Added a call to
- svc_handler->destroy() in the parent since we don't need it and
- we're leaking descriptors and memory otherwise... Thanks to
- Kevin Boyle <kboyle@sanwafp.com> for reporting this.
-
- * ace/OS.i (thr_sigsetmask): Replaced the use of
- PTHREADS_1003_DOT_1C with ACE_HAS_PTHREAD_SIGMASK. Thanks to
- Arturo Montes <mitosys@colomsat.net.co> for suggesting this.
-
- * ace: Changed all uses of ACE_HAS_PTHREADS_XAVIER to
- ACE_HAS_PTHREAD_SIGMASK, which is more descriptive. Thanks to
- Arturo Montes <mitosys@colomsat.net.co> for suggesting this.
-
- * ace/config-aix-4.2.x.h: Added #define ACE_LACKS_RWLOCK_T to make
- things compile with AIX 4.2. Thanks to Jeremy Buch
- <davinci@nortel.ca> for reporting this.
-
- * ace/XtReactor.cpp (register_handler_i): Added "[]" to delete
- this->ids_ since it is an array. Thanks to Jean-Marc Strauss
- <strauss@club-internet.fr> for reporting this.
-
- * netsvcs/lib: Moved all the class definitions into the *.h files
- to avoid complaints from the IBM C++ compiler.
-
- * ace/OS.h: Added a #define for WNOHANG since this is missing on
- NT. Thanks to Brian Mendel <bmendel@mdc.com> for reporting
- this.
-
- * examples/Connection/non_blocking/test_sock_connector.cpp: Added
- a typedef for ACE_RW_Mutex so that the code compiles on non-MT
- platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for
- reporting this.
-
- * examples/Connection/non_blocking/test_tli_connector.cpp: Added a
- typedef for ACE_RW_Mutex so that the code compiles on non-MT
- platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for
- reporting this.
-
- * examples/Connection/misc/test_upipe.cpp: Added a typedef for
- ACE_RW_Mutex so that the code compiles on non-MT platforms.
- Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this.
-
- * performance-tests/Synch-Benchmarks/Options.cpp: Added a #ifdef
- for ACE_Thread_Mutex so that the code compiles on non-MT
- platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for
- reporting this.
-
- * examples/ASX/Event_Server/Transceiver/transceiver.cpp: Added a
- typedef for ACE_RW_Mutex so that the code compiles on non-MT
- platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for
- reporting this.
-
- * examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp: Added a
- typedef for ACE_RW_Mutex so that the code compiles on non-MT
- platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for
- reporting this.
-
- * examples/ASX/Event_Server/Event_Server/Options.cpp
- (print_results): Although rusage struct is defined on SCO, there
- is no getrusage(), rusage is used only by wait()
- etc. internally. Therefore, we had to move some #ifdefs around.
- Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this.
-
- * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp: Added a
- typedef for ACE_RW_Mutex so that the code compiles on non-MT
- platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for
- reporting this.
-
- * tests/Conn_Test.cpp: Added a typedef for ACE_RW_Mutex so that
- the code compiles on non-MT platforms. Thanks to Ganesh Pai
- <gpai@voicetek.com> for reporting this.
-
- * tests/SPIPE_Test.cpp (main): Removed the VXWORKS arm of the
- #ifdef, which is not correct since this stuff only works if
- we're working with a version of VxWorks that has STREAM pipes.
-
- * include/makeinclude/platform_sco5.0.0-nothread.GNU: Changed
-
- LIBS = -lsocket -lnsl -ldl
+ * ace/SOCK_Stream.cpp (close): Removed the call to close_writer()
+ on UNIX since that doesn't do the correct thing in many
+ cases since it causes a protocol transmission which isn't
+ what we want if we're using fork().
+
+ * ace/Strategies_T.cpp (activate_svc_handler): Added a call to
+ svc_handler->destroy() in the parent since we don't need it and
+ we're leaking descriptors and memory otherwise... Thanks to
+ Kevin Boyle <kboyle@sanwafp.com> for reporting this.
+
+ * ace/OS.i (thr_sigsetmask): Replaced the use of
+ PTHREADS_1003_DOT_1C with ACE_HAS_PTHREAD_SIGMASK. Thanks to
+ Arturo Montes <mitosys@colomsat.net.co> for suggesting this.
+
+ * ace: Changed all uses of ACE_HAS_PTHREADS_XAVIER to
+ ACE_HAS_PTHREAD_SIGMASK, which is more descriptive. Thanks to
+ Arturo Montes <mitosys@colomsat.net.co> for suggesting this.
+
+ * ace/config-aix-4.2.x.h: Added #define ACE_LACKS_RWLOCK_T to make
+ things compile with AIX 4.2. Thanks to Jeremy Buch
+ <davinci@nortel.ca> for reporting this.
+
+ * ace/XtReactor.cpp (register_handler_i): Added "[]" to delete
+ this->ids_ since it is an array. Thanks to Jean-Marc Strauss
+ <strauss@club-internet.fr> for reporting this.
+
+ * netsvcs/lib: Moved all the class definitions into the *.h files
+ to avoid complaints from the IBM C++ compiler.
+
+ * ace/OS.h: Added a #define for WNOHANG since this is missing on
+ NT. Thanks to Brian Mendel <bmendel@mdc.com> for reporting
+ this.
+
+ * examples/Connection/non_blocking/test_sock_connector.cpp: Added
+ a typedef for ACE_RW_Mutex so that the code compiles on non-MT
+ platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for
+ reporting this.
+
+ * examples/Connection/non_blocking/test_tli_connector.cpp: Added a
+ typedef for ACE_RW_Mutex so that the code compiles on non-MT
+ platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for
+ reporting this.
+
+ * examples/Connection/misc/test_upipe.cpp: Added a typedef for
+ ACE_RW_Mutex so that the code compiles on non-MT platforms.
+ Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this.
+
+ * performance-tests/Synch-Benchmarks/Options.cpp: Added a #ifdef
+ for ACE_Thread_Mutex so that the code compiles on non-MT
+ platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for
+ reporting this.
+
+ * examples/ASX/Event_Server/Transceiver/transceiver.cpp: Added a
+ typedef for ACE_RW_Mutex so that the code compiles on non-MT
+ platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for
+ reporting this.
+
+ * examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp: Added a
+ typedef for ACE_RW_Mutex so that the code compiles on non-MT
+ platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for
+ reporting this.
+
+ * examples/ASX/Event_Server/Event_Server/Options.cpp
+ (print_results): Although rusage struct is defined on SCO, there
+ is no getrusage(), rusage is used only by wait()
+ etc. internally. Therefore, we had to move some #ifdefs around.
+ Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this.
+
+ * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp: Added a
+ typedef for ACE_RW_Mutex so that the code compiles on non-MT
+ platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for
+ reporting this.
+
+ * tests/Conn_Test.cpp: Added a typedef for ACE_RW_Mutex so that
+ the code compiles on non-MT platforms. Thanks to Ganesh Pai
+ <gpai@voicetek.com> for reporting this.
+
+ * tests/SPIPE_Test.cpp (main): Removed the VXWORKS arm of the
+ #ifdef, which is not correct since this stuff only works if
+ we're working with a version of VxWorks that has STREAM pipes.
+
+ * include/makeinclude/platform_sco5.0.0-nothread.GNU: Changed
+
+ LIBS = -lsocket -lnsl -ldl
- to
+ to
- LIBS += -lsocket -lnsl -ldl
+ LIBS += -lsocket -lnsl -ldl
- Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this.
+ Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this.
- * netsvcs/lib/Client_Logging_Handler.cpp: Added a typedef for
- ACE_RW_Mutex so that the code compiles on non-MT platforms.
- Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this.
+ * netsvcs/lib/Client_Logging_Handler.cpp: Added a typedef for
+ ACE_RW_Mutex so that the code compiles on non-MT platforms.
+ Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this.
- * netsvcs/lib/TS_Clerk_Handler.cpp: Added a typedef for
- ACE_RW_Mutex so that the code compiles on non-MT platforms.
- Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this.
+ * netsvcs/lib/TS_Clerk_Handler.cpp: Added a typedef for
+ ACE_RW_Mutex so that the code compiles on non-MT platforms.
+ Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this.
- * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: Added a
- typedef for ACE_RW_Mutex so that the code compiles on non-MT
- platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for
- reporting this.
+ * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: Added a
+ typedef for ACE_RW_Mutex so that the code compiles on non-MT
+ platforms. Thanks to Ganesh Pai <gpai@voicetek.com> for
+ reporting this.
Tue Apr 15 23:16:43 1997 <harrison@samba.cs.wustl.edu>
- * ace/[Hash_]Map_Manager.cpp: The [Hash_]Map_Manager now
- explicitly calls the destructors of Map_Entry objects before
- freeing up the space. Not sure why we were not doing this
- before...
+ * ace/[Hash_]Map_Manager.cpp: The [Hash_]Map_Manager now
+ explicitly calls the destructors of Map_Entry objects before
+ freeing up the space. Not sure why we were not doing this
+ before...
Tue Apr 15 17:09:33 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * examples/Logger: Added MSVC++ makefile to Acceptor-server
- and client.
+ * examples/Logger: Added MSVC++ makefile to Acceptor-server
+ and client.
Tue Apr 15 21:51:45 1997 James C Hu <jxh@polka.cs.wustl.edu>
@@ -4386,1191 +4386,1191 @@ Tue Apr 15 21:51:45 1997 James C Hu <jxh@polka.cs.wustl.edu>
* apps/JAWS/server/HTTP_Server.cpp: Added template instances for
LOCK_SOCK_Acceptor, ACE_Task, ACE_Thru_Task,
- ACE_Message_Queue, ACE_Module so it would link using GCC.
- Removed GCC warnings.
+ ACE_Message_Queue, ACE_Module so it would link using GCC.
+ Removed GCC warnings.
* apps/JAWS/server/HTTP_Server_T.cpp: Removed template
- instance of LOCK_SOCK_Acceptor, since it was not really
- being compiled.
+ instance of LOCK_SOCK_Acceptor, since it was not really
+ being compiled.
* apps/JAWS/server/HTTP_Handler.cpp: Removed GCC warnings.
Tue Apr 15 13:01:13 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Token_Request_Reply.cpp (ctor): added initialization of
- transfer_.data_ to avoid unitialized memory read.
+ * ace/Token_Request_Reply.cpp (ctor): added initialization of
+ transfer_.data_ to avoid unitialized memory read.
- * tests/test_config.h: removed "static" qualifier from
- randomize () to avoid warning from g++ when it's not called
- in a test.
+ * tests/test_config.h: removed "static" qualifier from
+ randomize () to avoid warning from g++ when it's not called
+ in a test.
- * examples/IPC_SAP/SPIPE_SAP/server.cpp (main): moved
- declaration of local variable "handle" up before its first
- use.
+ * examples/IPC_SAP/SPIPE_SAP/server.cpp (main): moved
+ declaration of local variable "handle" up before its first
+ use.
Tue Apr 15 17:09:33 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * examples/Connection/blocking/Makefile: Removed the Makefile
- for this test. This example is only suppose to work on WIN32
- and therefore the Makefile is not necessary. I have replace
- this file with a MSVC++ make file.
+ * examples/Connection/blocking/Makefile: Removed the Makefile
+ for this test. This example is only suppose to work on WIN32
+ and therefore the Makefile is not necessary. I have replace
+ this file with a MSVC++ make file.
Mon Apr 14 23:08:27 1997 <irfan@TWOSTEP>
- * INSTALL: Updated install files for Win32.
+ * INSTALL: Updated install files for Win32.
- * ace/SPIPE_Stream: Changed the use of ACE::send_n to ACE::write_n
- and ACE::recv_n to ACE::read_n.
+ * ace/SPIPE_Stream: Changed the use of ACE::send_n to ACE::write_n
+ and ACE::recv_n to ACE::read_n.
- * ace/OS.h (WNOHANG): Added WNOHANG to OS.h for Win32.
+ * ace/OS.h (WNOHANG): Added WNOHANG to OS.h for Win32.
- * ace/OS.i (getpgid): Fixed extra return.
+ * ace/OS.i (getpgid): Fixed extra return.
- * examples/Connection/blocking/SPIPE-acceptor: Updated the code to
- use the new Proactor and the new asynchronous IO.
+ * examples/Connection/blocking/SPIPE-acceptor: Updated the code to
+ use the new Proactor and the new asynchronous IO.
Mon Apr 14 21:32:24 1997 David L. Levine <levine@cs.wustl.edu>
- * examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp (handle_client):
- ACE_OS::sprintf instead of sprintf.
+ * examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp (handle_client):
+ ACE_OS::sprintf instead of sprintf.
- * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp
- (svc): declare "t" as time_t instead of long.
+ * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp
+ (svc): declare "t" as time_t instead of long.
- Thanks to Thilo Kielmann <kielmann@informatik.uni-siegen.de> for
- reporting both of these.
+ Thanks to Thilo Kielmann <kielmann@informatik.uni-siegen.de> for
+ reporting both of these.
Mon Apr 14 00:02:39 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/OS.i (getpgid): Removed the extraneous return in front of
- ACE_NOTSUP_RETURN. Thanks to Mike Bernat <sagmb@sagus.com> for
- reporting this.
+ * ace/OS.i (getpgid): Removed the extraneous return in front of
+ ACE_NOTSUP_RETURN. Thanks to Mike Bernat <sagmb@sagus.com> for
+ reporting this.
- * ace/Process.cpp: Replaced the use of ACE_OS::fork(void) with
- ACE_OS::fork(const char *) so that we can pass in the name of
- the process we're exec'ing.
+ * ace/Process.cpp: Replaced the use of ACE_OS::fork(void) with
+ ACE_OS::fork(const char *) so that we can pass in the name of
+ the process we're exec'ing.
- * examples/Threads/process_manager.cpp: Added a test program that
- exercises the features of the new ACE_Process_Manager.
+ * examples/Threads/process_manager.cpp: Added a test program that
+ exercises the features of the new ACE_Process_Manager.
- * ace/Process_Manager: Finished a rudimentary implementation of
- ACE_Process_Manager. There's still plenty of work to be done on
- this, however...
+ * ace/Process_Manager: Finished a rudimentary implementation of
+ ACE_Process_Manager. There's still plenty of work to be done on
+ this, however...
- * ace/Thread_Manager.cpp (dump): Added dump() methods for
- ACE_Thread_Descriptor and ACE_Thread_Manager.
+ * ace/Thread_Manager.cpp (dump): Added dump() methods for
+ ACE_Thread_Descriptor and ACE_Thread_Manager.
Sun Apr 13 11:40:26 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/OS: Added a getpgid() call to ACE_OS.
-
- * ace/Thread_Manager: Changed the 'int n' of spawn_n() to size_t n
- since this is more appropriate because we can't spawn a negative
- number of threads...
-
- * ace/Thread_Manager.cpp (close): Make sure to lock the calls to
- close() in case things get amiss.
-
- * ace/Process.cpp (start): Updated ACE_Process::start() to that it
- doesn't try to exec() a program if argv == 0. This allows us to
- use ACE_Process to fork() a process without exec'ing.
-
- * tests/Timer_Queue_Test.cpp (randomize_array): Added a new
- "randomization" test that determines the performance of randomly
- canceling items in the array. Thanks to Darrell Brunsch
- <brunsch@cs.wustl.edu> for this enhancement.
-
- * tests/test_config.h: Moved the randomize() function from
- Naming_Test.cpp to test_config.h so that we can use it in other
- tests (e.g., the new Timer_Queue_Test.cpp that Darrell is
- working on).
-
- * ace/OS: Added a new #define called ACE_HAS_NONCONST_MSGSND which
- can be used for platforms (e.g., SCO) that don't have a const
- parameter for msgsend(). Thanks to Arturo Montes
- <mitosys@colomsat.net.co> for reporting this.
-
- * ace/config-sco-5.0.0-mit-pthread.h: Added some fixes to make
- this work on SCO. Thanks to Arturo Montes
- <mitosys@colomsat.net.co> for reporting this.
-
- * ace/OS.i (cond_timedwait): There is a *small* chance for a
- context switch before ACE_OS::cond_timedwait() is reached. In
- this case, the current time *may* advance by some milliseconds.
- The code in ACE_OS::cond_timedwait() then converts the given
- absolute time to a relative time. In the described situation
- this will be a very, very long t ime (0xfffffffn). Therefore, I
- added a check to avoid the "negative timespan" case. Thanks to
- Matthias Kerkhoff <make@cs.tu-berlin.de> for suggesting this.
-
- * ace/Set: Moved all the size() methods out of the *.i file and
- into the *.cpp file to avoid problems with quirky compilers
- (e.g., SGI) that can't handle this. Thanks to Torbjorn Lindgren
- <tl@funcom.no> for pointing this out.
-
- * examples/Threads/process_semaphore.cpp (main): Removed a stray
- ^M that was causing the SGI C++ compiler some grief. Thanks to
- Torbjorn Lindgren <tl@funcom.no> for pointing this out.
-
- * ace/OS.i (gettimeofday): Rearranged the code a bit to return
- errors correctly if they occur (which should be *very*
- unlikely). Thanks to Torbjorn Lindgren <tl@funcom.no> for
- pointing this out.
-
- * netsvcs/lib/Server_Logging_Handler.cpp: Replaced the use of
- ACE_TLI* with LOGGING_PEER*. Thanks to Tom Wright
- <twright@gem-net.demon.co.uk> for reporting this.
-
- * ace/Connector.cpp: Made sure to initialize all of the instance
- variables for the ACE_Strategy_Connector and ACE_Connector.
- Thanks to David Levine for pointing this out.
-
- * ace/Synch.h: Changed protected: to private: so that we can
- ensure that we never copy classes like ACE_File_Lock, etc.
- Thanks to Berni Merkle <merkle@io.freinet.de> for reporting
- this.
-
- * examples/Shared_Malloc/test_malloc.cpp (malloc_recurse): Added
- the print_stats() call back into the test since Sandro's fixes
- should now support this.
-
- * ace/Malloc[_T]: Added patches to enable ACE_Allocator's to print
- malloc statistics. Thanks to Sandro Doro
- <alex@aureus.sublink.org> for these fixes.
+ * ace/OS: Added a getpgid() call to ACE_OS.
+
+ * ace/Thread_Manager: Changed the 'int n' of spawn_n() to size_t n
+ since this is more appropriate because we can't spawn a negative
+ number of threads...
+
+ * ace/Thread_Manager.cpp (close): Make sure to lock the calls to
+ close() in case things get amiss.
+
+ * ace/Process.cpp (start): Updated ACE_Process::start() to that it
+ doesn't try to exec() a program if argv == 0. This allows us to
+ use ACE_Process to fork() a process without exec'ing.
+
+ * tests/Timer_Queue_Test.cpp (randomize_array): Added a new
+ "randomization" test that determines the performance of randomly
+ canceling items in the array. Thanks to Darrell Brunsch
+ <brunsch@cs.wustl.edu> for this enhancement.
+
+ * tests/test_config.h: Moved the randomize() function from
+ Naming_Test.cpp to test_config.h so that we can use it in other
+ tests (e.g., the new Timer_Queue_Test.cpp that Darrell is
+ working on).
+
+ * ace/OS: Added a new #define called ACE_HAS_NONCONST_MSGSND which
+ can be used for platforms (e.g., SCO) that don't have a const
+ parameter for msgsend(). Thanks to Arturo Montes
+ <mitosys@colomsat.net.co> for reporting this.
+
+ * ace/config-sco-5.0.0-mit-pthread.h: Added some fixes to make
+ this work on SCO. Thanks to Arturo Montes
+ <mitosys@colomsat.net.co> for reporting this.
+
+ * ace/OS.i (cond_timedwait): There is a *small* chance for a
+ context switch before ACE_OS::cond_timedwait() is reached. In
+ this case, the current time *may* advance by some milliseconds.
+ The code in ACE_OS::cond_timedwait() then converts the given
+ absolute time to a relative time. In the described situation
+ this will be a very, very long t ime (0xfffffffn). Therefore, I
+ added a check to avoid the "negative timespan" case. Thanks to
+ Matthias Kerkhoff <make@cs.tu-berlin.de> for suggesting this.
+
+ * ace/Set: Moved all the size() methods out of the *.i file and
+ into the *.cpp file to avoid problems with quirky compilers
+ (e.g., SGI) that can't handle this. Thanks to Torbjorn Lindgren
+ <tl@funcom.no> for pointing this out.
+
+ * examples/Threads/process_semaphore.cpp (main): Removed a stray
+ ^M that was causing the SGI C++ compiler some grief. Thanks to
+ Torbjorn Lindgren <tl@funcom.no> for pointing this out.
+
+ * ace/OS.i (gettimeofday): Rearranged the code a bit to return
+ errors correctly if they occur (which should be *very*
+ unlikely). Thanks to Torbjorn Lindgren <tl@funcom.no> for
+ pointing this out.
+
+ * netsvcs/lib/Server_Logging_Handler.cpp: Replaced the use of
+ ACE_TLI* with LOGGING_PEER*. Thanks to Tom Wright
+ <twright@gem-net.demon.co.uk> for reporting this.
+
+ * ace/Connector.cpp: Made sure to initialize all of the instance
+ variables for the ACE_Strategy_Connector and ACE_Connector.
+ Thanks to David Levine for pointing this out.
+
+ * ace/Synch.h: Changed protected: to private: so that we can
+ ensure that we never copy classes like ACE_File_Lock, etc.
+ Thanks to Berni Merkle <merkle@io.freinet.de> for reporting
+ this.
+
+ * examples/Shared_Malloc/test_malloc.cpp (malloc_recurse): Added
+ the print_stats() call back into the test since Sandro's fixes
+ should now support this.
+
+ * ace/Malloc[_T]: Added patches to enable ACE_Allocator's to print
+ malloc statistics. Thanks to Sandro Doro
+ <alex@aureus.sublink.org> for these fixes.
Sat Apr 12 20:42:11 1997 David L. Levine <levine@cs.wustl.edu>
- * tests/Priority_Task_Test.cpp (open): only use THR_SCHED_FIFO
- if it is defined. (It isn't on Solaris without PTHREADS.)
+ * tests/Priority_Task_Test.cpp (open): only use THR_SCHED_FIFO
+ if it is defined. (It isn't on Solaris without PTHREADS.)
- * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp
- (make_svc_handler): added return statement.
+ * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp
+ (make_svc_handler): added return statement.
Sat Apr 12 11:53:49 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * examples/ASX/Event_Server/Transceiver/transceiver.cpp (main):
- The first argument to connect () is now a SVC_HANDLER *&.
- Therefore, we can no longer allows us to pass the address of a
- SVC_HANDLER on the stack (or in the data segment).
- Fortunately, the fix is easy, as shown below:
+ * examples/ASX/Event_Server/Transceiver/transceiver.cpp (main):
+ The first argument to connect () is now a SVC_HANDLER *&.
+ Therefore, we can no longer allows us to pass the address of a
+ SVC_HANDLER on the stack (or in the data segment).
+ Fortunately, the fix is easy, as shown below:
- Event_Transceiver transceiver, *tp = &transceiver;
+ Event_Transceiver transceiver, *tp = &transceiver;
- connector.connect (tp, ACE_INET_Addr (port_number, host_name));
+ connector.connect (tp, ACE_INET_Addr (port_number, host_name));
- Thanks to David Levine for reporting this problem.
+ Thanks to David Levine for reporting this problem.
Fri Apr 11 15:14:59 1997 David L. Levine <levine@cs.wustl.edu>
- * tests/Conn_Test.cpp: moved declaration of "result" out of
- loop because it's used after the loop. Thanks to
- Thilo Kielmann <kielmann@informatik.uni-siegen.de> for
- reporting this. Also, removed a few unnecessary template
- specializations.
+ * tests/Conn_Test.cpp: moved declaration of "result" out of
+ loop because it's used after the loop. Thanks to
+ Thilo Kielmann <kielmann@informatik.uni-siegen.de> for
+ reporting this. Also, removed a few unnecessary template
+ specializations.
- * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp: fixed template
- specializations for no-thread platforms. Thanks to Ganesh Pai
- <gpai@voicetek.com> for reporting this.
+ * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp: fixed template
+ specializations for no-thread platforms. Thanks to Ganesh Pai
+ <gpai@voicetek.com> for reporting this.
- * performance-tests/Misc/context_switch_time.cpp (main):
- removed call to ACE_High_Res_Timer::supported ().
+ * performance-tests/Misc/context_switch_time.cpp (main):
+ removed call to ACE_High_Res_Timer::supported ().
Fri Apr 11 14:31:42 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * tests/Conn_Test.cpp: Added several explicit template
- instantiations.
+ * tests/Conn_Test.cpp: Added several explicit template
+ instantiations.
Fri Apr 11 13:49:04 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.h: VxWorks changes only: added taskHookLib.h. Thanks
- to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for reporting
- that. Also rearranged the VxWorks #includes and such a bit.
+ * ace/OS.h: VxWorks changes only: added taskHookLib.h. Thanks
+ to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for reporting
+ that. Also rearranged the VxWorks #includes and such a bit.
- * ace/Log_Msg.cpp (atexit): VxWorks changes only: added cast
- of spare1 to ACE_Log_Msg *. Thanks to Dave Mayerhoefer
- <mayerhoefer@svappl36.mdc.com> for reporting that. Also,
- in exists () and instance (), replaced double indirection
- of the ACE_Log_Msg instance with indirection through a pointer
- reference.
+ * ace/Log_Msg.cpp (atexit): VxWorks changes only: added cast
+ of spare1 to ACE_Log_Msg *. Thanks to Dave Mayerhoefer
+ <mayerhoefer@svappl36.mdc.com> for reporting that. Also,
+ in exists () and instance (), replaced double indirection
+ of the ACE_Log_Msg instance with indirection through a pointer
+ reference.
- * ace/High_Res_Timer.{h,i}: removed supported () because
- ACE_OS::gettimeofday () is used if a high-res timer isn't available.
+ * ace/High_Res_Timer.{h,i}: removed supported () because
+ ACE_OS::gettimeofday () is used if a high-res timer isn't available.
- * ace/OS.i (thr_sigsetmask),config-sunos5.4-*.h: swapped order of
- #ifdefs to that ACE_LACKS_PTHREAD_THR_SIGSETMASK is checked before
- ACE_HAS_STHREADS. Added that #define to all SunOS 5.4 configs.
- Thanks to Joey Zhu <joey.zhu@wcom.com> for reporting this.
+ * ace/OS.i (thr_sigsetmask),config-sunos5.4-*.h: swapped order of
+ #ifdefs to that ACE_LACKS_PTHREAD_THR_SIGSETMASK is checked before
+ ACE_HAS_STHREADS. Added that #define to all SunOS 5.4 configs.
+ Thanks to Joey Zhu <joey.zhu@wcom.com> for reporting this.
- * ace/Token_Request_Reply.cpp (ctor): added a initializations to 0
- of requeue_position_, notify_, and arg_. With this change, all
- of the ACE tests run without any Purify access anomalies!
- (There are still some memory leaks, though.)
+ * ace/Token_Request_Reply.cpp (ctor): added a initializations to 0
+ of requeue_position_, notify_, and arg_. With this change, all
+ of the ACE tests run without any Purify access anomalies!
+ (There are still some memory leaks, though.)
- * include/makeinclude/rules.local.GNU: added -DMAKEDEPEND to
- invocation of g++dep. This allows users to get proper
- dependencies if they have conditional #includes in their code.
- They can added #if defined (MAKEDEPEND) as necessary to make
- sure that all headers are seen by g++dep.
+ * include/makeinclude/rules.local.GNU: added -DMAKEDEPEND to
+ invocation of g++dep. This allows users to get proper
+ dependencies if they have conditional #includes in their code.
+ They can added #if defined (MAKEDEPEND) as necessary to make
+ sure that all headers are seen by g++dep.
Fri Apr 11 10:46:56 1997 Chris Cleeland <cleeland@cs.wustl.edu>
-
- * config-linux*.h: Added ACE_HAS_IP_MULTICAST as the default for
- all Linux configurations. If you're a 1.x user, or you didn't
- config that into your 2.x kernel, you'll have to remove this from
- your version of the file.
+
+ * config-linux*.h: Added ACE_HAS_IP_MULTICAST as the default for
+ all Linux configurations. If you're a 1.x user, or you didn't
+ config that into your 2.x kernel, you'll have to remove this from
+ your version of the file.
Thu Apr 10 00:34:10 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * examples/Logger/simple-server/Logging_Acceptor.cpp
- (handle_input): We need to call svc_handler->close() if accept()
- or open() fails. Thanks to Ganesh Pai <gpai@voicetek.com> for
- reporting this.
+ * examples/Logger/simple-server/Logging_Acceptor.cpp
+ (handle_input): We need to call svc_handler->close() if accept()
+ or open() fails. Thanks to Ganesh Pai <gpai@voicetek.com> for
+ reporting this.
- * ace/Service_Config.cpp (close): Moved the call to
- ACE_Service_Config::close_singletons() to outside the check for
- ACE_Service_Config::svc_rep_ since the Singletons can be used
- independently of the services. Thanks to Matthias Kerkhoff
- <make@cs.tu-berlin.de> for suggesting this.
+ * ace/Service_Config.cpp (close): Moved the call to
+ ACE_Service_Config::close_singletons() to outside the check for
+ ACE_Service_Config::svc_rep_ since the Singletons can be used
+ independently of the services. Thanks to Matthias Kerkhoff
+ <make@cs.tu-berlin.de> for suggesting this.
Wed Apr 9 21:11:38 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * apps/Gateway/Gateway/Gateway.cpp (handle_signal): Evil demons
- added bugs to my code that were causing segfaults when signals
- shutdown the gateway. This is now fixed.
+ * apps/Gateway/Gateway/Gateway.cpp (handle_signal): Evil demons
+ added bugs to my code that were causing segfaults when signals
+ shutdown the gateway. This is now fixed.
- * apps/Gateway/Gateway/Proxy_Handler.h: Changed ACE_Event_Channel
- & to ACE_Event_Channel * to keep the compiler happy.
+ * apps/Gateway/Gateway/Proxy_Handler.h: Changed ACE_Event_Channel
+ & to ACE_Event_Channel * to keep the compiler happy.
- * examples/Connection/non_blocking/CPP-connector.h: Added a
- do-nothing default constructor to keep ACE_Connector happy.
+ * examples/Connection/non_blocking/CPP-connector.h: Added a
+ do-nothing default constructor to keep ACE_Connector happy.
- * examples/Connection/misc/test_upipe.cpp: Added a do-nothing
- default constructor to keep ACE_Connector happy.
+ * examples/Connection/misc/test_upipe.cpp: Added a do-nothing
+ default constructor to keep ACE_Connector happy.
- * examples/Connection/blocking/SPIPE-connector.h: Added a
- do-nothing default constructor to keep ACE_Connector happy.
+ * examples/Connection/blocking/SPIPE-connector.h: Added a
+ do-nothing default constructor to keep ACE_Connector happy.
- * apps/Gateway/Gateway/Proxy_Handler: Added a do-nothing default
- constructor to keep ACE_Connector happy.
+ * apps/Gateway/Gateway/Proxy_Handler: Added a do-nothing default
+ constructor to keep ACE_Connector happy.
- * netsvcs/lib: Added some default arguments to
- TS_Clerk_Handler.cpp and Client_Logger_Handler.cpp to keep the
- compiler from complaining about the new ACE_Connector features.
- Thanks to David Levine for reporting this.
+ * netsvcs/lib: Added some default arguments to
+ TS_Clerk_Handler.cpp and Client_Logger_Handler.cpp to keep the
+ compiler from complaining about the new ACE_Connector features.
+ Thanks to David Levine for reporting this.
- * ace/Timer_Heap.cpp (reheap_down): Fixed a *very* subtle bug in
- reheap_down() where parent was starting off at 0 whereas it
- should have been starting off at child_index / 2.
+ * ace/Timer_Heap.cpp (reheap_down): Fixed a *very* subtle bug in
+ reheap_down() where parent was starting off at 0 whereas it
+ should have been starting off at child_index / 2.
- * examples/Logger/simple-server/Logging_Handler: Removed the use
- of the operator ACE_SOCK_Stream &() and replaced it with the
- more intuitive peer() approach used in ACE_Svc_Handler et al.
- Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this.
+ * examples/Logger/simple-server/Logging_Handler: Removed the use
+ of the operator ACE_SOCK_Stream &() and replaced it with the
+ more intuitive peer() approach used in ACE_Svc_Handler et al.
+ Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this.
- * ace: Added a bunch of changes to improve ACE support on SCO 5.0.
- Thanks to Ganesh Pai <gpai@voicetek.com> for these fixes.
+ * ace: Added a bunch of changes to improve ACE support on SCO 5.0.
+ Thanks to Ganesh Pai <gpai@voicetek.com> for these fixes.
- * tests/Conn_Test.cpp: Completely reworked this test so that it
- illustrates how to use the ACE_Strategy_Connector, which is
- customized with a special Caching_Connect_Strategy that recycles
- connections.
+ * tests/Conn_Test.cpp: Completely reworked this test so that it
+ illustrates how to use the ACE_Strategy_Connector, which is
+ customized with a special Caching_Connect_Strategy that recycles
+ connections.
- * ace/Connector: Finished implementing the new
- ACE_Strategy_Connector. This is similar in design to the
- ACE_Strategy_Acceptor.
+ * ace/Connector: Finished implementing the new
+ ACE_Strategy_Connector. This is similar in design to the
+ ACE_Strategy_Acceptor.
- * ace: Changed the signature of all the make_svc_handler() methods
- so that they return int (rather than SVC_HANDLER *) and they
- pass back a SVC_HANDLER * by reference. This makes it possible
- to totally control the creation of svc handlers (which is useful
- for the new ACE_Strategy_Connector).
+ * ace: Changed the signature of all the make_svc_handler() methods
+ so that they return int (rather than SVC_HANDLER *) and they
+ pass back a SVC_HANDLER * by reference. This makes it possible
+ to totally control the creation of svc handlers (which is useful
+ for the new ACE_Strategy_Connector).
- * ace/Connector.cpp: Factored out the active_svc_handler() call
- from the connect_svc_handler() method into the connect() method
- so that it would behave correctly as a Template Method and
- Strategy.
+ * ace/Connector.cpp: Factored out the active_svc_handler() call
+ from the connect_svc_handler() method into the connect() method
+ so that it would behave correctly as a Template Method and
+ Strategy.
- * ace/Connector: Removed the explicit use of the Reactor data
- member from the ACE_Connector since it's inherited from the
- ACE_Service_Object.
+ * ace/Connector: Removed the explicit use of the Reactor data
+ member from the ACE_Connector since it's inherited from the
+ ACE_Service_Object.
- * ace/Log_Msg.cpp: The MVS compiler doesn't like the call to
- atexit() in ACE_Log_Msg::instance() because atexit() requires an
- a function pointer of type extern "C" for its parameter. I've
- fixed this via an adapter. Thanks to Chuck Gehr
- <gehr@sweng.stortek.com> for reporting this.
+ * ace/Log_Msg.cpp: The MVS compiler doesn't like the call to
+ atexit() in ACE_Log_Msg::instance() because atexit() requires an
+ a function pointer of type extern "C" for its parameter. I've
+ fixed this via an adapter. Thanks to Chuck Gehr
+ <gehr@sweng.stortek.com> for reporting this.
- * ace/Strategies_T: Added a new ACE_Connect_Strategy that
- complements the ACE_Strategy_Connector in the same manner that
- the ACE_Accept_Strategy complements the ACE_Strategy_Acceptor.
+ * ace/Strategies_T: Added a new ACE_Connect_Strategy that
+ complements the ACE_Strategy_Connector in the same manner that
+ the ACE_Accept_Strategy complements the ACE_Strategy_Acceptor.
- * ace/Connector.h: The destructor for ACE_Connector should have
- been virtual. Now it is.
+ * ace/Connector.h: The destructor for ACE_Connector should have
+ been virtual. Now it is.
- * ace/Connector: Added a new factory method called
- make_svc_handler(). This behaves similiarly to the
- ACE_Acceptor::make_svc_handler(). However, for the
- ACE_Connector we only use this when the SVC_HANDLER * is NULL.
+ * ace/Connector: Added a new factory method called
+ make_svc_handler(). This behaves similiarly to the
+ ACE_Acceptor::make_svc_handler(). However, for the
+ ACE_Connector we only use this when the SVC_HANDLER * is NULL.
- * ace/Connector: Changed the signature for connect() to take a &
- to a SVC_HANDLER * in anticipation of our new
- ACE_Strategy_Connector. This new connector will make it easy to
- implement cached connections.
+ * ace/Connector: Changed the signature for connect() to take a &
+ to a SVC_HANDLER * in anticipation of our new
+ ACE_Strategy_Connector. This new connector will make it easy to
+ implement cached connections.
- * ace/config-win32-common.h: Added a new #include for <mswsock.h>,
- which contains the declarations for TransmitFile() data
- structures. They are in WINSOCK.H if you do not use
- ACE_HAS_WINSOCK2. Thanks to Norbert Rapp
- <norbert.rapp@nexus-informatics.de> for reporting this.
+ * ace/config-win32-common.h: Added a new #include for <mswsock.h>,
+ which contains the declarations for TransmitFile() data
+ structures. They are in WINSOCK.H if you do not use
+ ACE_HAS_WINSOCK2. Thanks to Norbert Rapp
+ <norbert.rapp@nexus-informatics.de> for reporting this.
- * ace/OS.i: Fixed a typo in the new condition variable
- implementation for Win32. Thanks to Norbert Rapp
- <norbert.rapp@nexus-informatics.de> for reporting this.
+ * ace/OS.i: Fixed a typo in the new condition variable
+ implementation for Win32. Thanks to Norbert Rapp
+ <norbert.rapp@nexus-informatics.de> for reporting this.
Wed Apr 09 22:06:23 1997 <harrison@samba.cs.wustl.edu>
- * Memory_Pool.h: Modified ACE_MMAP_Memory_Pool and
- ACE_MMAP_Memory_Pool_Options to include the new guess_on_fault
- option. This is only for platforms that can not report which
- address caused a segmentation fault (via signal or exception).
- When guess_on_fault is set (via ACE_MMAP_Memory_Pool_Options),
- ACE_MMAP_Memory_Pool::handle_signal calls
- ACE_MMAP_Memory_Pool::remap "guessing" that the segmentation
- fault was caused by an access to memory not yet mapped.
+ * Memory_Pool.h: Modified ACE_MMAP_Memory_Pool and
+ ACE_MMAP_Memory_Pool_Options to include the new guess_on_fault
+ option. This is only for platforms that can not report which
+ address caused a segmentation fault (via signal or exception).
+ When guess_on_fault is set (via ACE_MMAP_Memory_Pool_Options),
+ ACE_MMAP_Memory_Pool::handle_signal calls
+ ACE_MMAP_Memory_Pool::remap "guessing" that the segmentation
+ fault was caused by an access to memory not yet mapped.
Wed Apr 09 16:46:16 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.{h,i}: fixed readPPCTimeBase declaration and return
- value (for now: it really needs to return a 64 bit quantity).
- Thanks to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for
- reporting these.
+ * ace/OS.{h,i}: fixed readPPCTimeBase declaration and return
+ value (for now: it really needs to return a 64 bit quantity).
+ Thanks to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for
+ reporting these.
Wed Apr 9 03:12:24 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/config-win32-common.h: Defining _WIN32_WINNT as 0x0400
- implies ACE_HAS_WINSOCK2.
-
- * ace/Asynch_IO: The implementation of ACE_Asynch_Transmit_File
- and ACE_Asynch_Accept are only supported if ACE_HAS_WINSOCK2 is
- defined or you are on WinNT 4.0 or higher. Therefore, added
- appropriate #defines. Thanks to Matthias Kerkhoff
- <make@cs.tu-berlin.de> for suggesting this.
+ * ace/config-win32-common.h: Defining _WIN32_WINNT as 0x0400
+ implies ACE_HAS_WINSOCK2.
+
+ * ace/Asynch_IO: The implementation of ACE_Asynch_Transmit_File
+ and ACE_Asynch_Accept are only supported if ACE_HAS_WINSOCK2 is
+ defined or you are on WinNT 4.0 or higher. Therefore, added
+ appropriate #defines. Thanks to Matthias Kerkhoff
+ <make@cs.tu-berlin.de> for suggesting this.
Tue Apr 8 22:45:28 1997 Prashant Jain <pjain@merengue.cs.wustl.edu>
- * java/src/SOCKStream.java (SOCKStream): Made two small changes to
- the two send(). Instead of doing a println, I now do a
- print. This was really a bug!
+ * java/src/SOCKStream.java (SOCKStream): Made two small changes to
+ the two send(). Instead of doing a println, I now do a
+ print. This was really a bug!
Tue Apr 08 22:08:12 1997 David L. Levine <levine@cs.wustl.edu>
- * include/makeinclude/platform_sunos5_sunc++_4.1.GNU: removed
- "rm -f $@" from AR command so that archive won't be removed
- during incremental updates. Thanks to Chuck Gehr
- <gehr@sweng.stortek.com> for reporting this.
+ * include/makeinclude/platform_sunos5_sunc++_4.1.GNU: removed
+ "rm -f $@" from AR command so that archive won't be removed
+ during incremental updates. Thanks to Chuck Gehr
+ <gehr@sweng.stortek.com> for reporting this.
Tue Apr 8 00:04:22 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/Task_T.cpp: Added a hack to work around the new weird HP/UX
- aCC template semantics. Thanks to Neil B. Cohen
- <nbc@metsci.com> for reporting this.
+ * ace/Task_T.cpp: Added a hack to work around the new weird HP/UX
+ aCC template semantics. Thanks to Neil B. Cohen
+ <nbc@metsci.com> for reporting this.
- * ace/config-hpux-10.x[-g++].h: Added #define
- ACE_HAS_CLOCK_GETTIME. Thanks to Neil B. Cohen <nbc@metsci.com>
- for reporting this.
+ * ace/config-hpux-10.x[-g++].h: Added #define
+ ACE_HAS_CLOCK_GETTIME. Thanks to Neil B. Cohen <nbc@metsci.com>
+ for reporting this.
- * ace/config-hpux-10.x[-g++].h: Added ACE_HAS_IP_MULTICAST and removed
- ACE_LACKS_STRRECVFD. Thanks to Neil B. Cohen <nbc@metsci.com>
- for reporting this.
+ * ace/config-hpux-10.x[-g++].h: Added ACE_HAS_IP_MULTICAST and removed
+ ACE_LACKS_STRRECVFD. Thanks to Neil B. Cohen <nbc@metsci.com>
+ for reporting this.
- * ace/config-hpux-10.x.h: Apparently some HP/UX 10.x C++ compilers
- don't support volatile, so I #defined it away as a macro.
- Thanks to Neil B. Cohen <nbc@metsci.com> for reporting this.
+ * ace/config-hpux-10.x.h: Apparently some HP/UX 10.x C++ compilers
+ don't support volatile, so I #defined it away as a macro.
+ Thanks to Neil B. Cohen <nbc@metsci.com> for reporting this.
- * ace/Log_Msg.cpp: Put a #if defined (ACE_MT_SAFE) around the
- entire Log_Msg destructor. Thanks to Neil B. Cohen
- <nbc@metsci.com> for reporting this.
+ * ace/Log_Msg.cpp: Put a #if defined (ACE_MT_SAFE) around the
+ entire Log_Msg destructor. Thanks to Neil B. Cohen
+ <nbc@metsci.com> for reporting this.
- * ace/config-hpux-10.x[-g++].h: Added #define ACE_HAS_STREAMS on
- the recommendation of Neil B. Cohen <nbc@metsci.com>.
+ * ace/config-hpux-10.x[-g++].h: Added #define ACE_HAS_STREAMS on
+ the recommendation of Neil B. Cohen <nbc@metsci.com>.
Mon Apr 07 12:08:21 1997 <harrison@samba.cs.wustl.edu>
- * ace/Set.cpp: For some reason, VC++ 5.0 doesn't like to have the
- constructors X::X(X&) and X::X(X*). We can change the X::X(X*)
- constructor to take in an extra argument with a default value.
- This seems to have sufficiently satisfied the VC++ 5.0 for the
- time being. There were no changes necessary to other Set.cpp
- code (as the extra argument has a default value).
+ * ace/Set.cpp: For some reason, VC++ 5.0 doesn't like to have the
+ constructors X::X(X&) and X::X(X*). We can change the X::X(X*)
+ constructor to take in an extra argument with a default value.
+ This seems to have sufficiently satisfied the VC++ 5.0 for the
+ time being. There were no changes necessary to other Set.cpp
+ code (as the extra argument has a default value).
Mon Apr 07 08:05:03 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config-win32.h: enabled ACE_HAS_UNICODE by default.
- Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for
- suggesting this.
+ * ace/config-win32.h: enabled ACE_HAS_UNICODE by default.
+ Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for
+ suggesting this.
- * ace/config-sunos5.4-g++.h: enabled ACE_HAS_BROKEN_RANDR and
- disabled ACE_HAS_SVR4_SIGNAL_T. Thanks to Joey Zhu
- <joey.zhu@wcom.com> for reporting these problems and testing
- the fix.
+ * ace/config-sunos5.4-g++.h: enabled ACE_HAS_BROKEN_RANDR and
+ disabled ACE_HAS_SVR4_SIGNAL_T. Thanks to Joey Zhu
+ <joey.zhu@wcom.com> for reporting these problems and testing
+ the fix.
- * ace/Proactor.h (ACE_Proactor): commented out unused arguments
- in non-WIN32 version.
+ * ace/Proactor.h (ACE_Proactor): commented out unused arguments
+ in non-WIN32 version.
Sun Apr 06 22:51:02 1997 <irfan@TWOSTEP>
- * ace/Proactor: Complete rewrite of Proactor that pushes all the
- differences in asynchronous I/O to the edges of the framework -
- i.e., into the new Asynch_IO classes. This allows the Proactor
- to easily support new asynchronous operations.
-
- Currently, the new Proactor supports minimal functionality. In
- the future, we will complete this.
-
- The Proactor is used in conjunction with the new Asynch_IO
- classes. There is a different class for each operation. Please
- see Asynch_IO.h for details.
-
- There is also a new ACE_Asynch_Acceptor that uses AcceptEx.
-
- Example is in:
- ACE_wrappers/examples/Reactor/Proactor/test_proactor.cpp.
-
- This example illustrates how the ACE_Proactor can be used to
- implement an application that does various asynchronous
- operations.
-
- * apps/JAWS/server: Complete rewrite of JAWS. The new JAWS has
- support for Asynch-Thread-Pool (on WIN32), Synch-Thread-Pool,
- and Thread-per-Request. Different models can be configured using
- the svc.conf file. The server now supports both GET and PUT
- commands.
-
- The HTTP_Handler class is a state based implementation of the
- HTTP protocol. Therefore, it can be used synchronously and
- asynchronously. It uses an abstract IO class to move between
- different HTTP protocol states. It is up to the IO class to
- decide on synchronous or asynchronous I/O.
-
- * apps/JAWS/client: This is an example of the implementation of
- BlobStreaming in ACE. This version of BlobStreaming uses HTTP as
- a transport protocol.
-
- Blobby :-) is a simple application written using the ACE_Blob
- class, which is capable of doing both file uploads and
- downloads. If a file is downloaded, the downloaded data is sent
- to standard output, so that it can be piped as necessary.
-
- * ace/Mem_Map.cpp (map_it): This method now uses ACE_OS::pwrite
- (if ACE_HAD_P_READ_WRITE is defined) instead of
- ACE_OS::lseek/ACE_OS::write to write the end-of-file byte. The
- old scheme does not work if the file is in OVERLAPPED mode.
-
- * ace/OS: Added pread and pwrite to the OS class (if
- ACE_HAD_P_READ_WRITE is defined). On Win32, these functions use
- the OVERLAPPED structure to specify the offset. This
- implementation will block until the write/read completes (even
- if the file is in OVERLAPPED mode).
-
- * ace/config: Added ACE_HAS_P_READ_WRITE to the following
- platforms that support pread() and pwrite() calls:
- config-sunos4-g++.h
- config-sunos4-lucid3.2.h
- config-sunos4-sun3.x.h
- config-sunos4-sun4.1.4.h
- config-sunos4-sun4.x-orbix.h
- config-sunos4-sun4.x.h
- config-sunos5.4-centerline-2.x.h
- config-sunos5.4-g++.h
- config-sunos5.4-sunc++-4.x-orbix.h
- config-sunos5.4-sunc++-4.x.h
- config-sunos5.5-g++.h
- config-sunos5.5-sunc++-4.1.h
- config-sunos5.5-sunc++-4.x-orbix.h
- config-sunos5.5-sunc++-4.x.h
- config-sunx86-sunc++-4.x.h
- config-win32-common.h
+ * ace/Proactor: Complete rewrite of Proactor that pushes all the
+ differences in asynchronous I/O to the edges of the framework -
+ i.e., into the new Asynch_IO classes. This allows the Proactor
+ to easily support new asynchronous operations.
+
+ Currently, the new Proactor supports minimal functionality. In
+ the future, we will complete this.
+
+ The Proactor is used in conjunction with the new Asynch_IO
+ classes. There is a different class for each operation. Please
+ see Asynch_IO.h for details.
+
+ There is also a new ACE_Asynch_Acceptor that uses AcceptEx.
+
+ Example is in:
+ ACE_wrappers/examples/Reactor/Proactor/test_proactor.cpp.
+
+ This example illustrates how the ACE_Proactor can be used to
+ implement an application that does various asynchronous
+ operations.
+
+ * apps/JAWS/server: Complete rewrite of JAWS. The new JAWS has
+ support for Asynch-Thread-Pool (on WIN32), Synch-Thread-Pool,
+ and Thread-per-Request. Different models can be configured using
+ the svc.conf file. The server now supports both GET and PUT
+ commands.
+
+ The HTTP_Handler class is a state based implementation of the
+ HTTP protocol. Therefore, it can be used synchronously and
+ asynchronously. It uses an abstract IO class to move between
+ different HTTP protocol states. It is up to the IO class to
+ decide on synchronous or asynchronous I/O.
+
+ * apps/JAWS/client: This is an example of the implementation of
+ BlobStreaming in ACE. This version of BlobStreaming uses HTTP as
+ a transport protocol.
+
+ Blobby :-) is a simple application written using the ACE_Blob
+ class, which is capable of doing both file uploads and
+ downloads. If a file is downloaded, the downloaded data is sent
+ to standard output, so that it can be piped as necessary.
+
+ * ace/Mem_Map.cpp (map_it): This method now uses ACE_OS::pwrite
+ (if ACE_HAD_P_READ_WRITE is defined) instead of
+ ACE_OS::lseek/ACE_OS::write to write the end-of-file byte. The
+ old scheme does not work if the file is in OVERLAPPED mode.
+
+ * ace/OS: Added pread and pwrite to the OS class (if
+ ACE_HAD_P_READ_WRITE is defined). On Win32, these functions use
+ the OVERLAPPED structure to specify the offset. This
+ implementation will block until the write/read completes (even
+ if the file is in OVERLAPPED mode).
+
+ * ace/config: Added ACE_HAS_P_READ_WRITE to the following
+ platforms that support pread() and pwrite() calls:
+ config-sunos4-g++.h
+ config-sunos4-lucid3.2.h
+ config-sunos4-sun3.x.h
+ config-sunos4-sun4.1.4.h
+ config-sunos4-sun4.x-orbix.h
+ config-sunos4-sun4.x.h
+ config-sunos5.4-centerline-2.x.h
+ config-sunos5.4-g++.h
+ config-sunos5.4-sunc++-4.x-orbix.h
+ config-sunos5.4-sunc++-4.x.h
+ config-sunos5.5-g++.h
+ config-sunos5.5-sunc++-4.1.h
+ config-sunos5.5-sunc++-4.x-orbix.h
+ config-sunos5.5-sunc++-4.x.h
+ config-sunx86-sunc++-4.x.h
+ config-win32-common.h
Sun Apr 6 14:16:18 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * tests/Timer_Queue_Test.cpp: Added tests to make sure that the
- new ACE_Timer_Queue::cancel() logic is working correctly. So
- far, it seems to be fine.
+ * tests/Timer_Queue_Test.cpp: Added tests to make sure that the
+ new ACE_Timer_Queue::cancel() logic is working correctly. So
+ far, it seems to be fine.
- * ace/Timer_{Heap,List}.cpp (cancel): Changed the comparison for
- dont_call_handle_close to be correct.
+ * ace/Timer_{Heap,List}.cpp (cancel): Changed the comparison for
+ dont_call_handle_close to be correct.
- * ace/OS.cpp: Deleted a useless return. Thanks to Gonzalo
- A. Diethelm <gonzo@ing.puc.cl> for reporting this.
+ * ace/OS.cpp: Deleted a useless return. Thanks to Gonzalo
+ A. Diethelm <gonzo@ing.puc.cl> for reporting this.
- * ace/config-irix6.2-sgic++.h: Added the following definitions:
+ * ace/config-irix6.2-sgic++.h: Added the following definitions:
- + ACE_LACKS_PTHREAD_THR_SIGSETMASK
- + ACE_HAS_PTHREAD_EQUAL
- + ACE_HAS_PTHREAD_T
- + ACE_HAS_SYSENT_H
- + ACE_HAS_SYSINFO
- + ACE_HAS_TEMPLATE_TYPEDEFS
+ + ACE_LACKS_PTHREAD_THR_SIGSETMASK
+ + ACE_HAS_PTHREAD_EQUAL
+ + ACE_HAS_PTHREAD_T
+ + ACE_HAS_SYSENT_H
+ + ACE_HAS_SYSINFO
+ + ACE_HAS_TEMPLATE_TYPEDEFS
- Deleted the following definitions:
+ Deleted the following definitions:
- + #define ACE_HAS_SYS_SIGLIST (Irix's compiler only has a
- _sys_siglist array when compiling their own internal
- functions).
+ + #define ACE_HAS_SYS_SIGLIST (Irix's compiler only has a
+ _sys_siglist array when compiling their own internal
+ functions).
- Thanks to Gonzalo A. Diethelm <gonzo@ing.puc.cl> for this.
+ Thanks to Gonzalo A. Diethelm <gonzo@ing.puc.cl> for this.
- * ace/Process: Added new support for setting the environment
- variable and the current working directory. Thanks to Gonzalo
- A. Diethelm <gonzo@ing.puc.cl> for this enhancement.
+ * ace/Process: Added new support for setting the environment
+ variable and the current working directory. Thanks to Gonzalo
+ A. Diethelm <gonzo@ing.puc.cl> for this enhancement.
- * ace/OS.h: "sys/stat.h" was being included more than once, so I
- fixed this. Thanks to Gonzalo A. Diethelm <gonzo@ing.puc.cl>
- for reporting this.
+ * ace/OS.h: "sys/stat.h" was being included more than once, so I
+ fixed this. Thanks to Gonzalo A. Diethelm <gonzo@ing.puc.cl>
+ for reporting this.
- * ace/XtReactor.cpp: Added the register_handler_i() method, which
- just delegates to the one defined in the Reactor. This is
- necessary to adjust to the C++ type system rules. Thanks to
- Gonzalo A. Diethelm <gonzo@ing.puc.cl> for reporting this.
+ * ace/XtReactor.cpp: Added the register_handler_i() method, which
+ just delegates to the one defined in the Reactor. This is
+ necessary to adjust to the C++ type system rules. Thanks to
+ Gonzalo A. Diethelm <gonzo@ing.puc.cl> for reporting this.
- * ace/Service_Config.cpp: Added the Double-Checked Locking
- Optimization pattern to all the ACE_Service_Config Singletons
- (e.g., thr_mgr(), reactor(), etc.) so that they behave correctly
- in multi-threaded programs. Thanks to Matthias Kerkhoff
- <make@cs.tu-berlin.de> for insisting on this.
+ * ace/Service_Config.cpp: Added the Double-Checked Locking
+ Optimization pattern to all the ACE_Service_Config Singletons
+ (e.g., thr_mgr(), reactor(), etc.) so that they behave correctly
+ in multi-threaded programs. Thanks to Matthias Kerkhoff
+ <make@cs.tu-berlin.de> for insisting on this.
- * ace/OS.i (nanosleep): If the nanosleep() system call isn't
- supported by the OS platform we'll just use ACE_OS::sleep(const
- ACE_Time_Value &) instead.
+ * ace/OS.i (nanosleep): If the nanosleep() system call isn't
+ supported by the OS platform we'll just use ACE_OS::sleep(const
+ ACE_Time_Value &) instead.
- * ace/Log_Msg.cpp: Changed the logic of
- ACE_Log_Msg_Manager::remove() so that it returns the number of
- remaining registered instances. When this goes to 0 we'll
- cleanup.
+ * ace/Log_Msg.cpp: Changed the logic of
+ ACE_Log_Msg_Manager::remove() so that it returns the number of
+ remaining registered instances. When this goes to 0 we'll
+ cleanup.
- * ace/OS.i: Enhanced the ACE_OS::cond_[timed_]wait() methods so
- that they use SignalObjectAndWait() whenever possible to avoid
- potential problems with unfairness. See
- http://www.cs.wustl.edu/~schmidt/editorial-15.html for more
- details. Thanks to David Holmes <ltdholmes@mri.mq.edu.au> for
- pointing out this subtlety.
+ * ace/OS.i: Enhanced the ACE_OS::cond_[timed_]wait() methods so
+ that they use SignalObjectAndWait() whenever possible to avoid
+ potential problems with unfairness. See
+ http://www.cs.wustl.edu/~schmidt/editorial-15.html for more
+ details. Thanks to David Holmes <ltdholmes@mri.mq.edu.au> for
+ pointing out this subtlety.
Sun Apr 06 20:01:57 1997 David L. Levine <levine@cs.wustl.edu>
- * include/makeinclude/wrapper_macros.GNU: added "purify" and
- "quantify" make command options. To build Purified versions
- of all executables in the current direction, for example:
+ * include/makeinclude/wrapper_macros.GNU: added "purify" and
+ "quantify" make command options. To build Purified versions
+ of all executables in the current direction, for example:
- % make clean; make purify=1
+ % make clean; make purify=1
- These options assume that purify or quantify are in your PATH.
+ These options assume that purify or quantify are in your PATH.
- * ace/Task.{h,cpp}: removed ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
- from ACE_Task_Exit declaration and ACE_Task_Exit::instance ().
- ACE_Task_Exit is no longer a template class, so we don't need that.
+ * ace/Task.{h,cpp}: removed ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
+ from ACE_Task_Exit declaration and ACE_Task_Exit::instance ().
+ ACE_Task_Exit is no longer a template class, so we don't need that.
- * ace/Task_T.h: added missing "*/" at end of comment after #endif.
+ * ace/Task_T.h: added missing "*/" at end of comment after #endif.
- * tests/IOStream.cpp (server): added check for 0 strlen of
- "buf" to avoid out-of-bound array reference.
+ * tests/IOStream.cpp (server): added check for 0 strlen of
+ "buf" to avoid out-of-bound array reference.
- * ace/Svc_Conf_l.cpp, Makefile: added #define ACE_BUILD_DLL.
- Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for
- reporting this.
+ * ace/Svc_Conf_l.cpp, Makefile: added #define ACE_BUILD_DLL.
+ Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for
+ reporting this.
- * ace/Set.cpp(ACE_Set_Node ctor): commented out unused arg MS_SUCKS.
+ * ace/Set.cpp(ACE_Set_Node ctor): commented out unused arg MS_SUCKS.
Sat Apr 5 14:21:29 1997 Prashant Jain <pjain@merengue.cs.wustl.edu>
- * java/: Changed package name from ACE to JACE across all directories.
+ * java/: Changed package name from ACE to JACE across all directories.
Sat Apr 5 13:12:37 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * tests/MM_Shared_Memory_Test.cpp: Removed the use of dynamic
- memory allocation to avoid memory leaks.
+ * tests/MM_Shared_Memory_Test.cpp: Removed the use of dynamic
+ memory allocation to avoid memory leaks.
- * ace/Service_Config: Changed _defaults to _static_svcs since this
- more accurately reflects what they do.
+ * ace/Service_Config: Changed _defaults to _static_svcs since this
+ more accurately reflects what they do.
- * examples/Shared_Malloc/test_malloc.cpp: Removed the
- print_stats() call since it doesn't work via this API. Thanks
- to Sandro Doro <alex@aureus.sublink.org> for reporting this.
+ * examples/Shared_Malloc/test_malloc.cpp: Removed the
+ print_stats() call since it doesn't work via this API. Thanks
+ to Sandro Doro <alex@aureus.sublink.org> for reporting this.
- * ACE-install.sh: Tweeked the install script by changing the
- "gunzip; tar; gzip" sequence into "gunzip -c | tar xvf -" to
- speed it up a little. Thanks to Per Andersson
- <Per.Andersson@hfera.ericsson.se> for this fix.
+ * ACE-install.sh: Tweeked the install script by changing the
+ "gunzip; tar; gzip" sequence into "gunzip -c | tar xvf -" to
+ speed it up a little. Thanks to Per Andersson
+ <Per.Andersson@hfera.ericsson.se> for this fix.
- * examples/Threads/future1.cpp: Make sure to delete the char *name
- that is retrieved from the future in order to avoid a memory
- leak. Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for
- figuring this out.
-
- * examples/Threads/future1.cpp: Make sure to delete this->name_ in
- the Scheduler destructor to avoid a memory leak.
+ * examples/Threads/future1.cpp: Make sure to delete the char *name
+ that is retrieved from the future in order to avoid a memory
+ leak. Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for
+ figuring this out.
+
+ * examples/Threads/future1.cpp: Make sure to delete this->name_ in
+ the Scheduler destructor to avoid a memory leak.
- * examples/Threads/task_four.cpp (close): Enhanced the close()
- method so that it will actually delete the memory for the
- Worker_Task.
+ * examples/Threads/task_four.cpp (close): Enhanced the close()
+ method so that it will actually delete the memory for the
+ Worker_Task.
- * ace/XtReactor.cpp (register_handler_i): Added the
+ * ace/XtReactor.cpp (register_handler_i): Added the
- if (mask & ACE_Event_Handler::ACCEPT_MASK)
- ACE_SET_BITS (condition, XtInputReadMask);
+ if (mask & ACE_Event_Handler::ACCEPT_MASK)
+ ACE_SET_BITS (condition, XtInputReadMask);
- Thanks to Jean-Marc Strauss <strauss@club-internet.fr> for
- reporting this.
+ Thanks to Jean-Marc Strauss <strauss@club-internet.fr> for
+ reporting this.
- * ace/Timer_Queue.cpp (expire): This is the only method that calls
- ACE_Timer_Queue::cancel() with dont_call_handle_close set to 0.
+ * ace/Timer_Queue.cpp (expire): This is the only method that calls
+ ACE_Timer_Queue::cancel() with dont_call_handle_close set to 0.
- * ace/Reactor: Modified the cancel_timer() methods so that they
- also take a dont_call_handle_close parameter and pass it on to
- the Timer_Queue::cancel() method.
+ * ace/Reactor: Modified the cancel_timer() methods so that they
+ also take a dont_call_handle_close parameter and pass it on to
+ the Timer_Queue::cancel() method.
- * ace/Timer_{List,Heap}.cpp: Modified all the cancel() methods so
- that they will not call handle_close() unless the new parameter
- dont_call_handle_close is 0 (it is 1 by default). This will
- avoid nasty problems with recursion. Thanks to Paul Han
- <phan@CCGATE.HAC.COM> for suggesting this.
+ * ace/Timer_{List,Heap}.cpp: Modified all the cancel() methods so
+ that they will not call handle_close() unless the new parameter
+ dont_call_handle_close is 0 (it is 1 by default). This will
+ avoid nasty problems with recursion. Thanks to Paul Han
+ <phan@CCGATE.HAC.COM> for suggesting this.
- * ace/Timer_{List,Heap}.cpp (schedule): If a user tried to
- schedule a NULL ACE_Event_Handler then we return -1 with errno
- set to EINVAL.
+ * ace/Timer_{List,Heap}.cpp (schedule): If a user tried to
+ schedule a NULL ACE_Event_Handler then we return -1 with errno
+ set to EINVAL.
- * ace/Message_Block.cpp: Somehow the file got screwed up and was
- reverted back to an earlier incarnation where we didn't use
- ACE_Service_Config::alloc()... Thanks to Matthias Kerkhoff
- <make@cs.tu-berlin.de> for figuring this out.
+ * ace/Message_Block.cpp: Somehow the file got screwed up and was
+ reverted back to an earlier incarnation where we didn't use
+ ACE_Service_Config::alloc()... Thanks to Matthias Kerkhoff
+ <make@cs.tu-berlin.de> for figuring this out.
Sat Apr 5 19:11:46 1997 Tim H. Harrison <harrison@waltz.cs.wustl.edu>
- * ace/Signal.i (ACE_Sig_Guard): Changed the constructor of
- ACE_Sig_Guard so that it doesn't call ACE_OS::sigprocmask for
- Win32. This keeps errno from being set to ENOSYS at random
- times.
+ * ace/Signal.i (ACE_Sig_Guard): Changed the constructor of
+ ACE_Sig_Guard so that it doesn't call ACE_OS::sigprocmask for
+ Win32. This keeps errno from being set to ENOSYS at random
+ times.
Sat Apr 05 17:27:02 1997 <irfan@TWOSTEP>
- * Registry.cpp (resolve): Type and size of the object is only set
- if RegQueryValueEx() returns success. Thanks to Alan
- (Alan_Cabrera@fp.cibc.com) for reporting this.
+ * Registry.cpp (resolve): Type and size of the object is only set
+ if RegQueryValueEx() returns success. Thanks to Alan
+ (Alan_Cabrera@fp.cibc.com) for reporting this.
Sat Apr 05 13:11:04 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Log_Msg.cpp (instance): Added another ACE_NO_HEAP_CHECK.
- Matthias provided the fix.
-
- * ace/config-win32.h: Disable ACE_HAS_STRICT by default, because
- it will break existing application code.
-
- * ace/OS.{h,cpp},Log_Msg.{h,cpp}: fixes from Matthias Kerkhoff
- <make@cs.tu-berlin.de> to avoid memory-leak reports when MFC
- or (the CrtHeapXXX()-functions of the Win32 runtime library)
- are used.
-
- The problem is, that MFC (and so may other Win32 applications
- do) allocates a thread specific storage slot for each running
- thread which contains various control and debug informations.
- Part of this information is an object, which when constructed
- makes a snapshop of the heap. When this object is destroyed,
- the snapshot is compared to the actual heap. All object still
- existing on the heap are reported as memory leaks (which
- is in most situations correct). Because the object is deleted
- when the thread (or programs main) is left and this happens
- before atexit is called, some leak reports are false (because,
- e.g., all these ACE_Log_Msg's will be deleted in atexit).
-
- The fix for ACE_Log_Msg consists of three changes (two only
- relevant for Win32, one relevant for all platforms.)
- Description of changes:
-
- a) Introduced a new macro ACE_NO_HEAP_CHECK, which turns
- off the built in heap checking until the current code block
- is left. (defined for all platforms, but only does something
- for Win32). This changes os.h and config-win32-common.h.
-
- b) Added a static member function to ACE_Log_Msg. The function
- (exists) returns 0 if the calling thread don't have an ACE_Log_Msg
- and non-null if an ACE_Log_Msg exists. This changes Log_Msg.h
- and Log_Msg.cpp.
-
- c) Changed ACE_Thread_Adapter in a way that creating a new
- thread does not automatically create an ACE_Log_Msg for the
- calling thread. This happened until now, because the new
- thread inherited the log settings of the calling thread.
- This behaviour makes no sense, if the calling thread does
- not have an ACE_Log_Msg, so i use ACE_Log_Msg::exists() (see
- above) to prevent the implicit creation of an ACE_Log_Msg
- for the calling thread.
-
- Thanks, Matthias!
-
- * ace/config-win32.h and config-win32-common.h: new, consolidated
- Win32 config files. Thanks, again, Matthias!
-
- * ace/OS.h (ACE_UNUSED_ARG): determine whether we're building
- on an Irix platform by looking for ACE_HAS_IRIX_GETTIMEOFDAY
- instead of ACE_HAS_IRIX62_THREADS.
-
- * ace/Log_Msg.cpp: VxWorks (only!) change: no longer strdups
- program_name and local_host to avoid memory leaks. Instead,
- the addresses of these are copied by ACE_Log_Msg. So, only
- strings in the text segment should be passed to its functions!
- Again, this change is for VxWorks only.
-
- * ace/Sched_Params.cpp: moved memsets of pcinfo so that entire
- pcinfo structure is zeroed out, to _really_ avoid Purify warnings.
+ * ace/Log_Msg.cpp (instance): Added another ACE_NO_HEAP_CHECK.
+ Matthias provided the fix.
+
+ * ace/config-win32.h: Disable ACE_HAS_STRICT by default, because
+ it will break existing application code.
+
+ * ace/OS.{h,cpp},Log_Msg.{h,cpp}: fixes from Matthias Kerkhoff
+ <make@cs.tu-berlin.de> to avoid memory-leak reports when MFC
+ or (the CrtHeapXXX()-functions of the Win32 runtime library)
+ are used.
+
+ The problem is, that MFC (and so may other Win32 applications
+ do) allocates a thread specific storage slot for each running
+ thread which contains various control and debug informations.
+ Part of this information is an object, which when constructed
+ makes a snapshop of the heap. When this object is destroyed,
+ the snapshot is compared to the actual heap. All object still
+ existing on the heap are reported as memory leaks (which
+ is in most situations correct). Because the object is deleted
+ when the thread (or programs main) is left and this happens
+ before atexit is called, some leak reports are false (because,
+ e.g., all these ACE_Log_Msg's will be deleted in atexit).
+
+ The fix for ACE_Log_Msg consists of three changes (two only
+ relevant for Win32, one relevant for all platforms.)
+ Description of changes:
+
+ a) Introduced a new macro ACE_NO_HEAP_CHECK, which turns
+ off the built in heap checking until the current code block
+ is left. (defined for all platforms, but only does something
+ for Win32). This changes os.h and config-win32-common.h.
+
+ b) Added a static member function to ACE_Log_Msg. The function
+ (exists) returns 0 if the calling thread don't have an ACE_Log_Msg
+ and non-null if an ACE_Log_Msg exists. This changes Log_Msg.h
+ and Log_Msg.cpp.
+
+ c) Changed ACE_Thread_Adapter in a way that creating a new
+ thread does not automatically create an ACE_Log_Msg for the
+ calling thread. This happened until now, because the new
+ thread inherited the log settings of the calling thread.
+ This behaviour makes no sense, if the calling thread does
+ not have an ACE_Log_Msg, so i use ACE_Log_Msg::exists() (see
+ above) to prevent the implicit creation of an ACE_Log_Msg
+ for the calling thread.
+
+ Thanks, Matthias!
+
+ * ace/config-win32.h and config-win32-common.h: new, consolidated
+ Win32 config files. Thanks, again, Matthias!
+
+ * ace/OS.h (ACE_UNUSED_ARG): determine whether we're building
+ on an Irix platform by looking for ACE_HAS_IRIX_GETTIMEOFDAY
+ instead of ACE_HAS_IRIX62_THREADS.
+
+ * ace/Log_Msg.cpp: VxWorks (only!) change: no longer strdups
+ program_name and local_host to avoid memory leaks. Instead,
+ the addresses of these are copied by ACE_Log_Msg. So, only
+ strings in the text segment should be passed to its functions!
+ Again, this change is for VxWorks only.
+
+ * ace/Sched_Params.cpp: moved memsets of pcinfo so that entire
+ pcinfo structure is zeroed out, to _really_ avoid Purify warnings.
Fri Apr 04 12:28:40 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config-mvs.h: removed ACE_HAS_IP_MULTICAST because MVS
- doesn't define ip_mreq. Thanks to Chuck Gehr
- <gehr@sweng.stortek.com> for reporting this.
-
- * ace/OS.i (mutex_init): fixed the extra braces once and for all.
- Thanks to Chuck Gehr <gehr@sweng.stortek.com> for reporting it.
-
- * ace/OS.i, config-sco-5.0.0*.h: fixed for SCO so that it uses
- single-argument gettimeofday () prototype, but calls two-arg
- (SVR4) version in ACE_OS::gettimeofday (). Thanks to Ganesh
- Ganesh Pai <gpai@voicetek.com> for solving this problem.
-
- * ace/Log_Msg.{h,cpp}: added ACE_Log_Msg destructor. In
- instance (), added call to ::atexit () (::taskDeleteHookAdd ()
- on VxWorks) to register cleanup handler. Each new instance
- of an ACE_Log_Msg is inserted into an ACE_Unbounded_Set; the
- cleanup handler iterates over the Set and deletes the
- ACE_Log_Msgs at program exit.
-
- Also, the two strings that are allocated get cleaned up after
- the last ACE_Log_Msg instance is deleted. Many thanks to
- Matthias Kerkhoff <make@cs.tu-berlin.de> for figuring this out
- and cranking out the code.
-
- It works differently on VxWorks, because it doesn't have
- ::atexit (). VxWorks has ::taskDeleteHookAdd (), which is
- called when each task exits. So, the Set isn't used. Instead,
- the cleanup hook is called for each task when it exits, passing
- the task control block (TCB) of the exiting task. A pointer to
- the ACE_Log_Msg instance is contained in one of the spare fields
- of the TCB, so the cleanup handler simply deletes it.
-
- * ace/IOStream.h: specify template parameter (ACE_IOStream<STREAM>)
- to ACE_OPERATOR{G,P}_SET macros. Thanks to Chuck Gehr
- <gehr@sweng.stortek.com> for providing this fix.
+ * ace/config-mvs.h: removed ACE_HAS_IP_MULTICAST because MVS
+ doesn't define ip_mreq. Thanks to Chuck Gehr
+ <gehr@sweng.stortek.com> for reporting this.
+
+ * ace/OS.i (mutex_init): fixed the extra braces once and for all.
+ Thanks to Chuck Gehr <gehr@sweng.stortek.com> for reporting it.
+
+ * ace/OS.i, config-sco-5.0.0*.h: fixed for SCO so that it uses
+ single-argument gettimeofday () prototype, but calls two-arg
+ (SVR4) version in ACE_OS::gettimeofday (). Thanks to Ganesh
+ Ganesh Pai <gpai@voicetek.com> for solving this problem.
+
+ * ace/Log_Msg.{h,cpp}: added ACE_Log_Msg destructor. In
+ instance (), added call to ::atexit () (::taskDeleteHookAdd ()
+ on VxWorks) to register cleanup handler. Each new instance
+ of an ACE_Log_Msg is inserted into an ACE_Unbounded_Set; the
+ cleanup handler iterates over the Set and deletes the
+ ACE_Log_Msgs at program exit.
+
+ Also, the two strings that are allocated get cleaned up after
+ the last ACE_Log_Msg instance is deleted. Many thanks to
+ Matthias Kerkhoff <make@cs.tu-berlin.de> for figuring this out
+ and cranking out the code.
+
+ It works differently on VxWorks, because it doesn't have
+ ::atexit (). VxWorks has ::taskDeleteHookAdd (), which is
+ called when each task exits. So, the Set isn't used. Instead,
+ the cleanup hook is called for each task when it exits, passing
+ the task control block (TCB) of the exiting task. A pointer to
+ the ACE_Log_Msg instance is contained in one of the spare fields
+ of the TCB, so the cleanup handler simply deletes it.
+
+ * ace/IOStream.h: specify template parameter (ACE_IOStream<STREAM>)
+ to ACE_OPERATOR{G,P}_SET macros. Thanks to Chuck Gehr
+ <gehr@sweng.stortek.com> for providing this fix.
Thu Apr 3 22:17:53 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/Registry.cpp: Changed STRING_SEPARATOR from Istring to
- LPCTSTR. Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for
- suggesting this.
+ * ace/Registry.cpp: Changed STRING_SEPARATOR from Istring to
+ LPCTSTR. Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for
+ suggesting this.
Thu Apr 3 21:39:45 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * ace/OS.i (mutex_init): Removed errant open-brace ('{'). Thanks
- to Chuck Gehr (gehr@sweng.stortek.com) for the fix!
+ * ace/OS.i (mutex_init): Removed errant open-brace ('{'). Thanks
+ to Chuck Gehr (gehr@sweng.stortek.com) for the fix!
Thu Apr 03 08:52:34 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.h,OS.cpp,Sched_Params.cpp: added /**/ to some #include
- directives. Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de>
- for reporting these.
+ * ace/OS.h,OS.cpp,Sched_Params.cpp: added /**/ to some #include
+ directives. Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de>
+ for reporting these.
- * ace/OS.cpp (writev, readv): changed type of local variable "i"
- from size_t to int to avoid signed/unsigned mismatch. Thanks
- to Matthias Kerkhoff <make@cs.tu-berlin.de> for reporting this.
+ * ace/OS.cpp (writev, readv): changed type of local variable "i"
+ from size_t to int to avoid signed/unsigned mismatch. Thanks
+ to Matthias Kerkhoff <make@cs.tu-berlin.de> for reporting this.
- * ace/OS.cpp (readv), SOCK_Dgram.cpp (recv): added casts of
- iov_len and copyn because iov_len is int on some platforms and
- size_t on others. This avoids compiler (MSVC 4.1) warnings.
- Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for reporting
- this.
+ * ace/OS.cpp (readv), SOCK_Dgram.cpp (recv): added casts of
+ iov_len and copyn because iov_len is int on some platforms and
+ size_t on others. This avoids compiler (MSVC 4.1) warnings.
+ Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for reporting
+ this.
- * include/makeinclude/platform_sco5.0.0-nothread.GNU:
- updated CCFLAGS and added LD=$(CXX). Thanks to
- Ganesh Pai <gpai@voicetek.com> for these fixes.
+ * include/makeinclude/platform_sco5.0.0-nothread.GNU:
+ updated CCFLAGS and added LD=$(CXX). Thanks to
+ Ganesh Pai <gpai@voicetek.com> for these fixes.
- * ace/OS.h: added #include of <sys/regset.h> for SCO only.
- Thanks to Ganesh Pai <gpai@voicetek.com> for this fix.
+ * ace/OS.h: added #include of <sys/regset.h> for SCO only.
+ Thanks to Ganesh Pai <gpai@voicetek.com> for this fix.
- * ace/config-sco-5.0.0*.h: added #define ACE_HAS_IP_MULTICAST.
- Thanks to Ganesh Pai <gpai@voicetek.com> for this fix.
+ * ace/config-sco-5.0.0*.h: added #define ACE_HAS_IP_MULTICAST.
+ Thanks to Ganesh Pai <gpai@voicetek.com> for this fix.
- * ace/config-{chorus,linux*,sco*}.h: removed #define of
- ACE_HAS_INLINED_OSCALLS because it's no longer needed in the
- config files: it's #defined in OS.h if needed.
+ * ace/config-{chorus,linux*,sco*}.h: removed #define of
+ ACE_HAS_INLINED_OSCALLS because it's no longer needed in the
+ config files: it's #defined in OS.h if needed.
Thu Apr 3 01:48:01 1997 Tim H. Harrison <harrison@lambada.cs.wustl.edu>
- * ace/Malloc.i (malloc): ACE_New_Allocator::malloc only calls new
- if nbytes is > 0. Purify was complaining that 0 bytes were
- allocated but never deleted. Go figure.
+ * ace/Malloc.i (malloc): ACE_New_Allocator::malloc only calls new
+ if nbytes is > 0. Purify was complaining that 0 bytes were
+ allocated but never deleted. Go figure.
Wed Apr 2 22:24:48 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/OS.cpp: Moved the ACE_OS::inet_aton() method into the *.cpp
- file and made it non-inline to work around a bug with HP/UX C++.
- Thanks to Neil Cohen for this fix.
+ * ace/OS.cpp: Moved the ACE_OS::inet_aton() method into the *.cpp
+ file and made it non-inline to work around a bug with HP/UX C++.
+ Thanks to Neil Cohen for this fix.
Wed Apr 02 10:09:37 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config-sunos5.5-sunc++-4.1.h: added template specialization
- with Sun C++ 4.2.
+ * ace/config-sunos5.5-sunc++-4.1.h: added template specialization
+ with Sun C++ 4.2.
- * include/makeinclude/platform_sunos5_sunc++_4.1.GNU: removed +w
- and added comments about Sun C++ 4.2 support.
+ * include/makeinclude/platform_sunos5_sunc++_4.1.GNU: removed +w
+ and added comments about Sun C++ 4.2 support.
- * include/makeinclude/platform_chorus.GNU, platform_hpux_gcc.GNU,
- platform_irix5.{2,3_g++}.GNU, platform_linux{_,pthread}.GNU,
- platform_m88k.GNU,platform_osf1_4.0_g++.GNU,
- platform_sco-nothread.GNU,platform_sco5.0.0-*.GNU,
- platform_sunos{4,5}_g++.GNU, platform_sunos5_x86_g++.GNU,
- platform_unixware_g++.GNU, platform_vxworks5.2_g++.GNU:
- added -fno-implicit-templates to CCFLAGS. See INSTALL file
- for discussion of the g++ option. Also, added -O2 because
- it dramatically reduces object file sizes.
+ * include/makeinclude/platform_chorus.GNU, platform_hpux_gcc.GNU,
+ platform_irix5.{2,3_g++}.GNU, platform_linux{_,pthread}.GNU,
+ platform_m88k.GNU,platform_osf1_4.0_g++.GNU,
+ platform_sco-nothread.GNU,platform_sco5.0.0-*.GNU,
+ platform_sunos{4,5}_g++.GNU, platform_sunos5_x86_g++.GNU,
+ platform_unixware_g++.GNU, platform_vxworks5.2_g++.GNU:
+ added -fno-implicit-templates to CCFLAGS. See INSTALL file
+ for discussion of the g++ option. Also, added -O2 because
+ it dramatically reduces object file sizes.
- * netsvcs/clients/Tokens/manual/manual.cpp: made
- STDIN_Token::TID typedef public so that template
- specialization (w/ Sun C++ 4.2) can access it.
+ * netsvcs/clients/Tokens/manual/manual.cpp: made
+ STDIN_Token::TID typedef public so that template
+ specialization (w/ Sun C++ 4.2) can access it.
Wed Apr 2 10:02:47 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * ace/OS.h: Added definitions for THREAD- and PROCESS-LEVEL
- priorities because some implementations define these while
- others don't. These are now
- ACE_{THR,PROC}_{FIFO,RR,OTHER}_{MIN,MAX,DEF}. The only really
- NEW concept is the *_DEF, which is a default value assigned by
- ACE_OS::thr_create() if one isn't given. Of special note is that
- we don't redefine a default values if it's already been
- defined, which allows individual programs to have their
- own ACE-wide "default".
-
- * ace/OS.cpp (thr_create): Uses ACE_{THR,PROC}_* macros
- rather than the PRI_* macros.
-
- * ace/Sched_Params.cpp (priority_min,priority_max): These now
- use ACE_{THR,PROC}_* macros to ignore OS-specific priority
- assignments.
-
- * ace/config-linux-lxpthreads.h: Removed definitions of
- PRI_{FIFO,RR,OTHER}_{MIN,MAX}.
-
- * include/makeinclude/platform_linux*.GNU (CCFLAGS): Added
- -fno-implicit-templates now that it's supported. This
- eliminates messages of the sort 'ld: Warning size of
- <mangled template specialization name> change from xx to yy'
- when linking libACE.so. Thanks to David Levine for making
- this possible!
-
+ * ace/OS.h: Added definitions for THREAD- and PROCESS-LEVEL
+ priorities because some implementations define these while
+ others don't. These are now
+ ACE_{THR,PROC}_{FIFO,RR,OTHER}_{MIN,MAX,DEF}. The only really
+ NEW concept is the *_DEF, which is a default value assigned by
+ ACE_OS::thr_create() if one isn't given. Of special note is that
+ we don't redefine a default values if it's already been
+ defined, which allows individual programs to have their
+ own ACE-wide "default".
+
+ * ace/OS.cpp (thr_create): Uses ACE_{THR,PROC}_* macros
+ rather than the PRI_* macros.
+
+ * ace/Sched_Params.cpp (priority_min,priority_max): These now
+ use ACE_{THR,PROC}_* macros to ignore OS-specific priority
+ assignments.
+
+ * ace/config-linux-lxpthreads.h: Removed definitions of
+ PRI_{FIFO,RR,OTHER}_{MIN,MAX}.
+
+ * include/makeinclude/platform_linux*.GNU (CCFLAGS): Added
+ -fno-implicit-templates now that it's supported. This
+ eliminates messages of the sort 'ld: Warning size of
+ <mangled template specialization name> change from xx to yy'
+ when linking libACE.so. Thanks to David Levine for making
+ this possible!
+
Tue Apr 1 15:27:28 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * bin/g++dep: Removed the "/bin" prefix so that this won't fail on
- platforms that don't have sed in /bin. Thanks to Sandro Doro
- <alex@aureus.sublink.org> for this fix.
+ * bin/g++dep: Removed the "/bin" prefix so that this won't fail on
+ platforms that don't have sed in /bin. Thanks to Sandro Doro
+ <alex@aureus.sublink.org> for this fix.
Tue Apr 01 09:55:07 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.h: protected definition of struct flock on VxWorks,
- because it defines that type in sys/fcntlcom.h. (It doesn't
- appear to support flock (), though.) Thanks to Dave
- Mayerhoefer <mayerhoefer@svappl36.mdc.com> for reporting this.
+ * ace/OS.h: protected definition of struct flock on VxWorks,
+ because it defines that type in sys/fcntlcom.h. (It doesn't
+ appear to support flock (), though.) Thanks to Dave
+ Mayerhoefer <mayerhoefer@svappl36.mdc.com> for reporting this.
- * ace/OS.h: define ACE_hrtime_t as u_longlong_t gcc, because
- its long long types are only 4 bytes long. Its longlong_t
- types are 8 bytes. Also made ACE_hrtime_t unsigned for
- other than gcc on Unix platforms.
+ * ace/OS.h: define ACE_hrtime_t as u_longlong_t gcc, because
+ its long long types are only 4 bytes long. Its longlong_t
+ types are 8 bytes. Also made ACE_hrtime_t unsigned for
+ other than gcc on Unix platforms.
- * ace/OS.* (gethrtime), config-vxworks-ghs-1.8.h: added support
- for PowerPC with Green Hills compiler. Thanks to Dave
- Mayerhoefer <mayerhoefer@svappl36.mdc.com> for providing the
- readPPCTimeBase assembler routine.
+ * ace/OS.* (gethrtime), config-vxworks-ghs-1.8.h: added support
+ for PowerPC with Green Hills compiler. Thanks to Dave
+ Mayerhoefer <mayerhoefer@svappl36.mdc.com> for providing the
+ readPPCTimeBase assembler routine.
- * ace/config-vxworks*.h: removed #include of vxWorks.h because
- its no longer necessary with the TimeValue.h merged into OS.h.
+ * ace/config-vxworks*.h: removed #include of vxWorks.h because
+ its no longer necessary with the TimeValue.h merged into OS.h.
- * ace/High_Res_Timer.cpp (elapsed_time): added cast to
- initialization of nseconds to avoid compiler warning from
- MSVC 4.1 about narrowing from unsigned __int64.
- Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for
- reporting this.
+ * ace/High_Res_Timer.cpp (elapsed_time): added cast to
+ initialization of nseconds to avoid compiler warning from
+ MSVC 4.1 about narrowing from unsigned __int64.
+ Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for
+ reporting this.
Mon Mar 31 18:18:35 1997 Carlos O'Ryan <coryan@charlie>
- * ace/config-hpux-10.x-g++.h:
- It was tuned to HP-UX 10.10 (and further) using g++ 2.7.2 without
- DCE/Threads.
-
- * ace/Task_T.cpp:
- Another iteration on the Module.h file, this time it is not
- included *only* under HPUX and when using HP/aCC. Still IMHO
- problems will arise as template sintax checking becomes more
- popular.
-
- * ace/Local_Name_Space_T.h:
- * ace/Local_Name_Space_T.cpp:
- Replaced MAXNAMELEN with MAXPATHLEN since some platforms
- (e.g., HP/UX) have a very low value (e.g., 14 bytes) for
- MAXNAMELEN.
-
- * ace/config-hpux-10.x-aCC.h:
- The comment did not make clear what was compiler/platform
- target. It also included some remarks that only applied to
- HP/C++.
-
- * tests/Future_Test.cpp:
- * tests/Message_Block_Test.cpp:
- * tests/Thread_Pool_Test.cpp:
- Will not compile if ACE_HAS_THREADS was not defined and
- ACE_TEMPLATES_REQUIRE_SPECIALIZATION was: they tried to
- instantiate templates that were only defined when ACE_HAS_THREADS.
-
- * ace/config-hpux-10.x-aCC.h:
- More fine tuning: ACE_HAS_EXCEPTIONS,
- ACE_LACKS_LINEBUFFERED_STREAMBUF,
- ACE_HAS_STREAM_PIPES.
-
- * ace/TLI_Stream.h:
- * ace/TLI_Acceptor.h:
- No "Meta-type info" was defined (the PEER_ADDR and PEER_STREAM
- typedefs).
-
- * ace/Signal.h:
- * ace/Signal.cpp:
- With HP/aCC we can enable ACE_Sig_Handlers.
+ * ace/config-hpux-10.x-g++.h:
+ It was tuned to HP-UX 10.10 (and further) using g++ 2.7.2 without
+ DCE/Threads.
+
+ * ace/Task_T.cpp:
+ Another iteration on the Module.h file, this time it is not
+ included *only* under HPUX and when using HP/aCC. Still IMHO
+ problems will arise as template sintax checking becomes more
+ popular.
+
+ * ace/Local_Name_Space_T.h:
+ * ace/Local_Name_Space_T.cpp:
+ Replaced MAXNAMELEN with MAXPATHLEN since some platforms
+ (e.g., HP/UX) have a very low value (e.g., 14 bytes) for
+ MAXNAMELEN.
+
+ * ace/config-hpux-10.x-aCC.h:
+ The comment did not make clear what was compiler/platform
+ target. It also included some remarks that only applied to
+ HP/C++.
+
+ * tests/Future_Test.cpp:
+ * tests/Message_Block_Test.cpp:
+ * tests/Thread_Pool_Test.cpp:
+ Will not compile if ACE_HAS_THREADS was not defined and
+ ACE_TEMPLATES_REQUIRE_SPECIALIZATION was: they tried to
+ instantiate templates that were only defined when ACE_HAS_THREADS.
+
+ * ace/config-hpux-10.x-aCC.h:
+ More fine tuning: ACE_HAS_EXCEPTIONS,
+ ACE_LACKS_LINEBUFFERED_STREAMBUF,
+ ACE_HAS_STREAM_PIPES.
+
+ * ace/TLI_Stream.h:
+ * ace/TLI_Acceptor.h:
+ No "Meta-type info" was defined (the PEER_ADDR and PEER_STREAM
+ typedefs).
+
+ * ace/Signal.h:
+ * ace/Signal.cpp:
+ With HP/aCC we can enable ACE_Sig_Handlers.
Mon Mar 31 22:36:55 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Service_Config.cpp (process_directives): Return -1 if
- ace_yyerrno > 0. Thanks to Alan Cabrera
- <Alan_Cabrera@fp.cibc.com> for reporting this.
+ * ace/Service_Config.cpp (process_directives): Return -1 if
+ ace_yyerrno > 0. Thanks to Alan Cabrera
+ <Alan_Cabrera@fp.cibc.com> for reporting this.
Mon Mar 31 17:38:08 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * ace/OS.cpp (thr_create): Moved priority determination after
- policy determination because it's possible for setting of the
- priority to fail if it's not a valid priority for the [default]
- policy.
+ * ace/OS.cpp (thr_create): Moved priority determination after
+ policy determination because it's possible for setting of the
+ priority to fail if it's not a valid priority for the [default]
+ policy.
Mon Mar 31 09:00:54 1997 David L. Levine <levine@cs.wustl.edu>
- * performance-tests/Misc/context_switch_time.cpp: this test no
- longer worked. So, reverted to revision 4.5, plus minimum
- changes necessary to support build on platforms without threads.
+ * performance-tests/Misc/context_switch_time.cpp: this test no
+ longer worked. So, reverted to revision 4.5, plus minimum
+ changes necessary to support build on platforms without threads.
- * examples/Threads/Makefile, performance-tests/Misc/Makefile:
- moved context_switch_time.cpp from examples/Threads to
- performance-tests/Misc.
+ * examples/Threads/Makefile, performance-tests/Misc/Makefile:
+ moved context_switch_time.cpp from examples/Threads to
+ performance-tests/Misc.
- * examples/Logger/Acceptor-server/server_loggerd.cpp,
- examples/Reactor/Misc/pingpong.cpp,
- examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp,
- examples/Shared_Malloc/Malloc.cpp:
- added template specializations.
+ * examples/Logger/Acceptor-server/server_loggerd.cpp,
+ examples/Reactor/Misc/pingpong.cpp,
+ examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp,
+ examples/Shared_Malloc/Malloc.cpp:
+ added template specializations.
- * include/makeinclude/platform_sunos5_g++.GNU: removed dependency
- of CCFLAGS on CFLAGS to avoid duplicate -g in build command.
- Also, added -fno-implicit-templates in comment.
+ * include/makeinclude/platform_sunos5_g++.GNU: removed dependency
+ of CCFLAGS on CFLAGS to avoid duplicate -g in build command.
+ Also, added -fno-implicit-templates in comment.
Sun Mar 30 12:52:58 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/Malloc.h: The block begining with:
- #if defined (ACE_MALLOC_STATS)
- and ending with end of struct ACE_Malloc_Stats
- must be moved (up) after line 107
+ * ace/Malloc.h: The block begining with:
+ #if defined (ACE_MALLOC_STATS)
+ and ending with end of struct ACE_Malloc_Stats
+ must be moved (up) after line 107
- Thanks to Sandro Doro <alex@aureus.sublink.org> for pointing
- this out.
+ Thanks to Sandro Doro <alex@aureus.sublink.org> for pointing
+ this out.
- * ace/Malloc_T.cpp: The line
- this->malloc_stats_.dump ();
- must be changed in:
- this->cb_ptr_->malloc_stats_.dump ();
+ * ace/Malloc_T.cpp: The line
+ this->malloc_stats_.dump ();
+ must be changed in:
+ this->cb_ptr_->malloc_stats_.dump ();
- Thanks to Sandro Doro <alex@aureus.sublink.org> for pointing
- this out.
+ Thanks to Sandro Doro <alex@aureus.sublink.org> for pointing
+ this out.
- * ace/Malloc_T.cpp: the line
- this->cb_ptr_->malloc_stats_.print (); // print not exists
- may be changed in:
- this->cb_ptr_->malloc_stats_.dump ();
+ * ace/Malloc_T.cpp: the line
+ this->cb_ptr_->malloc_stats_.print (); // print not exists
+ may be changed in:
+ this->cb_ptr_->malloc_stats_.dump ();
- Thanks to Sandro Doro <alex@aureus.sublink.org> for pointing
- this out.
+ Thanks to Sandro Doro <alex@aureus.sublink.org> for pointing
+ this out.
- * ace/Malloc_T.h: Added "virtual" to the ACE_New_Allocator methods
- to reinforce the fact that they are indeed virtual. Thanks to
- Sandro Doro <alex@aureus.sublink.org> for pointing this out.
+ * ace/Malloc_T.h: Added "virtual" to the ACE_New_Allocator methods
+ to reinforce the fact that they are indeed virtual. Thanks to
+ Sandro Doro <alex@aureus.sublink.org> for pointing this out.
- * ace/Malloc.h: Added "virtual" to the ACE_New_Allocator methods
- to reinforce the fact that they are indeed virtual.
+ * ace/Malloc.h: Added "virtual" to the ACE_New_Allocator methods
+ to reinforce the fact that they are indeed virtual.
Sat Mar 29 20:26:54 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.h: moved #defin of RTLD_LAZY after #include of dlfcn.h.
- Thanks to Chris Lahey <CLahey@cccis.com> for this fix.
+ * ace/OS.h: moved #defin of RTLD_LAZY after #include of dlfcn.h.
+ Thanks to Chris Lahey <CLahey@cccis.com> for this fix.
- * ace/Task_T.h: replaced #include of "ace/Module.h" because some
- Task_T methods use ACE_Module methods.
+ * ace/Task_T.h: replaced #include of "ace/Module.h" because some
+ Task_T methods use ACE_Module methods.
- * examples/Connection/non_blocking/test_{sock,spipe,tli}_{acceptor,
- connector}.cpp,
- examples/System_V_IPC/SV_Semaphores/Semaphores_{1,2}.cpp:
- added template specializations.
+ * examples/Connection/non_blocking/test_{sock,spipe,tli}_{acceptor,
+ connector}.cpp,
+ examples/System_V_IPC/SV_Semaphores/Semaphores_{1,2}.cpp:
+ added template specializations.
Sat Mar 29 17:08:33 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/OS.cpp: Added many new ACE_UNUSED_ARGS macros to eliminate
- warnings when we are compiling without threads.
+ * ace/OS.cpp: Added many new ACE_UNUSED_ARGS macros to eliminate
+ warnings when we are compiling without threads.
Fri Mar 28 11:34:38 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Task.{h,cpp},Thread_Manager.h: changed remaining
- priority types to long and defaults to -1.
+ * ace/Task.{h,cpp},Thread_Manager.h: changed remaining
+ priority types to long and defaults to -1.
- * ace/Thread_Manager.cpp (spawn_i): don't clobber errno!
- ACE_OS::thr_create () sets errno and returns -1. So,
- its return value should not be used to set errno.
+ * ace/Thread_Manager.cpp (spawn_i): don't clobber errno!
+ ACE_OS::thr_create () sets errno and returns -1. So,
+ its return value should not be used to set errno.
- * ace/OS.cpp (thr_create): fixed PTHREADS_1003_DOT_1C thread
- priority logic. Thanks to Thilo Kielmann
- <kielmann@informatik.uni-siegen.de> for the patch.
+ * ace/OS.cpp (thr_create): fixed PTHREADS_1003_DOT_1C thread
+ priority logic. Thanks to Thilo Kielmann
+ <kielmann@informatik.uni-siegen.de> for the patch.
- * ace/config-sunos5.5*.h,README,OS.cpp (thr_create): added
- ACE_HAS_ONLY_SCHED_OTHER to indicate that platform (Solaris 2.5)
- only supports POSIX SCHED_OTHER scheduling policy.
+ * ace/config-sunos5.5*.h,README,OS.cpp (thr_create): added
+ ACE_HAS_ONLY_SCHED_OTHER to indicate that platform (Solaris 2.5)
+ only supports POSIX SCHED_OTHER scheduling policy.
- * tests/Priority_Task_Test.cpp (open): added THR_SCHED_FIFO flag.
- Thanks to Thilo Kielmann <kielmann@informatik.uni-siegen.de> for
- for this suggestion.
+ * tests/Priority_Task_Test.cpp (open): added THR_SCHED_FIFO flag.
+ Thanks to Thilo Kielmann <kielmann@informatik.uni-siegen.de> for
+ for this suggestion.
- * examples/ASX/Event_Server/Event_Server/Makefile,
- Transceiver/Makefile:
- added -lGateway to LIBS to pick up its template
- instantiations during links.
+ * examples/ASX/Event_Server/Event_Server/Makefile,
+ Transceiver/Makefile:
+ added -lGateway to LIBS to pick up its template
+ instantiations during links.
- * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp,
- Transceiver/transceiver.cpp,
- Connection/blocking/SPIPE-{acceptor,connector}.cpp,
- misc/Connection_Handler.cpp,test_upipe.cpp,
- Logger/simple-server/server_loggerd.cpp,
- UPIPE_Event_Server/{Consumer,Supplier}_Router.cpp,
- performance-tests/Synch-Benchmarks/Options.cpp:
- added template specializations.
+ * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp,
+ Transceiver/transceiver.cpp,
+ Connection/blocking/SPIPE-{acceptor,connector}.cpp,
+ misc/Connection_Handler.cpp,test_upipe.cpp,
+ Logger/simple-server/server_loggerd.cpp,
+ UPIPE_Event_Server/{Consumer,Supplier}_Router.cpp,
+ performance-tests/Synch-Benchmarks/Options.cpp:
+ added template specializations.
Thu Mar 27 21:10:59 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/IOStream.h: only use built-in ipfx{0,1} () with __GNUC__,
- because that's the only compiler we know of that has them.
- Thanks to Carlos O'Ryan <coryan@mat.puc.cl> for pointing this
- out, and to James CE Johnson <jcej@lads.com> for providing the fix.
+ * ace/IOStream.h: only use built-in ipfx{0,1} () with __GNUC__,
+ because that's the only compiler we know of that has them.
+ Thanks to Carlos O'Ryan <coryan@mat.puc.cl> for pointing this
+ out, and to James CE Johnson <jcej@lads.com> for providing the fix.
- * ace/OS.i: rearranged order of ACE_Time_Value functions (moved
- set ()'s up, moved arithmetic operators down) so that they are
- defined before use.
+ * ace/OS.i: rearranged order of ACE_Time_Value functions (moved
+ set ()'s up, moved arithmetic operators down) so that they are
+ defined before use.
- * ace/Task_T.cpp: removed ACE_TEMPLATES_REQUIRE_SOURCE around
- #include of "ace/Module.h" so that it will build with Sun C++ 4.1.
+ * ace/Task_T.cpp: removed ACE_TEMPLATES_REQUIRE_SOURCE around
+ #include of "ace/Module.h" so that it will build with Sun C++ 4.1.
- * apps/Gateway/Peer/Makefile: added -lGateway to LIBS to
- pick up its template instantiations during links.
+ * apps/Gateway/Peer/Makefile: added -lGateway to LIBS to
+ pick up its template instantiations during links.
- * apps/Gateway/Peer/Peer.cpp: added template instantations.
+ * apps/Gateway/Peer/Peer.cpp: added template instantations.
Thu Mar 27 14:10:39 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/OS.h: Added two new accessors to ACE_Time_Value:
+ * ace/OS.h: Added two new accessors to ACE_Time_Value:
- operator timeval *() const;
- // Returns a pointer to the object as a timeval.
+ operator timeval *() const;
+ // Returns a pointer to the object as a timeval.
- const operator timeval *() const;
- // Returns a pointer to the object as a timeval.
+ const operator timeval *() const;
+ // Returns a pointer to the object as a timeval.
- Thanks to Carlos O'Ryan <coryan@mat.puc.cl> for this suggestion.
+ Thanks to Carlos O'Ryan <coryan@mat.puc.cl> for this suggestion.
- * ace/OS.i (ACE_Time_Value): Inlined many of the ACE_Time_Value
- accessors.
+ * ace/OS.i (ACE_Time_Value): Inlined many of the ACE_Time_Value
+ accessors.
- * ace/OS.h: Reimplemented ACE_Str_Buf at
+ * ace/OS.h: Reimplemented ACE_Str_Buf at
- struct ACE_Export ACE_Str_Buf : public strbuf
- {
- // = Initialization method
- ACE_Str_Buf(void* b = 0, int l = 0, int max = 0);
- // Constructor.
- };
+ struct ACE_Export ACE_Str_Buf : public strbuf
+ {
+ // = Initialization method
+ ACE_Str_Buf(void* b = 0, int l = 0, int max = 0);
+ // Constructor.
+ };
this makes the casting from ACE_Str_Buf* to strbuf* a "safe"
- cast and makes it more portable (say on platforms where the
- fields in strbuf are not in the right order). Thanks to Carlos
- O'Ryan <coryan@mat.puc.cl> for this fix.
+ cast and makes it more portable (say on platforms where the
+ fields in strbuf are not in the right order). Thanks to Carlos
+ O'Ryan <coryan@mat.puc.cl> for this fix.
- * ace/OS.h: Moved the definition of imr_multiaddr to just before
- class ACE_OS so that it picks everything up appropriately.
- Thanks to Hakan Kallberg <hk@simulina.se> for reporting this.
+ * ace/OS.h: Moved the definition of imr_multiaddr to just before
+ class ACE_OS so that it picks everything up appropriately.
+ Thanks to Hakan Kallberg <hk@simulina.se> for reporting this.
- * ace/config-aix-4.[12].x.h and config-mvs.h: Fixed the
- ACE_HAS_MULTICAST macros, which should have said
- ACE_HAS_IP_MULTICAST. Thanks to Daniel Montalibet
- <daniel_montalibet@stortek.com> for reporting this.
+ * ace/config-aix-4.[12].x.h and config-mvs.h: Fixed the
+ ACE_HAS_MULTICAST macros, which should have said
+ ACE_HAS_IP_MULTICAST. Thanks to Daniel Montalibet
+ <daniel_montalibet@stortek.com> for reporting this.
Thu Mar 27 15:54:10 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * ace/{Thread,Thread_Manager}.{h,i,cpp} (ACE_Thread): Changed
- type for priority arg to spawn*() from u_int to long to
- support changes in thr_create indicated below. Thanks to
- Thilo Kielmann <kielmann@informatik.uni-siegen.de> for these
- changes.
+ * ace/{Thread,Thread_Manager}.{h,i,cpp} (ACE_Thread): Changed
+ type for priority arg to spawn*() from u_int to long to
+ support changes in thr_create indicated below. Thanks to
+ Thilo Kielmann <kielmann@informatik.uni-siegen.de> for these
+ changes.
- * ace/OS.cpp: Ensure that whenever either a priority of a
- scheduling policy is set explicitly, with POSIX threads, the
- other argument and the flag THR_EXPLICIT_SCHED is set
- automatically. A range check for priority values for POSIX
- 1003.1c is also included. Thanks to Thilo Kielmann
- <kielmann@informatik.uni-siegen.de> for these changes.
+ * ace/OS.cpp: Ensure that whenever either a priority of a
+ scheduling policy is set explicitly, with POSIX threads, the
+ other argument and the flag THR_EXPLICIT_SCHED is set
+ automatically. A range check for priority values for POSIX
+ 1003.1c is also included. Thanks to Thilo Kielmann
+ <kielmann@informatik.uni-siegen.de> for these changes.
- * ace/OS.h: Changed type and default value of priority arg to
- thr_create from u_int to long and 0 to -1. Thanks to Thilo
- Kielmann <kielmann@informatik.uni-siegen.de> for these
- changes. Also added ACE_MAX and ACE_MIN macros.
+ * ace/OS.h: Changed type and default value of priority arg to
+ thr_create from u_int to long and 0 to -1. Thanks to Thilo
+ Kielmann <kielmann@informatik.uni-siegen.de> for these
+ changes. Also added ACE_MAX and ACE_MIN macros.
Thu Mar 27 11:25:38 1997 David L. Levine <levine@cs.wustl.edu>
- * netsvcs/servers/Makefile: removed SHOBJ so that main.so is not
- built, because it wasn't needed. Thanks to Sandro Doro
- <alex@aureus.sublink.org> for this fix.
-
- * ace/config-aix-4.[12].x.h,config-mvs.h: changed
- ACE_HAS_MULTICAST to ACE_HAS_IP_MULTICAST. Thanks to Daniel
- Montalibet <daniel_montalibet@stortek.com> for reporting
- this.
-
- * include/makeinclude/platform_sunos5_g++.GNU,
- platform_sunos5_x86_g++.GNU,
- platform_unixware_g++.GNU:
- removed "-L$(WRAPPER_ROOT)/ace -L./" from LDFLAGS because it
- is added to LDFLAGS in include/makeinclude/wrapper_macros.GNU.
-
- * apps/Gateway/Gateway/{Event_Channel.cpp,Gateway.cpp,
- Proxy_Handler.cpp,Proxy_Handler_Acceptor.cpp,
- Proxy_Handler_Connector.cpp,
- examples/IPC_SAP/UPIPE_SAP/ex{2,3}.cpp,
- netsvcs/clients/Naming/Client/Client_Test.cpp,
- netsvcs/clients/Tokens/manual/manual.cpp:
- added template specializations.
+ * netsvcs/servers/Makefile: removed SHOBJ so that main.so is not
+ built, because it wasn't needed. Thanks to Sandro Doro
+ <alex@aureus.sublink.org> for this fix.
+
+ * ace/config-aix-4.[12].x.h,config-mvs.h: changed
+ ACE_HAS_MULTICAST to ACE_HAS_IP_MULTICAST. Thanks to Daniel
+ Montalibet <daniel_montalibet@stortek.com> for reporting
+ this.
+
+ * include/makeinclude/platform_sunos5_g++.GNU,
+ platform_sunos5_x86_g++.GNU,
+ platform_unixware_g++.GNU:
+ removed "-L$(WRAPPER_ROOT)/ace -L./" from LDFLAGS because it
+ is added to LDFLAGS in include/makeinclude/wrapper_macros.GNU.
+
+ * apps/Gateway/Gateway/{Event_Channel.cpp,Gateway.cpp,
+ Proxy_Handler.cpp,Proxy_Handler_Acceptor.cpp,
+ Proxy_Handler_Connector.cpp,
+ examples/IPC_SAP/UPIPE_SAP/ex{2,3}.cpp,
+ netsvcs/clients/Naming/Client/Client_Test.cpp,
+ netsvcs/clients/Tokens/manual/manual.cpp:
+ added template specializations.
Thu Mar 27 10:05:59 1997 Prashant Jain <pjain@merengue.cs.wustl.edu>
- * netsvcs/lib/TS_Clerk_Handler.cpp: Fixed two things:
- 1) In TS_Clerk_Processor::parse_args() changed
- "%n:\n[-p hostname:port] [-t timeout] [-p poolname]\n%a", 1),
- to
- "%n:\n[-h hostname:port] [-t timeout] [-p poolname]\n%a", 1),
+ * netsvcs/lib/TS_Clerk_Handler.cpp: Fixed two things:
+ 1) In TS_Clerk_Processor::parse_args() changed
+ "%n:\n[-p hostname:port] [-t timeout] [-p poolname]\n%a", 1),
+ to
+ "%n:\n[-h hostname:port] [-t timeout] [-p poolname]\n%a", 1),
- 2) In TS_Clerk_Processor::alloc() changed
- void *temp = 0;
+ 2) In TS_Clerk_Processor::alloc() changed
+ void *temp = 0;
// Only create the state if it doesn't already exist.
if (this->shmem_->find (ACE_DEFAULT_TIME_SERVER_STR, temp) == -1)
{
@@ -5589,1478 +5589,1478 @@ Thu Mar 27 10:05:59 1997 Prashant Jain <pjain@merengue.cs.wustl.edu>
Thu Mar 27 01:00:18 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * include/makeinclude/platform_irix6.2_sgiCC.GNU: Added a new
- platform config file for SGI Irix 6.2 using the CC compiler (not
- NCC nor the MipsProcompiler). Thanks to Eric Dean Russell
- <edrusse@somnet.sandia.gov> for these changes.
+ * include/makeinclude/platform_irix6.2_sgiCC.GNU: Added a new
+ platform config file for SGI Irix 6.2 using the CC compiler (not
+ NCC nor the MipsProcompiler). Thanks to Eric Dean Russell
+ <edrusse@somnet.sandia.gov> for these changes.
- * ace/OS.h: Moved the ACE_LACKS_UTSNAME_T block into the right
- part of the code. Thanks to Jonathan Biggar <jon@sems.com> for
- this fix.
+ * ace/OS.h: Moved the ACE_LACKS_UTSNAME_T block into the right
+ part of the code. Thanks to Jonathan Biggar <jon@sems.com> for
+ this fix.
- * ace/Malloc.h: Added an enhancement so that the new alignment
- features will work regardless of the size of ACE_MALLOC_ALIGN.
- Thanks to Fred LaBar <flabar@fallschurch.esys.com> for this fix.
+ * ace/Malloc.h: Added an enhancement so that the new alignment
+ features will work regardless of the size of ACE_MALLOC_ALIGN.
+ Thanks to Fred LaBar <flabar@fallschurch.esys.com> for this fix.
- * ace/Synch_Options.cpp: We now automatically set the USE_TIMEOUT
- flag if a non-0 timeout value is supplied. Thanks to Tim
- Liddelow <tim@cst.com.au> for this suggestion.
+ * ace/Synch_Options.cpp: We now automatically set the USE_TIMEOUT
+ flag if a non-0 timeout value is supplied. Thanks to Tim
+ Liddelow <tim@cst.com.au> for this suggestion.
Wed Mar 26 08:47:24 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/{ACE.cpp,Log_Msg.cppOS.cpp},
- tests/{Message_Queue_Test.cpp,Naming_Test.cpp}:
- Changed ::sprintf calls to ACE_OS::sprintf. Thanks to
- Thilo Kielmann <kielmann@informatik.uni-siegen.de> for
- reporting this.
+ * ace/{ACE.cpp,Log_Msg.cppOS.cpp},
+ tests/{Message_Queue_Test.cpp,Naming_Test.cpp}:
+ Changed ::sprintf calls to ACE_OS::sprintf. Thanks to
+ Thilo Kielmann <kielmann@informatik.uni-siegen.de> for
+ reporting this.
- * netsvcs/lib/{Client_Logging_Handler.cpp,Name_Handler.cpp,
- Server_Logging_Handler.cpp,TS_Service_Handler.cpp,
- Token_Handler.cpp}: added template specializations.
+ * netsvcs/lib/{Client_Logging_Handler.cpp,Name_Handler.cpp,
+ Server_Logging_Handler.cpp,TS_Service_Handler.cpp,
+ Token_Handler.cpp}: added template specializations.
Tue Mar 25 06:47:14 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/OS.h: Moved config.h to the top of OS.h so that we don't
- have to worry about not defining things in the right place.
- Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for pointing
- this out.
+ * ace/OS.h: Moved config.h to the top of OS.h so that we don't
+ have to worry about not defining things in the right place.
+ Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for pointing
+ this out.
Tue Mar 25 22:54:49 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/OS.i: Added UNICODE support for ACE_OS::chdir(). Thanks to
- Ivan Murphy <Ivan.Murphy@med.siemens.de> for the code.
+ * ace/OS.i: Added UNICODE support for ACE_OS::chdir(). Thanks to
+ Ivan Murphy <Ivan.Murphy@med.siemens.de> for the code.
Tue Mar 25 21:26:10 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/TTY_IO.{h,cpp},README, and these config files:
- config-aix-*.h, config-hpux-*.h, config-irix5.*.h,
- config-mvs.h, config-osf1-*.h, config-sun*.h (except for g++
- and config-sunos5.5-sunc++-4.1.h), config-win*.h:
- Added ACE_NEEDS_DEV_IO_CONVERSION to conditionally compile the
- ACE_DEV_IO & conversion operator for ACE_TTY_IO, which is a
- subclass of ACE_DEV_IO. Thanks to Fred LaBar
- <flabar@fallschurch.esys.com> and Gonzalo Diethelm
- <gonzo@ing.puc.cl> for reporting warnings without this on
- Irix 6.2 with the mipsPro compiler.
-
- * ace/OS.cpp (thr_create): on VxWorks, always pass 0 as first arg to
- ::taskSpawn () so that VxWorks will generate the task ID.
- Thanks to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com>
- for providing this fix, without which random task names would
- be assigned.
-
- * ace/ACE.cpp (get_bcast_addr): added return 0 at end of non-WIN32
- code to avoid compile warning from g++.
-
- * tests/IOStream_Test.cpp: removed extra "(%P|%t)" from output.
- I couldn't get ACE_ERROR_RETURN to work on g++: it complained
- about mismatched return types when returning an int from a
- function that returns a void *, and about mismatched arguments
- to an ACE_Log_Msg function if I cast the int to a void *. So,
- I used ACE_ERROR instead.
- Added ACE_UNUNSED_ARG (arg). Removed unused variables
- error_at_server and error_at_client.
-
- * netsvcs/lib/TS_Clerk_Handler.cpp: added another template
- specialization.
-
- * examples/Reactor/Multicast/client.cpp: Log_Wrapper::LOG_DEBUG
- instead of LM_DEBUG.
-
- * examples/Threads/context_switch_time.cpp: use ACE_Sched_Params
- to get platform-dependent thread priorities. Also, moved #includes
- so that config.h is read before testing for ACE_HAS_THREADS.
-
- * examples/Threads/{auto_event.cpp,barrier2.cpp,future1.cpp,
- future2.cpp,reader_writer.cpp,tss1.cpp,tss2.cpp}:
- added template specializations.
+ * ace/TTY_IO.{h,cpp},README, and these config files:
+ config-aix-*.h, config-hpux-*.h, config-irix5.*.h,
+ config-mvs.h, config-osf1-*.h, config-sun*.h (except for g++
+ and config-sunos5.5-sunc++-4.1.h), config-win*.h:
+ Added ACE_NEEDS_DEV_IO_CONVERSION to conditionally compile the
+ ACE_DEV_IO & conversion operator for ACE_TTY_IO, which is a
+ subclass of ACE_DEV_IO. Thanks to Fred LaBar
+ <flabar@fallschurch.esys.com> and Gonzalo Diethelm
+ <gonzo@ing.puc.cl> for reporting warnings without this on
+ Irix 6.2 with the mipsPro compiler.
+
+ * ace/OS.cpp (thr_create): on VxWorks, always pass 0 as first arg to
+ ::taskSpawn () so that VxWorks will generate the task ID.
+ Thanks to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com>
+ for providing this fix, without which random task names would
+ be assigned.
+
+ * ace/ACE.cpp (get_bcast_addr): added return 0 at end of non-WIN32
+ code to avoid compile warning from g++.
+
+ * tests/IOStream_Test.cpp: removed extra "(%P|%t)" from output.
+ I couldn't get ACE_ERROR_RETURN to work on g++: it complained
+ about mismatched return types when returning an int from a
+ function that returns a void *, and about mismatched arguments
+ to an ACE_Log_Msg function if I cast the int to a void *. So,
+ I used ACE_ERROR instead.
+ Added ACE_UNUNSED_ARG (arg). Removed unused variables
+ error_at_server and error_at_client.
+
+ * netsvcs/lib/TS_Clerk_Handler.cpp: added another template
+ specialization.
+
+ * examples/Reactor/Multicast/client.cpp: Log_Wrapper::LOG_DEBUG
+ instead of LM_DEBUG.
+
+ * examples/Threads/context_switch_time.cpp: use ACE_Sched_Params
+ to get platform-dependent thread priorities. Also, moved #includes
+ so that config.h is read before testing for ACE_HAS_THREADS.
+
+ * examples/Threads/{auto_event.cpp,barrier2.cpp,future1.cpp,
+ future2.cpp,reader_writer.cpp,tss1.cpp,tss2.cpp}:
+ added template specializations.
Tue Mar 25 10:01:05 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * config-linux.h: Added
- ACE_HAS_{SVR4_DYNAMIC_LINKING,AUTOMATIC_INIT_FINI}. Thanks to
- alex@aureus.sublink.org (Sandro Doro) for the change.
+ * config-linux.h: Added
+ ACE_HAS_{SVR4_DYNAMIC_LINKING,AUTOMATIC_INIT_FINI}. Thanks to
+ alex@aureus.sublink.org (Sandro Doro) for the change.
- * platform_linux.GNU: Added -ldl to LIBS. Thanks to
- alex@aureus.sublink.org (Sandro Doro) for the change.
+ * platform_linux.GNU: Added -ldl to LIBS. Thanks to
+ alex@aureus.sublink.org (Sandro Doro) for the change.
Tue Mar 25 16:01:34 1997 Carlos O'Ryan <coryan@charlie>
- * ace/Svc_Handler.cpp:
- I forgot to comment this: "operator delete" used to call ::delete
- on a void*, on ANSI/C++ this is not allowed. Since "operator new"
- calls ::new for a char[] I do a casting to char* and call
- ::delete[] on the char pointer.
-
- * ace/config-hpux-10.x-aCC.h:
- HP-UX 10.10 supports CLOCK_GETTIME, my guess is that it should
- work with g++ and HP/C++, but I won't mess with those files yet.
-
- * ace/Connector.h:
- The default address parameter for "connect" is a bit tricky, from
- the comments in the file:
- //
- // If the compiler supports 'typename' we cannot use
- //
- // PEER_CONNECTOR::PEER_ADDR::sap_any
- //
- // because PEER_CONNECTOR::PEER_ADDR is not considered a
- // type. But:
- //
- // typename PEER_CONNECTOR::PEER_ADDR::sap_any
- //
- // will not work either, because now we are declaring sap_any a
- // type, further:
- //
- // (typename PEER_CONNECTOR::PEER_ADDR)::sap_any
- //
- // is considered a casting expression. All I can think of is
- // using a typedef, I tried PEER_ADDR but that was a source of
- // trouble on some platforms. I will try:
- //
- typedef ACE_PEER_CONNECTOR_ADDR ACE_PEER_ADDR_TYPEDEF;
-
- * ace/OS.h:
- The stock HP C++ compiler (cfront based) gives lots of warnings in
- <net/if.h>. I used to define volatile to avoid this warnings. Now
- I think I'll rather like to see them.
-
- * ace/SPIPE_Stream.h:
- * ace/SPIPE_Connector.h:
- There was no meta-type info (PEER_ADDR) for SPIPE_Stream and
- SPIPE_Connector.
-
- * ace/Stream_Modules.h:
- * ace/Stream_Modules.cpp:
- Fixed a "bug" introduced in my last change: a couple of
- ACE_ALLOC_HOOK_* were commented but shouldn't.
-
- * examples/Connection/non-blocking/CPP-acceptor.cpp (open):
- PR_AD cannot be used in this context, it expands to
- _ACE_PEER_ACCEPTOR::PEER_ADDR (via ACE_PEER_ACCEPTOR_ADDR), but
- the template parameter is _ACE_PEER_STREAM (aka PR_ST_1, aka
- ACE_PEER_STREAM_1).
- The right macro was ACE_PEER_STREAM_ADDR.
-
- * ace/Connector.h:
- * ace/Connector.cpp:
- The typedef trick I used (PEER_ADDR) did not work on every
- platform.
- I also broke some examples since ACE_PEER_CONNECTOR_ADDR did not
- include ACE_TYPENAME on its definition. Hopefully this new trick
- will work everywhere.
-
- * I finally sorted out the mistery of including "ace/Module.h"
- into "ace/Task_T.cpp": when compiling "ace/Stream_Modules.cpp" you
- get the following include sequence:
- Stream_Modules.cpp
- Stream_Modules.h
- Task.h
- Task.i
- Task_T.h
- Message_Queue.h (descendants removed)
- Synch_T.h (descendants removed)
- Task.h (already included).
- Task_T.i
- Task_T.cpp
- Module.h
- ACE.h (descendants removed)
- Task.h (already included).
- Module.i
- Module.cpp
-
- At this point Module.cpp uses ACE_Thru_Task declared on
- Stream_Modules.h, but after the #include "ace/Task.h";
- in fact Module.cpp tries to #include "ace/Stream_Modules.cpp" but
- that second #include expands to nothing due to the canonical
- protection on Stream_Modules.h.
- That explains the removal of Module.h in Task_T.cpp.
- If you are wondering why so long an explanation for this change
- the answer is simple: just because I was curious on now it worked.
+ * ace/Svc_Handler.cpp:
+ I forgot to comment this: "operator delete" used to call ::delete
+ on a void*, on ANSI/C++ this is not allowed. Since "operator new"
+ calls ::new for a char[] I do a casting to char* and call
+ ::delete[] on the char pointer.
+
+ * ace/config-hpux-10.x-aCC.h:
+ HP-UX 10.10 supports CLOCK_GETTIME, my guess is that it should
+ work with g++ and HP/C++, but I won't mess with those files yet.
+
+ * ace/Connector.h:
+ The default address parameter for "connect" is a bit tricky, from
+ the comments in the file:
+ //
+ // If the compiler supports 'typename' we cannot use
+ //
+ // PEER_CONNECTOR::PEER_ADDR::sap_any
+ //
+ // because PEER_CONNECTOR::PEER_ADDR is not considered a
+ // type. But:
+ //
+ // typename PEER_CONNECTOR::PEER_ADDR::sap_any
+ //
+ // will not work either, because now we are declaring sap_any a
+ // type, further:
+ //
+ // (typename PEER_CONNECTOR::PEER_ADDR)::sap_any
+ //
+ // is considered a casting expression. All I can think of is
+ // using a typedef, I tried PEER_ADDR but that was a source of
+ // trouble on some platforms. I will try:
+ //
+ typedef ACE_PEER_CONNECTOR_ADDR ACE_PEER_ADDR_TYPEDEF;
+
+ * ace/OS.h:
+ The stock HP C++ compiler (cfront based) gives lots of warnings in
+ <net/if.h>. I used to define volatile to avoid this warnings. Now
+ I think I'll rather like to see them.
+
+ * ace/SPIPE_Stream.h:
+ * ace/SPIPE_Connector.h:
+ There was no meta-type info (PEER_ADDR) for SPIPE_Stream and
+ SPIPE_Connector.
+
+ * ace/Stream_Modules.h:
+ * ace/Stream_Modules.cpp:
+ Fixed a "bug" introduced in my last change: a couple of
+ ACE_ALLOC_HOOK_* were commented but shouldn't.
+
+ * examples/Connection/non-blocking/CPP-acceptor.cpp (open):
+ PR_AD cannot be used in this context, it expands to
+ _ACE_PEER_ACCEPTOR::PEER_ADDR (via ACE_PEER_ACCEPTOR_ADDR), but
+ the template parameter is _ACE_PEER_STREAM (aka PR_ST_1, aka
+ ACE_PEER_STREAM_1).
+ The right macro was ACE_PEER_STREAM_ADDR.
+
+ * ace/Connector.h:
+ * ace/Connector.cpp:
+ The typedef trick I used (PEER_ADDR) did not work on every
+ platform.
+ I also broke some examples since ACE_PEER_CONNECTOR_ADDR did not
+ include ACE_TYPENAME on its definition. Hopefully this new trick
+ will work everywhere.
+
+ * I finally sorted out the mistery of including "ace/Module.h"
+ into "ace/Task_T.cpp": when compiling "ace/Stream_Modules.cpp" you
+ get the following include sequence:
+ Stream_Modules.cpp
+ Stream_Modules.h
+ Task.h
+ Task.i
+ Task_T.h
+ Message_Queue.h (descendants removed)
+ Synch_T.h (descendants removed)
+ Task.h (already included).
+ Task_T.i
+ Task_T.cpp
+ Module.h
+ ACE.h (descendants removed)
+ Task.h (already included).
+ Module.i
+ Module.cpp
+
+ At this point Module.cpp uses ACE_Thru_Task declared on
+ Stream_Modules.h, but after the #include "ace/Task.h";
+ in fact Module.cpp tries to #include "ace/Stream_Modules.cpp" but
+ that second #include expands to nothing due to the canonical
+ protection on Stream_Modules.h.
+ That explains the removal of Module.h in Task_T.cpp.
+ If you are wondering why so long an explanation for this change
+ the answer is simple: just because I was curious on now it worked.
Mon Mar 24 14:08:48 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/SOCK_Dgram_Bcast.cpp (mk_broadcast): Cleaned up the code a
- bit.
+ * ace/SOCK_Dgram_Bcast.cpp (mk_broadcast): Cleaned up the code a
+ bit.
- * ace/ACE: Added a new method called get_bcast_addr() which will
- get the broadcast address for a host. Thanks to Paul Han
- <phan@CCGATE.HAC.COM> for suggesting this.
+ * ace/ACE: Added a new method called get_bcast_addr() which will
+ get the broadcast address for a host. Thanks to Paul Han
+ <phan@CCGATE.HAC.COM> for suggesting this.
- * ace/UNIX_Addr: Added another set method in UNIX_Addr class:
+ * ace/UNIX_Addr: Added another set method in UNIX_Addr class:
- void set (const ACE_UNIX_Addr &sa);
- // Creates an ACE_UNIX_Addr from another <ACE_UNIX_Addr>.
+ void set (const ACE_UNIX_Addr &sa);
+ // Creates an ACE_UNIX_Addr from another <ACE_UNIX_Addr>.
- Thanks to Paul Han <phan@CCGATE.HAC.COM> for this.
-
- * ace/SOCK_Dgram: Removed the #if defined (ACE_HAS_IP_MULTICAST)
- since this is now handled at the ACE_OS level.
+ Thanks to Paul Han <phan@CCGATE.HAC.COM> for this.
+
+ * ace/SOCK_Dgram: Removed the #if defined (ACE_HAS_IP_MULTICAST)
+ since this is now handled at the ACE_OS level.
- * ace/OS.h: Added support for IP multicast macros and structs even
- on platforms that don't support it so that the tests will
- compile without having lots of #ifdefs.
+ * ace/OS.h: Added support for IP multicast macros and structs even
+ on platforms that don't support it so that the tests will
+ compile without having lots of #ifdefs.
- * tests/Future_Test.cpp: Added a check for platforms that lack
- threads. Thanks to Hakan Kallberg <hk@simulina.se>
- for reporting this.
+ * tests/Future_Test.cpp: Added a check for platforms that lack
+ threads. Thanks to Hakan Kallberg <hk@simulina.se>
+ for reporting this.
- * netsvcs/lib/Server_Logging_Handler.cpp: Added a check for
- platforms that lack threads. Thanks to Hakan Kallberg
- <hk@simulina.se> for reporting this.
+ * netsvcs/lib/Server_Logging_Handler.cpp: Added a check for
+ platforms that lack threads. Thanks to Hakan Kallberg
+ <hk@simulina.se> for reporting this.
- * examples/Threads/context_switch_time.cpp: Added an #ifdef for
- ACE_HAS_THREADS to this test so that it will compile on
- platforms that don't have threading. Thanks to Scott Halstead
- <scott.halstead@gs.com> for reporting this.
+ * examples/Threads/context_switch_time.cpp: Added an #ifdef for
+ ACE_HAS_THREADS to this test so that it will compile on
+ platforms that don't have threading. Thanks to Scott Halstead
+ <scott.halstead@gs.com> for reporting this.
- * tests/IOStream_Test.cpp: Fixed up this test so that it works
- correctly on platforms that lack multi-threading. Thanks to
- Scott Halstead <scott.halstead@gs.com> for reporting this.
+ * tests/IOStream_Test.cpp: Fixed up this test so that it works
+ correctly on platforms that lack multi-threading. Thanks to
+ Scott Halstead <scott.halstead@gs.com> for reporting this.
- * netsvcs/lib/Makefile: Reincluded the LIB target so that we'll
- build a static library. Thanks to Scott Halstead
- <scott.halstead@gs.com> for reporting this.
+ * netsvcs/lib/Makefile: Reincluded the LIB target so that we'll
+ build a static library. Thanks to Scott Halstead
+ <scott.halstead@gs.com> for reporting this.
- * ace/SOCK_Dgram.cpp (recv): Added a check to make sure that we
- don't try to copy more into the recv buffer than we've really
- got. Thanks to Alan_Cabrera@fp.cibc.com for this fix.
+ * ace/SOCK_Dgram.cpp (recv): Added a check to make sure that we
+ don't try to copy more into the recv buffer than we've really
+ got. Thanks to Alan_Cabrera@fp.cibc.com for this fix.
- * ace/OS.cpp (readv): Added a check to make sure that we don't try
- to copy more into the recv buffer than we've really got. Thanks
- to Alan_Cabrera@fp.cibc.com for this fix.
+ * ace/OS.cpp (readv): Added a check to make sure that we don't try
+ to copy more into the recv buffer than we've really got. Thanks
+ to Alan_Cabrera@fp.cibc.com for this fix.
- * ace/Malloc.h: Modified the alignment strategy to define
- ACE_MALLOC_ALIGN to a number of bytes. (it gets rounded to a
- number of long's). This makes it easier to work with more
- complex buffer alignment strategies (e.g., DMA). Thanks to Fred
- LaBar <flabar@fallschurch.esys.com> for this.
+ * ace/Malloc.h: Modified the alignment strategy to define
+ ACE_MALLOC_ALIGN to a number of bytes. (it gets rounded to a
+ number of long's). This makes it easier to work with more
+ complex buffer alignment strategies (e.g., DMA). Thanks to Fred
+ LaBar <flabar@fallschurch.esys.com> for this.
- * ace/OS.cpp (readv): Added several more changes for the readv()
- emulation. Thanks to Alan Cabrera <Alan_Cabrera@fp.cibc.com>
- and Adam Porter <aporter@cs.umd.edu> for these fixes.
+ * ace/OS.cpp (readv): Added several more changes for the readv()
+ emulation. Thanks to Alan Cabrera <Alan_Cabrera@fp.cibc.com>
+ and Adam Porter <aporter@cs.umd.edu> for these fixes.
Mon Mar 24 14:22:17 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.cpp (thr_create): For VxWorks, fixed call to ::taskSpawn ().
- ACE's arguments are in an array, not individual arguments.
- Also, set flags to VX_FP_TASK if it's 0, to match behavior
- of ::sp (). Thanks to Dave Mayerhoefer
- <mayerhoefer@svappl36.mdc.com> for reporting these and providing
- the fix.
+ * ace/OS.cpp (thr_create): For VxWorks, fixed call to ::taskSpawn ().
+ ACE's arguments are in an array, not individual arguments.
+ Also, set flags to VX_FP_TASK if it's 0, to match behavior
+ of ::sp (). Thanks to Dave Mayerhoefer
+ <mayerhoefer@svappl36.mdc.com> for reporting these and providing
+ the fix.
- * ace/High_Res_Timer.cpp (elapsed_time (struct timespec &):
- fixed, using same approach as in elapsed_time
- (ACE_hrtime_t &nanoseconds), to get nanosecond resolution.
+ * ace/High_Res_Timer.cpp (elapsed_time (struct timespec &):
+ fixed, using same approach as in elapsed_time
+ (ACE_hrtime_t &nanoseconds), to get nanosecond resolution.
- * netsvcs/lib/TS_Clerk_Handler.cpp (handle_close): added
- ACE_UNUSED_ARG (mask). Also, added template specializations.
+ * netsvcs/lib/TS_Clerk_Handler.cpp (handle_close): added
+ ACE_UNUSED_ARG (mask). Also, added template specializations.
- * examples/Reactor/Multicast/server.cpp (Server_Events ctor):
- rearranged initializers to match declaration order.
+ * examples/Reactor/Multicast/server.cpp (Server_Events ctor):
+ rearranged initializers to match declaration order.
- * examples/IOStream/server/iostream_server.cpp,
- client/iostream_client.cpp:
- added template specializations.
+ * examples/IOStream/server/iostream_server.cpp,
+ client/iostream_client.cpp:
+ added template specializations.
Mon Mar 24 13:21:31 1997 Tim H. Harrison <harrison@lambada.cs.wustl.edu>
- * ace/High_Res_Timer.cpp (elapsed_time): Added an
- ACE_High_Res_Timer::elapsed_time (ACE_hrtime_t &nanosecond)
- method that returns the number of elapsed nanoseconds. This is
- accomplished even with the scale factors converting to
- microseconds. It also does not use floating point
- calculations.
+ * ace/High_Res_Timer.cpp (elapsed_time): Added an
+ ACE_High_Res_Timer::elapsed_time (ACE_hrtime_t &nanosecond)
+ method that returns the number of elapsed nanoseconds. This is
+ accomplished even with the scale factors converting to
+ microseconds. It also does not use floating point
+ calculations.
Sun Mar 23 13:25:39 1997 Tim H. Harrison <harrison@lambada.cs.wustl.edu>
- * ace/High_Res_Timer.h: Removed <scale_factor> from the
- constructor of High_Res_Timer. All High_Res_Timers now use
- global_scale_factor_ directly. Hopefully, this will not break
- any existing code!
+ * ace/High_Res_Timer.h: Removed <scale_factor> from the
+ constructor of High_Res_Timer. All High_Res_Timers now use
+ global_scale_factor_ directly. Hopefully, this will not break
+ any existing code!
Sat Mar 22 12:06:22 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/OS.h: The include statement for config.h was too low. Some
- defines for key_t, needed for NT, didn't work. Thanks to Alan
- Cabrera <Alan_Cabrera@fp.cibc.com> for these fixes.
-
- * examples/Reactor/Multicast: Improved the multicast client and
- server programs to work better.
-
- * ace/Connector.cpp: Modified the ACE_Connector::handle_close()
- method to prevent recursive calls to itself. Thanks to Paul Han
- <phan@CCGATE.HAC.COM> for reporting this.
-
- * ace/Svc_Handler.cpp: Put the check (closing_ == 0) in the
- destructor as well as in the destroy() method. This prevents a
- possible core dump when the timer exists. The instruction
- reactor::remove_handler in the shutdown method currently will be
- called twice when ACE_Svc_Handler object is being deleted. Core
- dump occurs when it tries to execute ACE_Reactor::remove_handler
- method the second time because the ACE_Svc_Handler object
- pointer has already been deleted by the previous instruction
- ACE_Reactor::cancel_timer. Thanks to Paul Han
- <phan@CCGATE.HAC.COM> for reporting this.
-
- * ace/OS.cpp: Added new thread-safe implementations of writev()
- and readv() for platforms that lack these functions.
-
- * ace/SOCK_Dgram.cpp: Added new implementations of
- ACE_SOCK_Dgram::{send,recv} that define methods for
- send(iovec[], ...) and recv(iovec[], ...) for systems that
- don't have sendmsg() and recvmsg(). Thanks to Alan Cabrera
- <Alan_Cabrera@fp.cibc.com> for these fixes.
-
- * apps/jaws/HTTP_Handler.cpp: Removed some problematic template
- specializations that were left over from an earlier version of
- JAWS. Thanks to Adam Porter <aporter@cs.umd.edu> for reporting
- this.
-
- * examples/Logger/Acceptor-server/server_loggerd.cpp: Revised the
- code to use the new ACE_Svc_Handler logic that checks to ensure
- that we don't recurse infinitely in handle_close().
- Thanks to Jean-Marc Strauss <strauss@club-internet.fr> for
- reporting this problem.
-
- * examples/Logger/simple-server/Logging_Handler.cpp
- (handle_close): Added a check to make sure we don't end up
- recursively calling handle_close(). This will prevent
- a segfault.
+ * ace/OS.h: The include statement for config.h was too low. Some
+ defines for key_t, needed for NT, didn't work. Thanks to Alan
+ Cabrera <Alan_Cabrera@fp.cibc.com> for these fixes.
+
+ * examples/Reactor/Multicast: Improved the multicast client and
+ server programs to work better.
+
+ * ace/Connector.cpp: Modified the ACE_Connector::handle_close()
+ method to prevent recursive calls to itself. Thanks to Paul Han
+ <phan@CCGATE.HAC.COM> for reporting this.
+
+ * ace/Svc_Handler.cpp: Put the check (closing_ == 0) in the
+ destructor as well as in the destroy() method. This prevents a
+ possible core dump when the timer exists. The instruction
+ reactor::remove_handler in the shutdown method currently will be
+ called twice when ACE_Svc_Handler object is being deleted. Core
+ dump occurs when it tries to execute ACE_Reactor::remove_handler
+ method the second time because the ACE_Svc_Handler object
+ pointer has already been deleted by the previous instruction
+ ACE_Reactor::cancel_timer. Thanks to Paul Han
+ <phan@CCGATE.HAC.COM> for reporting this.
+
+ * ace/OS.cpp: Added new thread-safe implementations of writev()
+ and readv() for platforms that lack these functions.
+
+ * ace/SOCK_Dgram.cpp: Added new implementations of
+ ACE_SOCK_Dgram::{send,recv} that define methods for
+ send(iovec[], ...) and recv(iovec[], ...) for systems that
+ don't have sendmsg() and recvmsg(). Thanks to Alan Cabrera
+ <Alan_Cabrera@fp.cibc.com> for these fixes.
+
+ * apps/jaws/HTTP_Handler.cpp: Removed some problematic template
+ specializations that were left over from an earlier version of
+ JAWS. Thanks to Adam Porter <aporter@cs.umd.edu> for reporting
+ this.
+
+ * examples/Logger/Acceptor-server/server_loggerd.cpp: Revised the
+ code to use the new ACE_Svc_Handler logic that checks to ensure
+ that we don't recurse infinitely in handle_close().
+ Thanks to Jean-Marc Strauss <strauss@club-internet.fr> for
+ reporting this problem.
+
+ * examples/Logger/simple-server/Logging_Handler.cpp
+ (handle_close): Added a check to make sure we don't end up
+ recursively calling handle_close(). This will prevent
+ a segfault.
Sat Mar 22 07:30:49 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/High_Res_Timer.*: Changed scale factor to convert
- platform-dependent clock units to microseconds instead of
- nanoseconds. That way, it should be greater than 1 for
- all supported platforms. So, it's now an unsigned long
- instead of a double.
+ * ace/High_Res_Timer.*: Changed scale factor to convert
+ platform-dependent clock units to microseconds instead of
+ nanoseconds. That way, it should be greater than 1 for
+ all supported platforms. So, it's now an unsigned long
+ instead of a double.
- * ace/OS.h: Changed ACE_hrtime_t to unsigned __int64 with
- _MSC_VER. Also, fixed typo: "uint64" instead of "unit64"
- without _MSC_VER.
+ * ace/OS.h: Changed ACE_hrtime_t to unsigned __int64 with
+ _MSC_VER. Also, fixed typo: "uint64" instead of "unit64"
+ without _MSC_VER.
Fri Mar 21 08:37:34 1997 Carlos O'Ryan <coryan@charlie>
- * makeinclude/rules.lib.GNU:
- I use the macro SOEXT to support HP non-standard extension for
- shared library names (.sl instead of .so).
- I also changed the rule to build shared libraries: under HP-UX you
- cannot pass extra libraries (-lXXX options) when building a shared
- lib. Before HP-UX 10.10 it wasn't a problem because no library was
- needed with ACE, but to support XLI the '-lxti' flag must be used
- on binaries (but not on shared libs).
-
- * include/makeinclude/platform_hpux.GNU:
- The PIC option (+Z) was used always, clearly not intended.
-
- * include/makeinclude/platform_hpux_gcc.GNU:
- Added a config file for g++ under HP-UX.
-
- * include/makeinclude/platform_hpux_aCC.GNU:
- Added a config file for HP/aCC compiler under HP-UX.
-
- * ace/Makefile:
- * netsvcs/lib/Makefile:
- Changed to support the SOEXT macro.
-
- * config-hpux-10.x.h:
- * config-hpux-10.x-aCC.h:
- * config-hpux-10.x-g++.h:
- I updated the files to HP-UX 10.10, AFAIK since that version HP-UX
- uses fd_set instead of int in select(2) (so ACE_SELECT_USES_INT is
- not needed) and the OS supports siginfo_t and ucontext_t so
- ACE_HAS_SIGINFO_T and ACE_HAS_UCONTEXT_T are defined.
- I *do not* have threads at my site nor the infamous PHSS_6246
- patch so I couldn't test the threaded version nor the HP cfront
- based one.
- ACE compiled fine with g++ and HP/aCC though.
-
- * ace/OS.h:
- * ace/Malloc_T.h:
- HP/aCC supports the typename keyword. I added a new config macro
- 'ACE_HAS_TYPENAME_KEYWORD', when it is defined ACE_TYPENAME
- expands to 'typename' when not it expands to nothing.
- On the cases where HP/aCC requires the usage of 'typename' I added
- a 'ACE_TYPENAME'.
-
- * ace/OS.i:
- * ace/OS.cpp:
- ACE_OS::inet_aton cannot be inlined under HP-UX.
-
- * ace/Connector.h:
- * ace/Connector.cpp:
- I have decided to use a typedef (PEER_ADDR) instead of
- ACE_PEER_CONNECTOR_ADDR, mainly because the second form
- requires a ACE_TYPENAME before each usage.
-
- * ace/Event_Handler_T.i:
- Much to my surprize ACE_TYPENAME is required when using a template
- typedef as a return value.
-
- * ace/Local_Name_Space_T.h:
- HP/aCC does not like the usage of a private typedef from another
- class.
-
- * ace/Strategies_T.h:
- * ace/Strategies_T.cpp:
- ACE_Process_Strategy declared two defaults constructors:
- ACE_Process_Strategy(void) and ACE_Process_Strategy(int = 1).
- The constructor code was wrong, it called open() with parameters:
- open(thr_mgr, thr_flags, n_threads)
- none of which were defined, worse, open() receives just one
- parameter (the number of processes) just as the constructor, I
- believe that C-w programming is lurking here.
-
- * ace/Signal.cpp:
- Though the header file does not declare ACE_Sig_Handlers under
- HP-UX (and the code is not defined too) some auxiliary functions
- that use ACE_Sig_Handlers were defined. I removed their
- definition.
- Some day I'll try to take a look at the code, trying to find out
- was wrong with them.
-
- * ace/Stream_Modules.h:
- * ace/Stream_Modules.cpp:
- By mistake I commented out the ACE_ALLOC_HOOK_* macros; have to
- fix it *real soon*.
-
- * ace/Task_T.cpp:
- No need to include "ace/Module.h" since only the template
- declaration is used. When ACE_TEMPLATES_REQUIRE_SOURCE is defined
- you end up using ACE_Thru_Task before it gets defined.
- This is no problem unless your compiler checks template sintax
- before instantiation as the HP/aCC compiler do.
-
- * examples/Reactor/Misc/test_demuxing.cpp:
- ACE_MT_SYNCH was used, but it is only defined if ACE_HAS_THREADS,
- I used ACE_SYNCH instead, which is defined as ACE_MT_SYNCH if
- ACE_HAS_THREADS and as ACE_NULL_SYNCH if not.
- Maybe the semantics are wrong, but the thing compiles.
+ * makeinclude/rules.lib.GNU:
+ I use the macro SOEXT to support HP non-standard extension for
+ shared library names (.sl instead of .so).
+ I also changed the rule to build shared libraries: under HP-UX you
+ cannot pass extra libraries (-lXXX options) when building a shared
+ lib. Before HP-UX 10.10 it wasn't a problem because no library was
+ needed with ACE, but to support XLI the '-lxti' flag must be used
+ on binaries (but not on shared libs).
+
+ * include/makeinclude/platform_hpux.GNU:
+ The PIC option (+Z) was used always, clearly not intended.
+
+ * include/makeinclude/platform_hpux_gcc.GNU:
+ Added a config file for g++ under HP-UX.
+
+ * include/makeinclude/platform_hpux_aCC.GNU:
+ Added a config file for HP/aCC compiler under HP-UX.
+
+ * ace/Makefile:
+ * netsvcs/lib/Makefile:
+ Changed to support the SOEXT macro.
+
+ * config-hpux-10.x.h:
+ * config-hpux-10.x-aCC.h:
+ * config-hpux-10.x-g++.h:
+ I updated the files to HP-UX 10.10, AFAIK since that version HP-UX
+ uses fd_set instead of int in select(2) (so ACE_SELECT_USES_INT is
+ not needed) and the OS supports siginfo_t and ucontext_t so
+ ACE_HAS_SIGINFO_T and ACE_HAS_UCONTEXT_T are defined.
+ I *do not* have threads at my site nor the infamous PHSS_6246
+ patch so I couldn't test the threaded version nor the HP cfront
+ based one.
+ ACE compiled fine with g++ and HP/aCC though.
+
+ * ace/OS.h:
+ * ace/Malloc_T.h:
+ HP/aCC supports the typename keyword. I added a new config macro
+ 'ACE_HAS_TYPENAME_KEYWORD', when it is defined ACE_TYPENAME
+ expands to 'typename' when not it expands to nothing.
+ On the cases where HP/aCC requires the usage of 'typename' I added
+ a 'ACE_TYPENAME'.
+
+ * ace/OS.i:
+ * ace/OS.cpp:
+ ACE_OS::inet_aton cannot be inlined under HP-UX.
+
+ * ace/Connector.h:
+ * ace/Connector.cpp:
+ I have decided to use a typedef (PEER_ADDR) instead of
+ ACE_PEER_CONNECTOR_ADDR, mainly because the second form
+ requires a ACE_TYPENAME before each usage.
+
+ * ace/Event_Handler_T.i:
+ Much to my surprize ACE_TYPENAME is required when using a template
+ typedef as a return value.
+
+ * ace/Local_Name_Space_T.h:
+ HP/aCC does not like the usage of a private typedef from another
+ class.
+
+ * ace/Strategies_T.h:
+ * ace/Strategies_T.cpp:
+ ACE_Process_Strategy declared two defaults constructors:
+ ACE_Process_Strategy(void) and ACE_Process_Strategy(int = 1).
+ The constructor code was wrong, it called open() with parameters:
+ open(thr_mgr, thr_flags, n_threads)
+ none of which were defined, worse, open() receives just one
+ parameter (the number of processes) just as the constructor, I
+ believe that C-w programming is lurking here.
+
+ * ace/Signal.cpp:
+ Though the header file does not declare ACE_Sig_Handlers under
+ HP-UX (and the code is not defined too) some auxiliary functions
+ that use ACE_Sig_Handlers were defined. I removed their
+ definition.
+ Some day I'll try to take a look at the code, trying to find out
+ was wrong with them.
+
+ * ace/Stream_Modules.h:
+ * ace/Stream_Modules.cpp:
+ By mistake I commented out the ACE_ALLOC_HOOK_* macros; have to
+ fix it *real soon*.
+
+ * ace/Task_T.cpp:
+ No need to include "ace/Module.h" since only the template
+ declaration is used. When ACE_TEMPLATES_REQUIRE_SOURCE is defined
+ you end up using ACE_Thru_Task before it gets defined.
+ This is no problem unless your compiler checks template sintax
+ before instantiation as the HP/aCC compiler do.
+
+ * examples/Reactor/Misc/test_demuxing.cpp:
+ ACE_MT_SYNCH was used, but it is only defined if ACE_HAS_THREADS,
+ I used ACE_SYNCH instead, which is defined as ACE_MT_SYNCH if
+ ACE_HAS_THREADS and as ACE_NULL_SYNCH if not.
+ Maybe the semantics are wrong, but the thing compiles.
Fri Mar 21 15:10:59 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/Makefile (FILES): Moved Log_Msg to the beginning of the
- source list in the ace Makefile. This is nice because it forces
- the compilation of OS.i and that, obviously, is where you get
- the complaints for the port. It's nice to have it at the
- beginning so you catch the errors very early on before you've
- compiled 30 or 40 files. Thanks to Scott Halstead
- <scott.halstead@gs.com> for this suggestion.
+ * ace/Makefile (FILES): Moved Log_Msg to the beginning of the
+ source list in the ace Makefile. This is nice because it forces
+ the compilation of OS.i and that, obviously, is where you get
+ the complaints for the port. It's nice to have it at the
+ beginning so you catch the errors very early on before you've
+ compiled 30 or 40 files. Thanks to Scott Halstead
+ <scott.halstead@gs.com> for this suggestion.
- * ace/Memory_Pool.cpp: Added #if !defined
- (ACE_LACKS_SYSV_SHMEM) to handle systems like Chorus that
- lack this feature.
+ * ace/Memory_Pool.cpp: Added #if !defined
+ (ACE_LACKS_SYSV_SHMEM) to handle systems like Chorus that
+ lack this feature.
Thu Mar 20 18:58:50 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/Svc_Handler.cpp (destroy): Added a state variable to keep
- track of when we are closing down the Svc_Handler. This is
- necessary to prevent endless recursive calls to handle_close()
- due to the recent enhancements to ACE_Timer_{List,Heap}. Thanks
- to Bert Craytor <Bert_Craytor@peoplesoft.com> for reporting
- this.
+ * ace/Svc_Handler.cpp (destroy): Added a state variable to keep
+ track of when we are closing down the Svc_Handler. This is
+ necessary to prevent endless recursive calls to handle_close()
+ due to the recent enhancements to ACE_Timer_{List,Heap}. Thanks
+ to Bert Craytor <Bert_Craytor@peoplesoft.com> for reporting
+ this.
- * tests/Conn_Test.cpp: Added a new test that makes sure the
- Acceptor, Connector, and Svc_Handler are working correctly.
+ * tests/Conn_Test.cpp: Added a new test that makes sure the
+ Acceptor, Connector, and Svc_Handler are working correctly.
- * ace: Added some more changes for Chorus. Thanks to Wei Chiang
- <chiang@tele.nokia.fi> for these changes.
+ * ace: Added some more changes for Chorus. Thanks to Wei Chiang
+ <chiang@tele.nokia.fi> for these changes.
- * ace/OS.h: Added #define for SIGSEGV for platforms that lack it
- (e.g., Chorus).
+ * ace/OS.h: Added #define for SIGSEGV for platforms that lack it
+ (e.g., Chorus).
- * ace: Made a bunch of minor changes to support SunOS 4.x better.
- Thanks to Scott Halstead <scott.halstead@gs.com> for reporting
- these problems.
+ * ace: Made a bunch of minor changes to support SunOS 4.x better.
+ Thanks to Scott Halstead <scott.halstead@gs.com> for reporting
+ these problems.
- * tests/Conn_Test.cpp: Added ACE_TEMPLATES_REQUIRE_SPECIALIZATION
- for the various templates used in this test. Thanks to Thilo
- Kielmann <kielmann@informatik.uni-siegen.de> for reporting this.
+ * tests/Conn_Test.cpp: Added ACE_TEMPLATES_REQUIRE_SPECIALIZATION
+ for the various templates used in this test. Thanks to Thilo
+ Kielmann <kielmann@informatik.uni-siegen.de> for reporting this.
- * ace/Connector.cpp (connector): Fixed some minor bugs that
- prevented the ACE_Connector from compiling. Thanks to David
- Levine for noticing this.
+ * ace/Connector.cpp (connector): Fixed some minor bugs that
+ prevented the ACE_Connector from compiling. Thanks to David
+ Levine for noticing this.
- * ace/OS.h: Moved the ACE_LACKS_SIGACTION block so that it will
- work on Win32. Thanks to Matthias Kerkhoff
- <make@cs.tu-berlin.de> for pointing this out.
+ * ace/OS.h: Moved the ACE_LACKS_SIGACTION block so that it will
+ work on Win32. Thanks to Matthias Kerkhoff
+ <make@cs.tu-berlin.de> for pointing this out.
Thu Mar 20 22:38:27 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Timer_Heap.cpp: added template specializations.
-
- * netsvcs/lib/Client_Logging_Handler.cpp,
- Name_Handler.cpp
- Server_Logging_Handler.cpp
- TS_Clerk_Handler.cpp
- TS_Server_Handler.cpp
- Token_Handler.cpp: added template specializations.
- There are still many missing from libnetsvcs.
-
- * tests/Conn_Test.cpp,
- Future_Test.cpp
- IOStream_Test.cpp
- Map_Manager_Test.cpp
- Message_Block_Test.cpp
- Message_Queue_Test.cpp
- Reader_Writer_Test.cpp
- SV_Shared_Memory_Test.cpp
- Thread_Pool_Test.cpp}: added template specializations.
- Thanks to Thilo Kielmann <kielmann@informatik.uni-siegen.de>
- for providing these.
-
- * ace/Log_Msg.cpp: removed commented-out template specialization.
-
- * include/makeinclude/platform_{chorus,hpux,hpux_gcc}.GNU:
- split out CFLAGS and CCFLAGS from CC and CXX.
-
- * ace/config-aix-4.[12].x.h: added back ACE_HAS_THREAD_SELF and
- and ACE_HAS_SVR4_DYNAMIC_LINKING; removed ACE_HAS_PTHREAD_T.
- Thanks to Chris Lahey <CLahey@cccis.com> for figuring these out.
+ * ace/Timer_Heap.cpp: added template specializations.
+
+ * netsvcs/lib/Client_Logging_Handler.cpp,
+ Name_Handler.cpp
+ Server_Logging_Handler.cpp
+ TS_Clerk_Handler.cpp
+ TS_Server_Handler.cpp
+ Token_Handler.cpp: added template specializations.
+ There are still many missing from libnetsvcs.
+
+ * tests/Conn_Test.cpp,
+ Future_Test.cpp
+ IOStream_Test.cpp
+ Map_Manager_Test.cpp
+ Message_Block_Test.cpp
+ Message_Queue_Test.cpp
+ Reader_Writer_Test.cpp
+ SV_Shared_Memory_Test.cpp
+ Thread_Pool_Test.cpp}: added template specializations.
+ Thanks to Thilo Kielmann <kielmann@informatik.uni-siegen.de>
+ for providing these.
+
+ * ace/Log_Msg.cpp: removed commented-out template specialization.
+
+ * include/makeinclude/platform_{chorus,hpux,hpux_gcc}.GNU:
+ split out CFLAGS and CCFLAGS from CC and CXX.
+
+ * ace/config-aix-4.[12].x.h: added back ACE_HAS_THREAD_SELF and
+ and ACE_HAS_SVR4_DYNAMIC_LINKING; removed ACE_HAS_PTHREAD_T.
+ Thanks to Chris Lahey <CLahey@cccis.com> for figuring these out.
Thu Mar 20 12:25:30 1997 <harrison@samba.cs.wustl.edu>
- * ace/ace.{mak,mdp}: Build->Settings->Code Generation->Processor is
- now set to "Pentium" instead of "Blend*" for Debug and Release
- builds.
+ * ace/ace.{mak,mdp}: Build->Settings->Code Generation->Processor is
+ now set to "Pentium" instead of "Blend*" for Debug and Release
+ builds.
- * ace/config-win32-msvc4.x.h:
- * ace/config-win32-msvc2.0.h:
- * ace/config-winnt-4.0-msvc4.x.h: Only define ACE_HAS_PENTIUM when
- _M_IX86 == 500. Projects must specify Pentium in
- Build->Settings->Code Generation->Processor to use the RDTSC
- instruction in ACE_OS::gethrtime.
+ * ace/config-win32-msvc4.x.h:
+ * ace/config-win32-msvc2.0.h:
+ * ace/config-winnt-4.0-msvc4.x.h: Only define ACE_HAS_PENTIUM when
+ _M_IX86 == 500. Projects must specify Pentium in
+ Build->Settings->Code Generation->Processor to use the RDTSC
+ instruction in ACE_OS::gethrtime.
- * ace/High_Res_Timer.{cpp,i}: By default, High_Res_Timer is
- constructed with a scale_factor == 1. This allowed me to remove
- all the checks for scale_factor == 0 in the code.
+ * ace/High_Res_Timer.{cpp,i}: By default, High_Res_Timer is
+ constructed with a scale_factor == 1. This allowed me to remove
+ all the checks for scale_factor == 0 in the code.
- * ace/High_Res_Timer.h (static gettimeofday): If
- global_scale_factor_ is not set, and we're on a platform that
- requires global_scale_factor_ (e.g., Win32),
- ACE_OS::gettimeofday will be used instead of ACE_OS::gethrtime.
- This allows the scale_factor of 1 to still result in correct
- values.
+ * ace/High_Res_Timer.h (static gettimeofday): If
+ global_scale_factor_ is not set, and we're on a platform that
+ requires global_scale_factor_ (e.g., Win32),
+ ACE_OS::gettimeofday will be used instead of ACE_OS::gethrtime.
+ This allows the scale_factor of 1 to still result in correct
+ values.
Wed Mar 19 15:02:09 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace: Added zillions of minor changes so that ACE will compile on
- the new aCC compiler for HPUX. Thanks to Gonzalo A. Diethelm
- <gonzo@ing.puc.cl> and Carlos O'Ryan <coryan@mat.puc.cl> for
- help with this.
+ * ace: Added zillions of minor changes so that ACE will compile on
+ the new aCC compiler for HPUX. Thanks to Gonzalo A. Diethelm
+ <gonzo@ing.puc.cl> and Carlos O'Ryan <coryan@mat.puc.cl> for
+ help with this.
- * ace/SOCK_Dgram_Mcast.cpp (subscribe): In addition to the
- SO_REUSEADDR option, Irix has a SO_REUSEPORT option that must
- also be set to allow multiple sockets to bind to the same
- multicast address. Thanks to Robert V. Head <rhead@vtcs20a> for
- reporting this.
+ * ace/SOCK_Dgram_Mcast.cpp (subscribe): In addition to the
+ SO_REUSEADDR option, Irix has a SO_REUSEPORT option that must
+ also be set to allow multiple sockets to bind to the same
+ multicast address. Thanks to Robert V. Head <rhead@vtcs20a> for
+ reporting this.
- * ace: Added a slew of changes to support CHORUS. Thanks to
- Wei Chiang <chiang@tele.nokia.fi> for these changes.
+ * ace: Added a slew of changes to support CHORUS. Thanks to
+ Wei Chiang <chiang@tele.nokia.fi> for these changes.
- * ace/config-sunos4.*.h: Added #define ACE_HAS_UNION_WAIT based
- on the recommendation of Kumar Neelakantan
- <kneelaka@painewebber.com>.
+ * ace/config-sunos4.*.h: Added #define ACE_HAS_UNION_WAIT based
+ on the recommendation of Kumar Neelakantan
+ <kneelaka@painewebber.com>.
- * ace/Log_Msg.cpp (log_hexdump): Replaced the use of ::sprintf()
- with ACE_OS::sprintf() so that the return value would be correct
- on SunOS 4.x!
+ * ace/Log_Msg.cpp (log_hexdump): Replaced the use of ::sprintf()
+ with ACE_OS::sprintf() so that the return value would be correct
+ on SunOS 4.x!
- * ace/OS: Added ACE_HAS_CHARPTR_SPRINTF and ACE_SPRINTF_ADAPTER
- to ACE_OS::sprintf() for SunOS 4.x platforms. Thanks to Kumar
- Neelakantan <kneelaka@painewebber.com> for reporting this.
+ * ace/OS: Added ACE_HAS_CHARPTR_SPRINTF and ACE_SPRINTF_ADAPTER
+ to ACE_OS::sprintf() for SunOS 4.x platforms. Thanks to Kumar
+ Neelakantan <kneelaka@painewebber.com> for reporting this.
- * ace/Handle_Set.cpp (ACE_Handle_Set_Iterator): If the bound was
- reached in the following loop, we should set this->num_ =
- this->handles_.max_handle_ + 1 rather than go into the 2nd loop.
- Thanks to Michael Newton <michaeln@in.ot.com.au> for reporting
- this.
+ * ace/Handle_Set.cpp (ACE_Handle_Set_Iterator): If the bound was
+ reached in the following loop, we should set this->num_ =
+ this->handles_.max_handle_ + 1 rather than go into the 2nd loop.
+ Thanks to Michael Newton <michaeln@in.ot.com.au> for reporting
+ this.
- * ace/Handle_Set.cpp (ACE_Handle_Set_Iterator):
- ACE_Handle_Set_Iterator::ACE_Handle_Set_Iterator did not work
- properly if called with a zero handleset, as there was no bounds
- check on the first loop therein. Thanks to Michael Newton
- <michaeln@in.ot.com.au> for reporting this.
+ * ace/Handle_Set.cpp (ACE_Handle_Set_Iterator):
+ ACE_Handle_Set_Iterator::ACE_Handle_Set_Iterator did not work
+ properly if called with a zero handleset, as there was no bounds
+ check on the first loop therein. Thanks to Michael Newton
+ <michaeln@in.ot.com.au> for reporting this.
Wed Mar 19 16:06:32 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.h,README: added ACE_HAS_AIX_BROKEN_SOCKET_HEADER to wrap
- #include of sys/socket.h with #undef/#define of __cplusplus.
+ * ace/OS.h,README: added ACE_HAS_AIX_BROKEN_SOCKET_HEADER to wrap
+ #include of sys/socket.h with #undef/#define of __cplusplus.
- * ace/config-aix-4.[12].x.h: added ACE_HAS_AIX_BROKEN_SOCKET_HEADER,
- ACE_HAS_PTHREAD_T, ACE_LACKS_TCP_H, and ACE_LACKS_SETSCHED.
- Removed ACE_HAS_SVR4_DYNAMIC_LINKING and ACE_HAS_THREAD_SELF.
+ * ace/config-aix-4.[12].x.h: added ACE_HAS_AIX_BROKEN_SOCKET_HEADER,
+ ACE_HAS_PTHREAD_T, ACE_LACKS_TCP_H, and ACE_LACKS_SETSCHED.
+ Removed ACE_HAS_SVR4_DYNAMIC_LINKING and ACE_HAS_THREAD_SELF.
- Thanks to Daniel Montalibet <daniel_montalibet@stortek.com> for
- both of the above modifications.
+ Thanks to Daniel Montalibet <daniel_montalibet@stortek.com> for
+ both of the above modifications.
- * platform_{dgux4_epc,irix5.3_g++,linux*,m88k,osf1_3.2,sco*,
- sunos4_g++,sunos5_centerline*,sunos5_g++,sunos5_sunc++*,
- unixware_g++,vxworks5.2_g++}.GNU: split out CFLAGS and CCFLAGS.
- Also, removed -lstdc++/-lm from g++ versions, because we now set
- CXX to g++ instead of gcc, so those libraries are picked up.
+ * platform_{dgux4_epc,irix5.3_g++,linux*,m88k,osf1_3.2,sco*,
+ sunos4_g++,sunos5_centerline*,sunos5_g++,sunos5_sunc++*,
+ unixware_g++,vxworks5.2_g++}.GNU: split out CFLAGS and CCFLAGS.
+ Also, removed -lstdc++/-lm from g++ versions, because we now set
+ CXX to g++ instead of gcc, so those libraries are picked up.
- * include/makeinclude/platform_osf1_4.0{,_g++}.GNU:
- added -lrt to support ACE_Sched_Params. Thanks to
- Thilo Kielmann <kielmann@informatik.uni-siegen.de> for
- suggesting this. Also, split out CFLAGS and CCFLAGS.
+ * include/makeinclude/platform_osf1_4.0{,_g++}.GNU:
+ added -lrt to support ACE_Sched_Params. Thanks to
+ Thilo Kielmann <kielmann@informatik.uni-siegen.de> for
+ suggesting this. Also, split out CFLAGS and CCFLAGS.
- * ace/OS.h: removed SVR4_DYNAMIC_LINKING protection around
- #define of RTLD_LAZY because it's used in ace/Parse_Node.cpp.
- Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for pointing
- this out.
+ * ace/OS.h: removed SVR4_DYNAMIC_LINKING protection around
+ #define of RTLD_LAZY because it's used in ace/Parse_Node.cpp.
+ Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for pointing
+ this out.
- * ace/OS.i (thr_setcanceltype): added ACE_UNUSED_ARGS for STHREADS
- case. Thanks to Chuck Gehr <gehr@sweng.stortek.com> for
- providing this fix.
+ * ace/OS.i (thr_setcanceltype): added ACE_UNUSED_ARGS for STHREADS
+ case. Thanks to Chuck Gehr <gehr@sweng.stortek.com> for
+ providing this fix.
Tue Mar 18 21:53:03 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/SOCK_Dgram_Bcast.cpp (mk_broadcast): Modified the
- SOCK_Dgram_Bcast class by adding a const char *host_name to the
- contructor, and open, and mk_broadcast methods. If the user
- passes in the host_name, then only the broadcast address of an
- interface that has a matching ip address with the host will be
- added to the if_list_. Otherwise, nothing changes. Thanks to
- Paul <phan@CCGATE.HAC.COM> for this feature.
+ * ace/SOCK_Dgram_Bcast.cpp (mk_broadcast): Modified the
+ SOCK_Dgram_Bcast class by adding a const char *host_name to the
+ contructor, and open, and mk_broadcast methods. If the user
+ passes in the host_name, then only the broadcast address of an
+ interface that has a matching ip address with the host will be
+ added to the if_list_. Otherwise, nothing changes. Thanks to
+ Paul <phan@CCGATE.HAC.COM> for this feature.
Tue Mar 18 13:20:59 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
* ace/ace.mdp: Reverted the change for DllMain as the entry point
- to ace.dll. This is causing problems in multi-threaded
- applications.
+ to ace.dll. This is causing problems in multi-threaded
+ applications.
- * netsvcs/lib/Client_Logging_Handler.cpp: Added a check in fini()
- to make sure we have a valid handler. If the connect attempt
- failed, this->handler_ will be set to 0.
+ * netsvcs/lib/Client_Logging_Handler.cpp: Added a check in fini()
+ to make sure we have a valid handler. If the connect attempt
+ failed, this->handler_ will be set to 0.
- * tests/Mem_Map_Test.cpp: Added code that removes all temporary
- files created by the test.
+ * tests/Mem_Map_Test.cpp: Added code that removes all temporary
+ files created by the test.
- * tests/Time_Service_Test.cpp: Made sure we remove the backing
- store file left behind by a aborted clerk process.
+ * tests/Time_Service_Test.cpp: Made sure we remove the backing
+ store file left behind by a aborted clerk process.
- * examples/Reactor/Ntalker/ntalker.cpp: The ntalker now uses
- ACE::register_stdin_handler to register the STDIN. This function
- allows for portability.
+ * examples/Reactor/Ntalker/ntalker.cpp: The ntalker now uses
+ ACE::register_stdin_handler to register the STDIN. This function
+ allows for portability.
Tue Mar 18 08:12:22 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Svc_Conf_y.cpp,Makefile: replaced "y.tab.c" string with
- "Svc_Conf_y.cpp" to ease debugging. Thanks to Luca Priorelli
- <lucapri@mbox.vol.it> for suggesting this.
+ * ace/Svc_Conf_y.cpp,Makefile: replaced "y.tab.c" string with
+ "Svc_Conf_y.cpp" to ease debugging. Thanks to Luca Priorelli
+ <lucapri@mbox.vol.it> for suggesting this.
- * ace/IOStream.cpp (close): replaced call to
- ACE_SOCK_Stream::close () with one to generic STREAM::close ().
- Thanks to Kumar Neelakantan <kneelaka@painewebber.com> for
- reporting this problem.
+ * ace/IOStream.cpp (close): replaced call to
+ ACE_SOCK_Stream::close () with one to generic STREAM::close ().
+ Thanks to Kumar Neelakantan <kneelaka@painewebber.com> for
+ reporting this problem.
- * ace/OS.h,README,config-*.h: removed ACE_HAS_RTLD_LAZY_V, and
- replaced with #define of RTLD_LAZY macro only if it's not
- already defined (and if ACE_HAS_SVR4_DYNAMIC_LINKING is defined).
- Thanks to Chris Lahey <CLahey@cccis.com> for providing this fix.
+ * ace/OS.h,README,config-*.h: removed ACE_HAS_RTLD_LAZY_V, and
+ replaced with #define of RTLD_LAZY macro only if it's not
+ already defined (and if ACE_HAS_SVR4_DYNAMIC_LINKING is defined).
+ Thanks to Chris Lahey <CLahey@cccis.com> for providing this fix.
- * ace/OS.i (thr_setcancelstate, thr_setcanceltype, thr_cancel):
- added ACE_UNUSED_ARG calls to avoid compiler warnings. Thanks
- to Chuck Gehr <gehr@sweng.stortek.com> for suggesting them.
+ * ace/OS.i (thr_setcancelstate, thr_setcanceltype, thr_cancel):
+ added ACE_UNUSED_ARG calls to avoid compiler warnings. Thanks
+ to Chuck Gehr <gehr@sweng.stortek.com> for suggesting them.
- * ace/Local_Name_Space_T.h: moved #include of Local_Name_Space.h up
- because this file needs declaration of ACE_NS_String. There
- _shouldn't_ be a circular include problem because the #includes are
- protected. Thanks to Daniel Montalibet
- <daniel_montalibet@stortek.com> for reporting this problem and
- providing the fix.
+ * ace/Local_Name_Space_T.h: moved #include of Local_Name_Space.h up
+ because this file needs declaration of ACE_NS_String. There
+ _shouldn't_ be a circular include problem because the #includes are
+ protected. Thanks to Daniel Montalibet
+ <daniel_montalibet@stortek.com> for reporting this problem and
+ providing the fix.
- * ace/Local_Name_Space.h: removed #include of ace/Service_Config.h.
+ * ace/Local_Name_Space.h: removed #include of ace/Service_Config.h.
- * include/makeinclude/wrapper_macros.GNU: put -I. before
- -I$(WRAPPER_ROOT) instead of after.
+ * include/makeinclude/wrapper_macros.GNU: put -I. before
+ -I$(WRAPPER_ROOT) instead of after.
- * tests/IOStream_test.cpp: added checks for receipt of proper values.
+ * tests/IOStream_test.cpp: added checks for receipt of proper values.
Tue Mar 18 01:38:14 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
* ace/ace.mdp: Add DllMain as the entry point of ace.dll. This
- allows us to call WSAStartup when ace.dll is loaded in and
- WSACleanup when ace.dll is unloaded. People using ace as a
- static library are still out in the cold with respect of getting
- WSACleanup called before the process exits.
-
- I am not sure of two cases: (1) What happens when an application
- crashes and was not able to call WSACleanup and (2) if the
- application wants to continue using sockets when ace.dll is
- unloaded. I hope this solves more problems than it creates ;-)
+ allows us to call WSAStartup when ace.dll is loaded in and
+ WSACleanup when ace.dll is unloaded. People using ace as a
+ static library are still out in the cold with respect of getting
+ WSACleanup called before the process exits.
+
+ I am not sure of two cases: (1) What happens when an application
+ crashes and was not able to call WSACleanup and (2) if the
+ application wants to continue using sockets when ace.dll is
+ unloaded. I hope this solves more problems than it creates ;-)
Tue Mar 18 01:38:14 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/Parse_Node.cpp: Added END_OF_LINE characters to some
- ACE_ERRORs.
+ * ace/Parse_Node.cpp: Added END_OF_LINE characters to some
+ ACE_ERRORs.
- * netsvcs/{lib,servers}: Fixed the project files to produce and
- use the dll in the correct place (which is netsvcs/lib).
+ * netsvcs/{lib,servers}: Fixed the project files to produce and
+ use the dll in the correct place (which is netsvcs/lib).
- * ace/Log_Record.cpp: Corrected format string for fprintf().
+ * ace/Log_Record.cpp: Corrected format string for fprintf().
- * examples/Threads/test.mdp: Added context_switch_time.cpp to the
- project.
+ * examples/Threads/test.mdp: Added context_switch_time.cpp to the
+ project.
- All of the above bugs were reported by Luca Priorelli
- <lucapri@mbox.vol.it>. Thanks for the contribution.
+ All of the above bugs were reported by Luca Priorelli
+ <lucapri@mbox.vol.it>. Thanks for the contribution.
Mon Mar 17 12:59:56 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.{h,i}: added nanosleep (), currently supported only
- on POSIX platforms (if ACE_HAS_CLOCK_GETTIME is defined).
+ * ace/OS.{h,i}: added nanosleep (), currently supported only
+ on POSIX platforms (if ACE_HAS_CLOCK_GETTIME is defined).
- * examples/Mem_Map/IO-tests/{IO_Test.cpp,test_io.cpp):
- LM_ERROR instead of ACE_ERROR, and fixed call to ACE::basename ().
+ * examples/Mem_Map/IO-tests/{IO_Test.cpp,test_io.cpp):
+ LM_ERROR instead of ACE_ERROR, and fixed call to ACE::basename ().
- * ace/OS.cpp (sched_params): return -1 if not supported,
- instead of ENOTSUP.
+ * ace/OS.cpp (sched_params): return -1 if not supported,
+ instead of ENOTSUP.
- * ace/OS.cpp (fork): added ACE_UNUSED_ARG (program_name) for WIN32
- and VxWorks.
+ * ace/OS.cpp (fork): added ACE_UNUSED_ARG (program_name) for WIN32
+ and VxWorks.
- * ace/Sched_Params.cpp (priority_min, priority_max, next_priority,
- previous_priority): not supported on MVS, via ACE_LACKS_SETSCHED.
- Thanks to Chuck Gehr <gehr@sweng.stortek.com> for figuring this
- out and providing the fix.
+ * ace/Sched_Params.cpp (priority_min, priority_max, next_priority,
+ previous_priority): not supported on MVS, via ACE_LACKS_SETSCHED.
+ Thanks to Chuck Gehr <gehr@sweng.stortek.com> for figuring this
+ out and providing the fix.
- * tests/Timer_Queue_Test.cpp (test_performance): changed type of
- local variable "i" to (signed) int to avoid signed/unsigned
- comparison, and eventual seg fault because a loop would never
- terminate.
+ * tests/Timer_Queue_Test.cpp (test_performance): changed type of
+ local variable "i" to (signed) int to avoid signed/unsigned
+ comparison, and eventual seg fault because a loop would never
+ terminate.
Sun Mar 16 11:31:46 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Timer_{List,Queue,Heap}.h: Defined copy constructors and
- assignment operators in the private part of the class so that
- users won't accidentally make mistakes.
+ * ace/Timer_{List,Queue,Heap}.h: Defined copy constructors and
+ assignment operators in the private part of the class so that
+ users won't accidentally make mistakes.
Sat Mar 15 21:44:45 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Timer_{Queue,List}.cpp (cancel): handle_close() should be
- called only once (especially when handle_close() implements
- "delete this;" ). Since it is possible that the EH will be
- registered more than once, I changed the code to do the
- following:
+ * ace/Timer_{Queue,List}.cpp (cancel): handle_close() should be
+ called only once (especially when handle_close() implements
+ "delete this;" ). Since it is possible that the EH will be
+ registered more than once, I changed the code to do the
+ following:
if (number_of_cancellations == 1)
- // Call the close hook.
+ // Call the close hook.
curr->handler_->handle_close (ACE_INVALID_HANDLE,
ACE_Event_Handler::TIMER_MASK);
Thanks to Hamutal Yanay <Hamutal_Yanay@mail.icomverse.com> for
- suggesting this.
+ suggesting this.
- * examples/Mem_Map/IO-tests/test_io.cpp (run_tests): Removed all
- uses of ::perror and replaced them with calls to ACE_ERROR
- macros.
+ * examples/Mem_Map/IO-tests/test_io.cpp (run_tests): Removed all
+ uses of ::perror and replaced them with calls to ACE_ERROR
+ macros.
- * ace/Mem_Map.i (unmap): The ACE_Mem_Map::close method does not
- work properly if the value of file_mapping_ is equal to
- ACE_INVALID_HANDLE. In this case the method calls a useless
- close (-1). Therefore, I changed:
+ * ace/Mem_Map.i (unmap): The ACE_Mem_Map::close method does not
+ work properly if the value of file_mapping_ is equal to
+ ACE_INVALID_HANDLE. In this case the method calls a useless
+ close (-1). Therefore, I changed:
- if (this->file_mapping_ != this->handle_)
- ACE_OS::close (this->file_mapping_);
+ if (this->file_mapping_ != this->handle_)
+ ACE_OS::close (this->file_mapping_);
in:
if (this->file_mapping_ != this->handle_ &&
- this->file_mapping_ != ACE_INVALID_HANDLE)
- ACE_OS::close (this->file_mapping_);
+ this->file_mapping_ != ACE_INVALID_HANDLE)
+ ACE_OS::close (this->file_mapping_);
- Thanks to Sandro Doro <alex@aureus.sublink.org> for reporting
- this.
+ Thanks to Sandro Doro <alex@aureus.sublink.org> for reporting
+ this.
Thu Mar 13 18:21:15 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/ReactorEx.h: Change protection of methods/variables of
- ReactorEx from private to protected. Thanks to Matthias Kerkhoff
- <make@cs.tu-berlin.de> for suggesting this.
+ * ace/ReactorEx.h: Change protection of methods/variables of
+ ReactorEx from private to protected. Thanks to Matthias Kerkhoff
+ <make@cs.tu-berlin.de> for suggesting this.
Thu Mar 13 16:31:54 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.i (thr_getprio): Added missing ACE_NOTSUP_RETURN
- for the case of pthreads && !defined (ACE_LACKS_SETSCHED).
- Thanks to Chuck Gehr <gehr@sweng.stortek.com> for
- reporting this.
+ * ace/OS.i (thr_getprio): Added missing ACE_NOTSUP_RETURN
+ for the case of pthreads && !defined (ACE_LACKS_SETSCHED).
+ Thanks to Chuck Gehr <gehr@sweng.stortek.com> for
+ reporting this.
Thu Mar 13 00:12:15 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/Local_Name_Space_T.cpp (dump): Added ACE_UNUSED_ARG around
- fake_this to stop the compiler from complaining about unused
- variables.
+ * ace/Local_Name_Space_T.cpp (dump): Added ACE_UNUSED_ARG around
+ fake_this to stop the compiler from complaining about unused
+ variables.
- * ace/Message_Block.cpp (ACE_Data_Block::size): Moved the copying
- of the old base before freeing it up. Thanks to Dieter Quehl
- (dietrich.quehl@med.siemens.de) for pointing this out.
+ * ace/Message_Block.cpp (ACE_Data_Block::size): Moved the copying
+ of the old base before freeing it up. Thanks to Dieter Quehl
+ (dietrich.quehl@med.siemens.de) for pointing this out.
- * ace/Local_Name_Space_T.cpp: Added code to the list methods such
- that structured exceptions are handled correctly. Thanks to
- Karlheinz Dorn (karlheinz.dorn@med.siemens.de) for reporting
- this.
+ * ace/Local_Name_Space_T.cpp: Added code to the list methods such
+ that structured exceptions are handled correctly. Thanks to
+ Karlheinz Dorn (karlheinz.dorn@med.siemens.de) for reporting
+ this.
Wed Mar 12 21:31:51 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * examples/Reactor/Ntalker/ntalker.cpp: Made changes to the
- program which allows it to run under Win32.
+ * examples/Reactor/Ntalker/ntalker.cpp: Made changes to the
+ program which allows it to run under Win32.
- * ace/SOCK_Dgram_Mcast.cpp: Made changes to the setting of the
- interface address so that it works correctly under Win32.
- Thanks to Todd L. Montgomery (tmont@cs.wvu.edu), Anton van
- Straaten (anton@appsolutions.com), Ole O. Johnsen
- (Ole.Johnsen@gpi.telemax.no), Mike Flinn
- (mike.flinn@smtpgate.aws.waii.com), Steve Weismuller
- (spweismu@rsoc.rockwell.com) and others who helped out.
+ * ace/SOCK_Dgram_Mcast.cpp: Made changes to the setting of the
+ interface address so that it works correctly under Win32.
+ Thanks to Todd L. Montgomery (tmont@cs.wvu.edu), Anton van
+ Straaten (anton@appsolutions.com), Ole O. Johnsen
+ (Ole.Johnsen@gpi.telemax.no), Mike Flinn
+ (mike.flinn@smtpgate.aws.waii.com), Steve Weismuller
+ (spweismu@rsoc.rockwell.com) and others who helped out.
Wed Mar 12 17:05:52 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * ace/config-linux-lxpthreads.h: Added ACE_HAS_IP_MULTICAST.
+ * ace/config-linux-lxpthreads.h: Added ACE_HAS_IP_MULTICAST.
Wed Mar 12 16:07:07 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.i (gethrtime): Added support for VxWorks and
- other platforms that support ACE_HAS_CLOCK_GETTIME.
+ * ace/OS.i (gethrtime): Added support for VxWorks and
+ other platforms that support ACE_HAS_CLOCK_GETTIME.
Tue Mar 11 21:38:42 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/OS.i (open): Improved support for passing flags through to
- CreateFile ().
+ * ace/OS.i (open): Improved support for passing flags through to
+ CreateFile ().
Tue Mar 11 14:30:12 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config-vxworks-ghs-1.8.h: added ACE_LACKS_SYS_NERR.
- Thanks to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for
- reporting this.
-
- * ace/OS.{i,cpp} (uname, hostname): added VxWorks support.
- Thanks to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for
- providing this. (Also, uninlined ACE_OS::uname on WIN32
- and VxWorks because it contains string literals.)
-
- * ace/High_Res_Timer.{i,cpp}: fixed interpretation of units:
- ACE_hrtime_t is in nanoseconds, so it should be divided by
- 1000000000 to get seconds. Fixed divs/mods to first divide
- by 1000, then div/mod. Thanks to Luca Priorelli
- <lucapri@mbox.vol.it> for identifying this problem.
-
- Also, removed some casts that are no longer necessary, and
- added some casts of ACE_hrtime_t values to longs to avoid
- compiler warnings. Thanks to Matthias Kerkhoff
- <make@cs.tu-berlin.de> for pointing this out.
-
- * ace/Reactor.cpp (unbind): cast "index" to int to avoid
- signed/unsigned comparison. Thanks to Matthias Kerkhoff
- <make@cs.tu-berlin.de> for pointing this out.
-
- * ace/ReactorEx.cpp (bind): changed type of "current_size" to
- size_t to avoid signed/unsigned comparison. Thanks to Matthias
- Kerkhoff <make@cs.tu-berlin.de> for pointing this out.
-
- * ace/Timer_Heap.cpp (ctor, grow_heap): cast unsigned value
- (i + 1) to int before negating to avoid compiler warning.
- Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for pointing
- this out.
-
- * examples/Threads/context_switch_time.cpp (main): added
- ACE_SCOPE_PROCESS param to ACE_Sched_Params instances so
- that the test works on WIN32. Thanks to Luca Priorelli
- <lucapri@mbox.vol.it> for identifying this problem.
-
- * ace/Registry.{h,cpp},Registry_Name_Space.{h,cpp},Svc_Conf_Tokens.h,
- Svc_Conf_{l,y}.cpp,Timer_{Heap,List}.cpp,config-aix-4.2.x.h,
- config-dgux-4.11-epc.h,config-mvs.h,config-sco-5.0.0-fsu-pthread.h,
- config-sco-5.0.0-mit-pthread.h,config-sco-5.0.0-nothread.h:
- added CVS header (Id wrapped in $).
-
- * netsvcs/clients/Logger/indirect_logging.cpp (main): declare loop
- index as signed int to avoid signed/unsigned comparison.
+ * ace/config-vxworks-ghs-1.8.h: added ACE_LACKS_SYS_NERR.
+ Thanks to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for
+ reporting this.
+
+ * ace/OS.{i,cpp} (uname, hostname): added VxWorks support.
+ Thanks to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for
+ providing this. (Also, uninlined ACE_OS::uname on WIN32
+ and VxWorks because it contains string literals.)
+
+ * ace/High_Res_Timer.{i,cpp}: fixed interpretation of units:
+ ACE_hrtime_t is in nanoseconds, so it should be divided by
+ 1000000000 to get seconds. Fixed divs/mods to first divide
+ by 1000, then div/mod. Thanks to Luca Priorelli
+ <lucapri@mbox.vol.it> for identifying this problem.
+
+ Also, removed some casts that are no longer necessary, and
+ added some casts of ACE_hrtime_t values to longs to avoid
+ compiler warnings. Thanks to Matthias Kerkhoff
+ <make@cs.tu-berlin.de> for pointing this out.
+
+ * ace/Reactor.cpp (unbind): cast "index" to int to avoid
+ signed/unsigned comparison. Thanks to Matthias Kerkhoff
+ <make@cs.tu-berlin.de> for pointing this out.
+
+ * ace/ReactorEx.cpp (bind): changed type of "current_size" to
+ size_t to avoid signed/unsigned comparison. Thanks to Matthias
+ Kerkhoff <make@cs.tu-berlin.de> for pointing this out.
+
+ * ace/Timer_Heap.cpp (ctor, grow_heap): cast unsigned value
+ (i + 1) to int before negating to avoid compiler warning.
+ Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for pointing
+ this out.
+
+ * examples/Threads/context_switch_time.cpp (main): added
+ ACE_SCOPE_PROCESS param to ACE_Sched_Params instances so
+ that the test works on WIN32. Thanks to Luca Priorelli
+ <lucapri@mbox.vol.it> for identifying this problem.
+
+ * ace/Registry.{h,cpp},Registry_Name_Space.{h,cpp},Svc_Conf_Tokens.h,
+ Svc_Conf_{l,y}.cpp,Timer_{Heap,List}.cpp,config-aix-4.2.x.h,
+ config-dgux-4.11-epc.h,config-mvs.h,config-sco-5.0.0-fsu-pthread.h,
+ config-sco-5.0.0-mit-pthread.h,config-sco-5.0.0-nothread.h:
+ added CVS header (Id wrapped in $).
+
+ * netsvcs/clients/Logger/indirect_logging.cpp (main): declare loop
+ index as signed int to avoid signed/unsigned comparison.
Tue Mar 11 07:34:04 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * tests/Timer_Queue_Test.cpp: Added some code to illustrate how
- the new handle_close() hook for ACE_Timer_{Heap,List} work.
+ * tests/Timer_Queue_Test.cpp: Added some code to illustrate how
+ the new handle_close() hook for ACE_Timer_{Heap,List} work.
- * ace/Timer_Heap.cpp (cancel): Modified the Timer_Heap and
- Timer_Queue so that it will call the handle_close() hook when
- Event_Handler's are cancelled. This is necessary to reclaim
- resources. Thanks to Hamutal Yanay
- <Hamutal_Yanay@mail.icomverse.com> for suggesting this.
+ * ace/Timer_Heap.cpp (cancel): Modified the Timer_Heap and
+ Timer_Queue so that it will call the handle_close() hook when
+ Event_Handler's are cancelled. This is necessary to reclaim
+ resources. Thanks to Hamutal Yanay
+ <Hamutal_Yanay@mail.icomverse.com> for suggesting this.
- * ace/Event_Handler.h (signal): Added a TIMER_MASK, which is
- passed to handle_close() when a timer is cancelled.
+ * ace/Event_Handler.h (signal): Added a TIMER_MASK, which is
+ passed to handle_close() when a timer is cancelled.
- * ace/Log_Msg.cpp (log): Fixed a bug by setting LPTSTR lpMsgBuf =
- 0 on line 524. Thanks to Mark Wright <markw@odi.com.au> for
- reporting this.
+ * ace/Log_Msg.cpp (log): Fixed a bug by setting LPTSTR lpMsgBuf =
+ 0 on line 524. Thanks to Mark Wright <markw@odi.com.au> for
+ reporting this.
Sun Mar 10 13:06:04 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* examples/Mem_Map/IO-tests: Fixed a small bug in "IO_Test.cpp"
- file. In the "int Mmap1_Test::run_test" method I inserted an
- lseek to rewind the output file. With this correction the speed
- go up due to IO cache. Thanks to Sandro Doro
- <alex@aureus.sublink.org> for reporting this.
+ file. In the "int Mmap1_Test::run_test" method I inserted an
+ lseek to rewind the output file. With this correction the speed
+ go up due to IO cache. Thanks to Sandro Doro
+ <alex@aureus.sublink.org> for reporting this.
Sun Mar 9 18:24:37 1997 Prashant Jain <pjain@merengue.cs.wustl.edu>
- * java/src/IOCntlMsg.java (IOCntlMsg): Added two new
- classes/files, namely IOCntlCmds and IOCntlMsg.
+ * java/src/IOCntlMsg.java (IOCntlMsg): Added two new
+ classes/files, namely IOCntlCmds and IOCntlMsg.
- * java/src/Task.java: Added accessors to get/set the flags of the
- Task.
+ * java/src/Task.java: Added accessors to get/set the flags of the
+ Task.
Sun Mar 9 13:06:04 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Reactor: Fixed an evil bug where the expression
-
- if (handle >= 0 || handle < this->max_handlep1_)
-
- should be
-
- if (handle >= 0 && handle < this->max_handlep1_)
+ * ace/Reactor: Fixed an evil bug where the expression
+
+ if (handle >= 0 || handle < this->max_handlep1_)
+
+ should be
+
+ if (handle >= 0 && handle < this->max_handlep1_)
- Thanks to Mark Wright <markw@odi.com.au> for reporting this.
+ Thanks to Mark Wright <markw@odi.com.au> for reporting this.
Sun Mar 9 13:06:04 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * apps/Gateway: Updated the Peer and Gateway applications so that
- they don't try to register ACE_STDIN with the Reactor on Win32.
+ * apps/Gateway: Updated the Peer and Gateway applications so that
+ they don't try to register ACE_STDIN with the Reactor on Win32.
- * apps/Gateway: Changed a bunch of calls to
- ACE_Reactor::remove_handler() so that it no longer tries to
- remove descriptor 0, but instead uses ACE_STDIN. Naturally,
- this doesn't work due to the way that Win32 implements select()
- but at least it compiles... Thanks to Elliot Lau
- <eeklau@post1.com> for reporting this.
+ * apps/Gateway: Changed a bunch of calls to
+ ACE_Reactor::remove_handler() so that it no longer tries to
+ remove descriptor 0, but instead uses ACE_STDIN. Naturally,
+ this doesn't work due to the way that Win32 implements select()
+ but at least it compiles... Thanks to Elliot Lau
+ <eeklau@post1.com> for reporting this.
- * apps/Gateway/Gateway/File_Parser: Changed the enumerated type
- ERROR to PARSE_ERROR to avoid a name clash with a symbol
- reserved by Win32 (barf). Thanks to Elliot Lau
- <eeklau@post1.com> for reporting this.
+ * apps/Gateway/Gateway/File_Parser: Changed the enumerated type
+ ERROR to PARSE_ERROR to avoid a name clash with a symbol
+ reserved by Win32 (barf). Thanks to Elliot Lau
+ <eeklau@post1.com> for reporting this.
Sat Mar 8 12:37:44 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Log_Msg.cpp: Changed the implementation of ACE_Log_Msg so
- that all accesses to the lock_ are now through a Singleton.
- This makes it possible to define multiple instances of
- ACE_Log_Msg within the same thread. Thanks to Jeff Morgan
- <jeff@audioactive.com> for helping track this down.
+ * ace/Log_Msg.cpp: Changed the implementation of ACE_Log_Msg so
+ that all accesses to the lock_ are now through a Singleton.
+ This makes it possible to define multiple instances of
+ ACE_Log_Msg within the same thread. Thanks to Jeff Morgan
+ <jeff@audioactive.com> for helping track this down.
- * Added support for SCO 5.0. Thanks to Auturo
- <mitosys@colomsat.net.co> for these patches.
+ * Added support for SCO 5.0. Thanks to Auturo
+ <mitosys@colomsat.net.co> for these patches.
Thu Mar 06 13:24:04 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.i (gettimeofday): moved declaration of "result" so
- that it's not declared on VxWorks, where it's not needed;
- (stat): added cast of file arg to char * for VxWorks;
- (thr_getprio): added missing "#else" before ACE_NOTSUP_RETURN (-1).
- Thanks to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for
- reporting these.
+ * ace/OS.i (gettimeofday): moved declaration of "result" so
+ that it's not declared on VxWorks, where it's not needed;
+ (stat): added cast of file arg to char * for VxWorks;
+ (thr_getprio): added missing "#else" before ACE_NOTSUP_RETURN (-1).
+ Thanks to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for
+ reporting these.
- * ace/OS.cpp (sched_param): with STHREADS, map ACE_SCOPE_THREAD
- to ACE_SCOPE_PROCESS'.
+ * ace/OS.cpp (sched_param): with STHREADS, map ACE_SCOPE_THREAD
+ to ACE_SCOPE_PROCESS'.
- * ace/Svc_Conf_l.cpp: commented out YY_BREAK after ace_yyterminate ()
- to avoid GHS compiler warning about unreachable statement.
- Thanks to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for
- reporting this.
+ * ace/Svc_Conf_l.cpp: commented out YY_BREAK after ace_yyterminate ()
+ to avoid GHS compiler warning about unreachable statement.
+ Thanks to Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for
+ reporting this.
- * ace/ace.mak: removed Thread_Priority and renamed Scheduling_Params
- to Sched_Param.
+ * ace/ace.mak: removed Thread_Priority and renamed Scheduling_Params
+ to Sched_Param.
- * examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp (handle_client):
- added "l" qualifier for sprintf of ACE_OS::getpid ().
+ * examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp (handle_client):
+ added "l" qualifier for sprintf of ACE_OS::getpid ().
- * tests/Priority_Task_Test.cpp,
- examples/Threads/{context_switch_time.cpp,Makefile}:
- adapted to new thread priority/ACE_Sched_Params.
+ * tests/Priority_Task_Test.cpp,
+ examples/Threads/{context_switch_time.cpp,Makefile}:
+ adapted to new thread priority/ACE_Sched_Params.
Wed Mar 5 14:33:04 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/UNIX_Addr.cpp: Enhanced the implementation of set() so
- that it works correctly on MVS, which has a different definition
- of struct sockaddr_un:
-
- struct sockaddr_un {
- unsigned char sun_len;
- unsigned char sun_family;
- char sun_path[108];
- };
+ * ace/UNIX_Addr.cpp: Enhanced the implementation of set() so
+ that it works correctly on MVS, which has a different definition
+ of struct sockaddr_un:
+
+ struct sockaddr_un {
+ unsigned char sun_len;
+ unsigned char sun_family;
+ char sun_path[108];
+ };
- Thanks to Chuck Gehr <gehr@sweng.stortek.com> for reporting
- this.
+ Thanks to Chuck Gehr <gehr@sweng.stortek.com> for reporting
+ this.
Wed Mar 05 14:47:14 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.{h,cpp},Makefile; also, renamed Scheduling_Params.* to
- Sched_Params.* and removed Thread_Priority.*:
-
- Major change in scheduling parameters interface:
- The key change is that there is no longer a special thread priority
- enum. Thread_Priority was changed to int, so applications can do
- whatever they want. The ACE_Sched_Params class has some static
- functions to help do this portably.
-
- Here are the changes from the ACE 4.1.3:
-
- 1) ACE_Thread_Priority: removed this class.
-
- It contained "priority class" and "thread priority".
- "Priority class" is platform-specific and doesn't
- need to be visible in ACE; it is subsumed by scheduling policy,
- see below. "Thread priority" is replaced by the global
- ACE_Sched_Priority typedef in ace/OS.h, see next change.
-
- 2) ace/OS.h: added ACE_Sched_Priority typedef (to int)
- and ACE_SCOPE_THREAD.
-
- 3) ace/OS.h: added scheduling policy #defines: ACE_SCHED_OTHER,
- ACE_SCHED_FIFO, and ACE_SCHED_RR. There's an ACE_Sched_Params::
- Policy typedef that can take one of these values.
-
- 4) ACE_Sched_Params: added priority_min (), priority_max (),
- next_priority (), and previous_priority () functions. All
- require an ACE_Sched_Params::Policy argument and take an
- optional scope argument (to support the distinct thread
- and process priorities on DEC UNIX).
-
- min_priority () and max_priority () have platform-specific
- and policy-specific values, and direction (the min value may
- be higher than the max value). The increment and decrement
- operations allow applications to iterate over them, etc.,
- without explicitly specifying the direction of the priority
- (0 for high or low priority).
-
- 5) The only way to apply ACE_Sched_Params is through
- ACE_OS::sched_params (const ACE_Sched_Params &).
- (This is not really a change, except for the name change from
- ACE_OS::set_sched_params ().
-
- It sets both policy and priority of current thread or
- process (depending on the scope in ACE_Sched_Params).
- Not all combinations of policy, priority, and scope are
- legal on all platforms. Unfortunately, I see no way around
- this, because the intersection of legal ranges
- on our supported platforms is empty. If an illegal request
- is made, ACE_OS::sched_params () sets errno to EINVAL and
- returns -1.
-
- 6) added ACE_OS::thr_setprio (const ACE_Sched_Priority prio)
- to set the current thread's priority, only.
-
- Many thanks to Thilo Kielmann <kielmann@informatik.uni-siegen.de>
- for his careful review of this class design, thoughtful comments,
- and assistance with implementation, especially for PTHREADS
- platforms.
+ * ace/OS.{h,cpp},Makefile; also, renamed Scheduling_Params.* to
+ Sched_Params.* and removed Thread_Priority.*:
+
+ Major change in scheduling parameters interface:
+ The key change is that there is no longer a special thread priority
+ enum. Thread_Priority was changed to int, so applications can do
+ whatever they want. The ACE_Sched_Params class has some static
+ functions to help do this portably.
+
+ Here are the changes from the ACE 4.1.3:
+
+ 1) ACE_Thread_Priority: removed this class.
+
+ It contained "priority class" and "thread priority".
+ "Priority class" is platform-specific and doesn't
+ need to be visible in ACE; it is subsumed by scheduling policy,
+ see below. "Thread priority" is replaced by the global
+ ACE_Sched_Priority typedef in ace/OS.h, see next change.
+
+ 2) ace/OS.h: added ACE_Sched_Priority typedef (to int)
+ and ACE_SCOPE_THREAD.
+
+ 3) ace/OS.h: added scheduling policy #defines: ACE_SCHED_OTHER,
+ ACE_SCHED_FIFO, and ACE_SCHED_RR. There's an ACE_Sched_Params::
+ Policy typedef that can take one of these values.
+
+ 4) ACE_Sched_Params: added priority_min (), priority_max (),
+ next_priority (), and previous_priority () functions. All
+ require an ACE_Sched_Params::Policy argument and take an
+ optional scope argument (to support the distinct thread
+ and process priorities on DEC UNIX).
+
+ min_priority () and max_priority () have platform-specific
+ and policy-specific values, and direction (the min value may
+ be higher than the max value). The increment and decrement
+ operations allow applications to iterate over them, etc.,
+ without explicitly specifying the direction of the priority
+ (0 for high or low priority).
+
+ 5) The only way to apply ACE_Sched_Params is through
+ ACE_OS::sched_params (const ACE_Sched_Params &).
+ (This is not really a change, except for the name change from
+ ACE_OS::set_sched_params ().
+
+ It sets both policy and priority of current thread or
+ process (depending on the scope in ACE_Sched_Params).
+ Not all combinations of policy, priority, and scope are
+ legal on all platforms. Unfortunately, I see no way around
+ this, because the intersection of legal ranges
+ on our supported platforms is empty. If an illegal request
+ is made, ACE_OS::sched_params () sets errno to EINVAL and
+ returns -1.
+
+ 6) added ACE_OS::thr_setprio (const ACE_Sched_Priority prio)
+ to set the current thread's priority, only.
+
+ Many thanks to Thilo Kielmann <kielmann@informatik.uni-siegen.de>
+ for his careful review of this class design, thoughtful comments,
+ and assistance with implementation, especially for PTHREADS
+ platforms.
Wed Mar 5 14:36:59 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * SString.cpp: Fixed ACE*String initialization bugs. Thanks to
- jmorey@tbi.com (John Morey) for reporting this.
+ * SString.cpp: Fixed ACE*String initialization bugs. Thanks to
+ jmorey@tbi.com (John Morey) for reporting this.
Wed Mar 5 14:33:04 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/OS.i: Fixed a bug in gethrtime
+ * ace/OS.i: Fixed a bug in gethrtime
- const ACE_Time_Value now = ACE_OS::gettimeofday (void);
+ const ACE_Time_Value now = ACE_OS::gettimeofday (void);
- which should be
+ which should be
- const ACE_Time_Value now = ACE_OS::gettimeofday ();
+ const ACE_Time_Value now = ACE_OS::gettimeofday ();
- Thanks to Chuck Gehr <gehr@sweng.stortek.com> for reporting
- this.
+ Thanks to Chuck Gehr <gehr@sweng.stortek.com> for reporting
+ this.
Tue Mar 4 16:37:26 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * examples/IPC_SAP/SOCK_SAP/CPP-unserver.cpp (main): Make life
- easier by doing an unlink(rendezvous) before reopening the
- UNIX-domain socket. Thanks to Jeff Morgan
- <jeff@audioactive.com> for suggesting this.
+ * examples/IPC_SAP/SOCK_SAP/CPP-unserver.cpp (main): Make life
+ easier by doing an unlink(rendezvous) before reopening the
+ UNIX-domain socket. Thanks to Jeff Morgan
+ <jeff@audioactive.com> for suggesting this.
Sun Mar 02 19:58:00 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config*.h: removed #define of ACE_HAS_INLINED_OSCALLS
- because it's no longer needed in the config files: it's
- #defined in OS.h if needed.
+ * ace/config*.h: removed #define of ACE_HAS_INLINED_OSCALLS
+ because it's no longer needed in the config files: it's
+ #defined in OS.h if needed.
Sun Mar 2 17:14:29 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * include/makeinclude: Updated all the platform-*g++.GNU files so
- that they no longer -D__ACE_INLINE__ (since this is handled in
- the the config-*g++.h files).
+ * include/makeinclude: Updated all the platform-*g++.GNU files so
+ that they no longer -D__ACE_INLINE__ (since this is handled in
+ the the config-*g++.h files).
- * ace: Updated all the config-*g++.h files so that they now
- #define __ACE_INLINE__ rather than having this set in the
- platform_*.GNU file. This makes ACE easier to build and
- integrate with other software packages.
+ * ace: Updated all the config-*g++.h files so that they now
+ #define __ACE_INLINE__ rather than having this set in the
+ platform_*.GNU file. This makes ACE easier to build and
+ integrate with other software packages.
Fri Feb 28 02:22:33 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/SOCK_*: There were problems starting UDP broadcast servers
- (all using the same well known port number) multiple times on
- one machine (this is very useful test distributed applications
- on one single machine). Setting the SO_REUSEADDR option for the
- broadcast socket allows binding of a socket that is already in
- use and thus allows us to start more than one broadcast servers
- in parallel on one machine. Thanks to Dieter Quehl
- <dietrich.quehl@med.siemens.de> for this fix.
+ * ace/SOCK_*: There were problems starting UDP broadcast servers
+ (all using the same well known port number) multiple times on
+ one machine (this is very useful test distributed applications
+ on one single machine). Setting the SO_REUSEADDR option for the
+ broadcast socket allows binding of a socket that is already in
+ use and thus allows us to start more than one broadcast servers
+ in parallel on one machine. Thanks to Dieter Quehl
+ <dietrich.quehl@med.siemens.de> for this fix.
- Therefore, I patched ACE_SOCK_Dgram_Bcast, ACE_SOCK_Dgram and
- ACE_SOCK to include this feature. In addition, I also changed
- ACE_SOCK_Connector/ACE_SOCK_Acceptor to use this feature instead
- of calling setsockopt() there explicitly.
+ Therefore, I patched ACE_SOCK_Dgram_Bcast, ACE_SOCK_Dgram and
+ ACE_SOCK to include this feature. In addition, I also changed
+ ACE_SOCK_Connector/ACE_SOCK_Acceptor to use this feature instead
+ of calling setsockopt() there explicitly.
- * examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp (main): Fixed up the
- use of ACE_OS::fork() here to use the new "named" version.
+ * examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp (main): Fixed up the
+ use of ACE_OS::fork() here to use the new "named" version.
- * ace/OS.h: Added a clever new wrapper function called fork (const
- char *program_name), which calls fork() and then automatically
- calls ACE_LOG_MSG->sync (program_name) to sync up the program
- name. This eliminates a common source of error when forking
- children and using ACE_Log_Msg::log().
+ * ace/OS.h: Added a clever new wrapper function called fork (const
+ char *program_name), which calls fork() and then automatically
+ calls ACE_LOG_MSG->sync (program_name) to sync up the program
+ name. This eliminates a common source of error when forking
+ children and using ACE_Log_Msg::log().
- * examples/IPC_SAP/SOCK_SAP/FD-un{client,server}.cpp: Updated the
- FD client and FD server programs so that it is now a concurrent
- server.
+ * examples/IPC_SAP/SOCK_SAP/FD-un{client,server}.cpp: Updated the
+ FD client and FD server programs so that it is now a concurrent
+ server.
- * ace/config-mvs.h: Added #define ACE_LACKS_TCP_H for MVS. Thanks
- to Chuck Gehr for pointing this out.
+ * ace/config-mvs.h: Added #define ACE_LACKS_TCP_H for MVS. Thanks
+ to Chuck Gehr for pointing this out.
- * ace/OS.h: Added a new #define ACE_LACKS_TCP_H that skips the
- inclusion of the netinet/tcp.h file if it isn't on the platform.
+ * ace/OS.h: Added a new #define ACE_LACKS_TCP_H that skips the
+ inclusion of the netinet/tcp.h file if it isn't on the platform.
- * ace/OS.i (thr_cancel): Changed the line
+ * ace/OS.i (thr_cancel): Changed the line
- ACE_UNUSED_ARG (t_id);
+ ACE_UNUSED_ARG (t_id);
- to
+ to
- ACE_UNUSED_ARG (thr_id);
+ ACE_UNUSED_ARG (thr_id);
- Thanks to Chuck Gehr <gehr@sweng.stortek.com> for reporting
- this.
+ Thanks to Chuck Gehr <gehr@sweng.stortek.com> for reporting
+ this.
- * ace/SString.cpp: Fixed up all the ACE_[CSW]String code so that
- always allocates a rep_ even in the null constructor. This
- saves us from having to handle odd special cases later on...
- Thanks to John Morey <JMOREY@tbi.com> for reporting this.
+ * ace/SString.cpp: Fixed up all the ACE_[CSW]String code so that
+ always allocates a rep_ even in the null constructor. This
+ saves us from having to handle odd special cases later on...
+ Thanks to John Morey <JMOREY@tbi.com> for reporting this.
- * ace/Service_Repository.cpp (close): Changed the order in which
- services are destroyed when the Service Configurator is closed.
- Currently, services are destroyed in the order in which they are
- created according to the svc.conf file. Now, we shut them down
- in reverse order. This makes more sense when services are
- related, i.e., one service has to be started before another.
- Thanks to Karlheinz for this suggestion.
+ * ace/Service_Repository.cpp (close): Changed the order in which
+ services are destroyed when the Service Configurator is closed.
+ Currently, services are destroyed in the order in which they are
+ created according to the svc.conf file. Now, we shut them down
+ in reverse order. This makes more sense when services are
+ related, i.e., one service has to be started before another.
+ Thanks to Karlheinz for this suggestion.
Fri Feb 28 12:13:09 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.h: fixed definition of ACE_TIMER_SKEW. Thanks
- to Chuck Gehr <gehr@sweng.stortek.com> for pointing this out.
+ * ace/OS.h: fixed definition of ACE_TIMER_SKEW. Thanks
+ to Chuck Gehr <gehr@sweng.stortek.com> for pointing this out.
Thu Feb 27 21:36:28 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.{i,cpp} (gethrtime): support on all platforms by
- using ACE_OS::gettimeofday () if there is no native high
- resolution timer. Moved ACE_OS::getimeofday () definition
- toward top of OS.i so that it is always defined before
- being called. Finally, expanded gethrtime () support from
- linux to __GNUC__ with ACE_HAS_PENTIUM; it should work on
- platforms such as VxWorks with gcc on Pentiums.
+ * ace/OS.{i,cpp} (gethrtime): support on all platforms by
+ using ACE_OS::gettimeofday () if there is no native high
+ resolution timer. Moved ACE_OS::getimeofday () definition
+ toward top of OS.i so that it is always defined before
+ being called. Finally, expanded gethrtime () support from
+ linux to __GNUC__ with ACE_HAS_PENTIUM; it should work on
+ platforms such as VxWorks with gcc on Pentiums.
- * ace/config-osf1-4.0-{,g++}.h: added ACE_HAS_CLOCK_GETTIME.
- Thanks to Thilo Kielmann <kielmann@informatik.uni-siegen.de>
- for pointing this out.
+ * ace/config-osf1-4.0-{,g++}.h: added ACE_HAS_CLOCK_GETTIME.
+ Thanks to Thilo Kielmann <kielmann@informatik.uni-siegen.de>
+ for pointing this out.
Thu Feb 27 17:06:12 1997 <harrison@samba.cs.wustl.edu>
- * ace/High_Res_Timer.h (get_env_global_scale_factor): This static
- method will set the global_scale_factor to the value in an
- environment variable (ACE_SCALE_FACTOR by default).
+ * ace/High_Res_Timer.h (get_env_global_scale_factor): This static
+ method will set the global_scale_factor to the value in an
+ environment variable (ACE_SCALE_FACTOR by default).
- * ace/High_Res_Timer.*: Changed all calculations to divide by
- scale_factor before doing / and %. This must be done before the
- mod for correctness.
+ * ace/High_Res_Timer.*: Changed all calculations to divide by
+ scale_factor before doing / and %. This must be done before the
+ mod for correctness.
- * ace/Profile_Timer.i (start): Changed start and stop methods to
- call ACE_High_Res_Timer::gettimeofday. This should allow
- greater timing accurracy.
+ * ace/Profile_Timer.i (start): Changed start and stop methods to
+ call ACE_High_Res_Timer::gettimeofday. This should allow
+ greater timing accurracy.
- * ace/High_Res_Timer.h (global_scale_factor): Added a static
- global_scale_factor that allows applications to set one scale
- factor for all high res timers. This is important for platforms
- like intel where the scale factor will vary based on the
- processor clock speed.
+ * ace/High_Res_Timer.h (global_scale_factor): Added a static
+ global_scale_factor that allows applications to set one scale
+ factor for all high res timers. This is important for platforms
+ like intel where the scale factor will vary based on the
+ processor clock speed.
- * ace/High_Res_Timer.i (gettimeofday): This static method calls
- ACE_OS::gethrtime and converts to an ACE_Time_Value based on the
- global_static_factor.
+ * ace/High_Res_Timer.i (gettimeofday): This static method calls
+ ACE_OS::gethrtime and converts to an ACE_Time_Value based on the
+ global_static_factor.
Wed Feb 26 18:28:35 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ACE-install.sh: Added some fixes for the ACE-install.sh script.
- Thanks to Eugene R. Somdahl <gene@endo.com> for reporting these.
+ * ACE-install.sh: Added some fixes for the ACE-install.sh script.
+ Thanks to Eugene R. Somdahl <gene@endo.com> for reporting these.
- * ace/Connector.cpp (handle_close): Added a test to see if the
- reactor_ is NULL and if it is, don't bother trying to use it to
- clean up. Thanks to Paul Han <phan@CCGATE.HAC.COM> for this
- suggestion.
+ * ace/Connector.cpp (handle_close): Added a test to see if the
+ reactor_ is NULL and if it is, don't bother trying to use it to
+ clean up. Thanks to Paul Han <phan@CCGATE.HAC.COM> for this
+ suggestion.
Tue Feb 25 21:19:57 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.h,config-sunos*.h: default ACE_TIMER_SKEW to 0,
- and override to 10 ms in all Solaris config files.
+ * ace/OS.h,config-sunos*.h: default ACE_TIMER_SKEW to 0,
+ and override to 10 ms in all Solaris config files.
- * ace/Svc_Conf_l.cpp,Makefile: #undef ACE_HAS_TERM_IOCTLS
- so that /usr/include/sys/termios.h won't be included; it
- #defines ECHO, and Svc_Conf_l.cpp has an ECHO symbol.
+ * ace/Svc_Conf_l.cpp,Makefile: #undef ACE_HAS_TERM_IOCTLS
+ so that /usr/include/sys/termios.h won't be included; it
+ #defines ECHO, and Svc_Conf_l.cpp has an ECHO symbol.
- * ace/ACE.cpp (sock_error): added ACE_UNUSED_ARG (error);.
+ * ace/ACE.cpp (sock_error): added ACE_UNUSED_ARG (error);.
- * ace/Timer_Queue.cpp (ctor): rearranged initializers to
- match declaration order.
+ * ace/Timer_Queue.cpp (ctor): rearranged initializers to
+ match declaration order.
Tue Feb 25 19:57:54 1997 <harrison@samba.cs.wustl.edu>
- * ace/Timer_Queue.cpp (gettimeofday): Added gettimeofday accessors
- on the Timer_Queue. The default implementation calls
- ACE_OS::gettimeofday. Applications can specify, via pointers to
- functions, that a timer queue use an alternate gettimeofday
- implementation (e.g., a high resolution timer).
+ * ace/Timer_Queue.cpp (gettimeofday): Added gettimeofday accessors
+ on the Timer_Queue. The default implementation calls
+ ACE_OS::gettimeofday. Applications can specify, via pointers to
+ functions, that a timer queue use an alternate gettimeofday
+ implementation (e.g., a high resolution timer).
- * ace/Reactor.cpp (schedule_timer): The Reactor no longer calls
- ACE_OS::gettimeofday. Instead, it calls
- Timer_Queue::gettimeofday.
+ * ace/Reactor.cpp (schedule_timer): The Reactor no longer calls
+ ACE_OS::gettimeofday. Instead, it calls
+ Timer_Queue::gettimeofday.
- * ace/ReactorEx.cpp (schedule_timer): The ReactorEx no longer calls
- ACE_OS::gettimeofday. Instead, it calls
- Timer_Queue::gettimeofday.
+ * ace/ReactorEx.cpp (schedule_timer): The ReactorEx no longer calls
+ ACE_OS::gettimeofday. Instead, it calls
+ Timer_Queue::gettimeofday.
Tue Feb 25 17:40:57 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/Log_Msg.cpp: Updated the 'p' option of the log() method to
- use the new ACE::sock_error() method for cases where
- FormatMessage() fails.
+ * ace/Log_Msg.cpp: Updated the 'p' option of the log() method to
+ use the new ACE::sock_error() method for cases where
+ FormatMessage() fails.
- * ace/ACE: Added a new sock_error() method to class ACE which
- returns the appropriate message for each WinSock error code.
- This makes up for an apparent oversight in Win32. Thanks to
- Michael R. MacFaden" <mrm@cisco.com> for this.
+ * ace/ACE: Added a new sock_error() method to class ACE which
+ returns the appropriate message for each WinSock error code.
+ This makes up for an apparent oversight in Win32. Thanks to
+ Michael R. MacFaden" <mrm@cisco.com> for this.
Tue Feb 25 01:33:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/OS.h: Moved <netinet/tcp.h> outside of the VXWORKS #ifdef
- since it seems to be available on other platforms (e.g.,
- Solaris). If people find this not to be the case on all
- platforms please let me know and I'll #ifdef it. Thanks to
- Sumedh Mungee <sumedh@cs.wustl.edu> for reporting this.
+ * ace/OS.h: Moved <netinet/tcp.h> outside of the VXWORKS #ifdef
+ since it seems to be available on other platforms (e.g.,
+ Solaris). If people find this not to be the case on all
+ platforms please let me know and I'll #ifdef it. Thanks to
+ Sumedh Mungee <sumedh@cs.wustl.edu> for reporting this.
Tue Feb 25 16:20:29 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * examples/Connection/non_blocking/CPP-acceptor.cpp: Added a
- specific checl for timeouts. Also, changed
- ACE_PEER_ACCEPTOR_ADDR to ACE_PEER_STREAM_ADDR
+ * examples/Connection/non_blocking/CPP-acceptor.cpp: Added a
+ specific checl for timeouts. Also, changed
+ ACE_PEER_ACCEPTOR_ADDR to ACE_PEER_STREAM_ADDR
- * examples/Connection/non_blocking/non-blocking.{mak,mdp}: New
- project files for Win32.
+ * examples/Connection/non_blocking/non-blocking.{mak,mdp}: New
+ project files for Win32.
- * ace/Log_Msg.cpp: Minor changes.
+ * ace/Log_Msg.cpp: Minor changes.
Mon Feb 24 17:16:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Log_Msg.cpp (ACE_Log_Msg): Enable the thread-specific
- tracing flag by default. This ensures that tracing will work
- "out of the box."
+ * ace/Log_Msg.cpp (ACE_Log_Msg): Enable the thread-specific
+ tracing flag by default. This ensures that tracing will work
+ "out of the box."
- * ace/config-sunos5.[45]-g++.h: Added a #define for
- ACE_HAS_TERM_IOCTLS. Thanks to Joey Zhu <joey.zhu@wcom.com> for
- reporting this.
+ * ace/config-sunos5.[45]-g++.h: Added a #define for
+ ACE_HAS_TERM_IOCTLS. Thanks to Joey Zhu <joey.zhu@wcom.com> for
+ reporting this.
- * ace/Synch.cpp (acquire): Simplified the recursive mutex logic
- for acquire(). Thanks to Arthur J. Lewis" <hfdh99a@prodigy.com>
- for reporting this.
+ * ace/Synch.cpp (acquire): Simplified the recursive mutex logic
+ for acquire(). Thanks to Arthur J. Lewis" <hfdh99a@prodigy.com>
+ for reporting this.
- * examples/Connection/non_blocking/CPP-acceptor.cpp (init): Added
- a #ifdef for ACE_WIN32 so that we don't register the signal
- handler for SIGPIPE since it's not supported on Win32. Thanks
- to Ivan Murphy <Ivan.Murphy@med.siemens.de> for reporting this
- problem.
+ * examples/Connection/non_blocking/CPP-acceptor.cpp (init): Added
+ a #ifdef for ACE_WIN32 so that we don't register the signal
+ handler for SIGPIPE since it's not supported on Win32. Thanks
+ to Ivan Murphy <Ivan.Murphy@med.siemens.de> for reporting this
+ problem.
- * examples/Connection/non_blocking: The SPIPE examples in
- (test_spipe_{acceptor,connector}.cpp) aren't ported to Win32
- yet. They currently don't work because ACE_SPIPE*'s can't be
- registered with the ACE_Reactor (which only works with sockets).
- I've #ifdef'd these examples so that they don't get compiled on
- Win32. Thanks to Ivan Murphy <Ivan.Murphy@med.siemens.de> for
- reporting this problem.
+ * examples/Connection/non_blocking: The SPIPE examples in
+ (test_spipe_{acceptor,connector}.cpp) aren't ported to Win32
+ yet. They currently don't work because ACE_SPIPE*'s can't be
+ registered with the ACE_Reactor (which only works with sockets).
+ I've #ifdef'd these examples so that they don't get compiled on
+ Win32. Thanks to Ivan Murphy <Ivan.Murphy@med.siemens.de> for
+ reporting this problem.
Mon Feb 24 20:28:10 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.h: use signed __int64 for ACE_hrtime_t because VC++
- won't convert unsigned __int64 to double. Thanks to Irfan
- <irfan@cs.wustl.edu> for reporting this.
+ * ace/OS.h: use signed __int64 for ACE_hrtime_t because VC++
+ won't convert unsigned __int64 to double. Thanks to Irfan
+ <irfan@cs.wustl.edu> for reporting this.
- * include/makeinclude/platform_{irix5.3_g++,linux*,m88k,
- osf1_4.0_g++,sco-nothread,sunos*g++,unixware_g++}.GNU:
- changed C++ compiler (CXX) from gcc to g++ so that libg++
- will be linked in. Thanks to James CE Johnson <jcej@lads.com>
- for suggesting this.
+ * include/makeinclude/platform_{irix5.3_g++,linux*,m88k,
+ osf1_4.0_g++,sco-nothread,sunos*g++,unixware_g++}.GNU:
+ changed C++ compiler (CXX) from gcc to g++ so that libg++
+ will be linked in. Thanks to James CE Johnson <jcej@lads.com>
+ for suggesting this.
- * examples/IOStream/{client,server}/Makefile,tests/Makefile:
- removed -lg++, when gcc is the compiler, because it's no
- longer needed with g++ as the compiler.
+ * examples/IOStream/{client,server}/Makefile,tests/Makefile:
+ removed -lg++, when gcc is the compiler, because it's no
+ longer needed with g++ as the compiler.
Sat Feb 22 23:03:45 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.i: restored version 4.89 and 4.90 changes that
- were lost in version 4.91.
+ * ace/OS.i: restored version 4.89 and 4.90 changes that
+ were lost in version 4.91.
- * ace/OS.{i,cpp},config-linux*.h: added ACE_OS::gethrtime ()
- support for Linux on Pentiums.
+ * ace/OS.{i,cpp},config-linux*.h: added ACE_OS::gethrtime ()
+ support for Linux on Pentiums.
- * ace/High_Res_Timer.*: changed scale_factor type from
- u_long to double so that it can be less than 1.
+ * ace/High_Res_Timer.*: changed scale_factor type from
+ u_long to double so that it can be less than 1.
- * ace/Thread_Priority.cpp: "linux" instead of "LINUX".
+ * ace/Thread_Priority.cpp: "linux" instead of "LINUX".
- * tests/Priority_Task_Test.cpp (open): set this->priority_ because
- an assertion uses it. Also, use ACE_NORMAL_PRIORITY_CLASS so that
- root doesn't have to run the test on Solaris.
+ * tests/Priority_Task_Test.cpp (open): set this->priority_ because
+ an assertion uses it. Also, use ACE_NORMAL_PRIORITY_CLASS so that
+ root doesn't have to run the test on Solaris.
Sat Feb 22 22:07:35 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * tests/Priority_Task_Test.cpp (open): Now use
- ACE_Thread_Priority while setting the priority of the new
- thread.
+ * tests/Priority_Task_Test.cpp (open): Now use
+ ACE_Thread_Priority while setting the priority of the new
+ thread.
- * ace/Thread_Priority.cpp (convert_to_os_priority): Changed
- return type for this to 'int' from 'long' on Linux. Thanks
- to James CE Johnson <jjohnson@lads.com> for pointing this
- out!
+ * ace/Thread_Priority.cpp (convert_to_os_priority): Changed
+ return type for this to 'int' from 'long' on Linux. Thanks
+ to James CE Johnson <jjohnson@lads.com> for pointing this
+ out!
- * ace/OS.i (thr_cancel): Corrected erroneous macro argument.
- Thanks to James CE Johnson <jjohnson@lads.com> for pointing
- this out!
+ * ace/OS.i (thr_cancel): Corrected erroneous macro argument.
+ Thanks to James CE Johnson <jjohnson@lads.com> for pointing
+ this out!
Sat Feb 22 17:00:59 1997 <harrison@samba.cs.wustl.edu>
- * ace/OS.i (gethrtime): Added support for intel's RDTSC
- instruction for pentium architectures.
+ * ace/OS.i (gethrtime): Added support for intel's RDTSC
+ instruction for pentium architectures.
Sat Feb 22 10:57:47 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Stream.cpp (open): Make sure that if we allocate the Tasks
- in the Stream head and the Stream tail that we set the M_DELETE
- flag so that the close() method will clean up the memory.
- Thanks to David Levine and Purify for noticing this problem.
+ * ace/Stream.cpp (open): Make sure that if we allocate the Tasks
+ in the Stream head and the Stream tail that we set the M_DELETE
+ flag so that the close() method will clean up the memory.
+ Thanks to David Levine and Purify for noticing this problem.
Fri Feb 21 08:06:41 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/OS.i: Yikes, it looks like the Solaris and the POSIX version
- of sigwait() are different! The Solaris version returns the
- signal number, whereas the POSIX version returns 0 on success,
- errno on failure, and sets a parameter with the signal on
- success. I've fixed the ACE_OS C++ wrapper so that the right
- thing happens, i.e., errno is always set to the error (if
- sigwait() returns -1) and the signum is always returned as the
- argument and the return value on success ... Thanks to Harry
- Gunnarsson <hg@carmenta.se> for reporting this.
+ * ace/OS.i: Yikes, it looks like the Solaris and the POSIX version
+ of sigwait() are different! The Solaris version returns the
+ signal number, whereas the POSIX version returns 0 on success,
+ errno on failure, and sets a parameter with the signal on
+ success. I've fixed the ACE_OS C++ wrapper so that the right
+ thing happens, i.e., errno is always set to the error (if
+ sigwait() returns -1) and the signum is always returned as the
+ argument and the return value on success ... Thanks to Harry
+ Gunnarsson <hg@carmenta.se> for reporting this.
Fri Feb 21 11:01:22 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Thread_Priority.cpp: fixed return type of
- convert_to_os_priority () for Linux. Thanks to
- James CE Johnson <jcej@lads.com> for pointing this out.
+ * ace/Thread_Priority.cpp: fixed return type of
+ convert_to_os_priority () for Linux. Thanks to
+ James CE Johnson <jcej@lads.com> for pointing this out.
- * examples/Shared_Malloc/test_malloc.cpp,
- examples/System_V_IPC/SV_Message_Queues/{T,}MQ_Server.cpp (main):
- added ACE_UNUSED_ARG (sa);.
+ * examples/Shared_Malloc/test_malloc.cpp,
+ examples/System_V_IPC/SV_Message_Queues/{T,}MQ_Server.cpp (main):
+ added ACE_UNUSED_ARG (sa);.
Fri Feb 21 04:12:31 1997 <irfan@TWOSTEP>
- * ace/OS.h: Added ACE_SEH_FINALLY.
+ * ace/OS.h: Added ACE_SEH_FINALLY.
- * ace/ReactorEx.h: Added ACE_ReactorEx_Test as a friend class. I
- think we should have one such friend class for all classes in
- ACE.
+ * ace/ReactorEx.h: Added ACE_ReactorEx_Test as a friend class. I
+ think we should have one such friend class for all classes in
+ ACE.
- * examples/Reactor/ReactorEx/test_exceptions.cpp: New test which
- checks how ReactorEx deals with structured exceptions thrown by
- user code
+ * examples/Reactor/ReactorEx/test_exceptions.cpp: New test which
+ checks how ReactorEx deals with structured exceptions thrown by
+ user code
- * ace/ReactorEx.cpp (safe_dispatch): Added protection against
- structured exceptions caused by user code when dispatching
- handles
+ * ace/ReactorEx.cpp (safe_dispatch): Added protection against
+ structured exceptions caused by user code when dispatching
+ handles
Thu Feb 20 17:32:54 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * apps/Gateway: Added a new -v flag to the peerd and gatewayd
- applications so that they will print out the strings that are
- passed to them. This makes it easier to debug and see what's
- happening.
+ * apps/Gateway: Added a new -v flag to the peerd and gatewayd
+ applications so that they will print out the strings that are
+ passed to them. This makes it easier to debug and see what's
+ happening.
Wed Feb 19 19:39:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * apps/Gateway/Gateway/Concrete_Proxy_Handlers.cpp (recv): Removed
- the VERBOSE #ifdefs since they weren't used and were causing
- compile errors. Thanks to Bert Craytor
- <Bert_Craytor@peoplesoft.com> for reporting this.
+ * apps/Gateway/Gateway/Concrete_Proxy_Handlers.cpp (recv): Removed
+ the VERBOSE #ifdefs since they weren't used and were causing
+ compile errors. Thanks to Bert Craytor
+ <Bert_Craytor@peoplesoft.com> for reporting this.
Wed Feb 19 00:39:50 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * examples/ASX/Event_Server: Updated the README file a bit to
- clarify some loose ends. The documentation now explains
- precisely how to start up the transceivers correctly. Thanks to
- Patty Genuald <genualdp@agcs.com> for suggesting this.
+ * examples/ASX/Event_Server: Updated the README file a bit to
+ clarify some loose ends. The documentation now explains
+ precisely how to start up the transceivers correctly. Thanks to
+ Patty Genuald <genualdp@agcs.com> for suggesting this.
- * include/makeinclude: Removed the default symlink for
- platform_macros.GNU since it is "Solaris-biased" ;-). Thanks to
- Amos Shapira <amos@dsi.co.il> for reporting this.
+ * include/makeinclude: Removed the default symlink for
+ platform_macros.GNU since it is "Solaris-biased" ;-). Thanks to
+ Amos Shapira <amos@dsi.co.il> for reporting this.
Wed Feb 19 14:41:18 1997 Tim H. Harrison <harrison@lambada.cs.wustl.edu>
- * ace/Reactor.cpp: Modified to use timer_queue_->gettimeofday().
+ * ace/Reactor.cpp: Modified to use timer_queue_->gettimeofday().
- * ace/Proactor.cpp: Modified to use timer_queue_->gettimeofday().
+ * ace/Proactor.cpp: Modified to use timer_queue_->gettimeofday().
- * ace/ReactorEx.cpp: Modified to use
- timer_queue_->gettimeofday(). Also had to modify the
- ReactorEx_Notify mechanism to use the ReactorEx's timer queue to
- call gettimeofday.
+ * ace/ReactorEx.cpp: Modified to use
+ timer_queue_->gettimeofday(). Also had to modify the
+ ReactorEx_Notify mechanism to use the ReactorEx's timer queue to
+ call gettimeofday.
- * ace/Timer_Queue.h: Added a gettimeofday method. This allows
- applications to replace the timer mechanism used by the
- Reactors. The default implementation returns
- ACE_OS::gettimeofday. However, a real-time application can
- inherit from Timer_Queue and override gettimeofday to return a
- value from a high resolution timer.
+ * ace/Timer_Queue.h: Added a gettimeofday method. This allows
+ applications to replace the timer mechanism used by the
+ Reactors. The default implementation returns
+ ACE_OS::gettimeofday. However, a real-time application can
+ inherit from Timer_Queue and override gettimeofday to return a
+ value from a high resolution timer.
- * STL/bool.h: Changed the defines for type bool. First, bool is no
- longer defined for WIN32 since yvals.h typedefs it already.
- Also, I moved the defines out the namespace. I'm not sure if
- that's the right thing to do.
+ * STL/bool.h: Changed the defines for type bool. First, bool is no
+ longer defined for WIN32 since yvals.h typedefs it already.
+ Also, I moved the defines out the namespace. I'm not sure if
+ that's the right thing to do.
Tue Feb 18 16:41:02 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * include/makeinclude: Added minor enhancements to rules.local.GNU
- and wrapper_macros.GNU so that it works with MVS. Thanks to
- Chuck Gehr <gehr@sweng.stortek.com> for this.
+ * include/makeinclude: Added minor enhancements to rules.local.GNU
+ and wrapper_macros.GNU so that it works with MVS. Thanks to
+ Chuck Gehr <gehr@sweng.stortek.com> for this.
- * include/makeinclude: Added a new platform_mvs.GNU file that
- supports builds on MVS! Thanks to Chuck Gehr
- <gehr@sweng.stortek.com> for this.
+ * include/makeinclude: Added a new platform_mvs.GNU file that
+ supports builds on MVS! Thanks to Chuck Gehr
+ <gehr@sweng.stortek.com> for this.
- * tests/TSS_Test.cpp (worker): To get TSS_Test.cpp to compile on
- MVS we changed line 69 from:
+ * tests/TSS_Test.cpp (worker): To get TSS_Test.cpp to compile on
+ MVS we changed line 69 from:
- ACE_thread_key_t key = 0;
+ ACE_thread_key_t key = 0;
to:
@@ -7074,1695 +7074,1695 @@ Tue Feb 18 16:41:02 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
key = ACE_OS::NULL_key;
- Thanks to Chuck Gehr <gehr@sweng.stortek.com> for reporting
- this.
+ Thanks to Chuck Gehr <gehr@sweng.stortek.com> for reporting
+ this.
- * ace/Reactor.cpp (dispatch): Fixed the dispatching logic so that
- we bail out as soon as we discover that our state has changed.
- Thus, we'll recompute the fd_sets used for select().
+ * ace/Reactor.cpp (dispatch): Fixed the dispatching logic so that
+ we bail out as soon as we discover that our state has changed.
+ Thus, we'll recompute the fd_sets used for select().
Tue Feb 18 19:02:53 1997 <irfan@cha-cha.cs.wustl.edu>
- * ace/ReactorEx:
+ * ace/ReactorEx:
- (a) Made wakeup_all_threads() public. Thanks to Hamutal Yanay
- <Hamutal_Yanay@mail.icomverse.com> for suggesting this.
+ (a) Made wakeup_all_threads() public. Thanks to Hamutal Yanay
+ <Hamutal_Yanay@mail.icomverse.com> for suggesting this.
- (b) Change closed_for_business_ to open_for_business_. Also made
- sure that open and close can potentially be called multiple
- times from multiple threads.
+ (b) Change closed_for_business_ to open_for_business_. Also made
+ sure that open and close can potentially be called multiple
+ times from multiple threads.
- (c) Changed unbind and unbind_all such that they iterate through
- all the handles.
+ (c) Changed unbind and unbind_all such that they iterate through
+ all the handles.
- (d) Added a check to see if the handle has been scheduled for
- deletion before dispatching it.
+ (d) Added a check to see if the handle has been scheduled for
+ deletion before dispatching it.
Tue Feb 18 21:24:57 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/IOStream.h,README: replaced ACE_WIN32 conditional with
- ACE_LACKS_IOSTREAM_FX.
+ * ace/IOStream.h,README: replaced ACE_WIN32 conditional with
+ ACE_LACKS_IOSTREAM_FX.
- * ace/config-{mvs,win*}.h: added #define ACE_LACKS_IOSTREAM_FX.
- Thanks to Chuck Gehr <gehr@sweng.stortek.com> for pointing
- out the need for this support for MVS.
+ * ace/config-{mvs,win*}.h: added #define ACE_LACKS_IOSTREAM_FX.
+ Thanks to Chuck Gehr <gehr@sweng.stortek.com> for pointing
+ out the need for this support for MVS.
- * examples/Reactor/Misc/test_demuxing.cpp: removed unused
- variable "done".
+ * examples/Reactor/Misc/test_demuxing.cpp: removed unused
+ variable "done".
- * examples/Reactor/Misc/test_signals_1.cpp (main),
- examples/Reactor/Ntalker/ntalker.cpp (main):
- added ACE_UNUSED_ARG (sig);.
+ * examples/Reactor/Misc/test_signals_1.cpp (main),
+ examples/Reactor/Ntalker/ntalker.cpp (main):
+ added ACE_UNUSED_ARG (sig);.
Tue Feb 18 17:15:24 1997 Tim H. Harrison <harrison@lambada.cs.wustl.edu>
- * ace/ace.mdp, ace/mak: Modified release configuration to build
- acer.dll.
+ * ace/ace.mdp, ace/mak: Modified release configuration to build
+ acer.dll.
Tue Feb 18 11:43:04 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Log_Msg.cpp: removed destructor because it's not declared
- and it's empty.
+ * ace/Log_Msg.cpp: removed destructor because it's not declared
+ and it's empty.
- * ace/OS.i (thr_setprio): added another case (that is NOTSUP)
- for platforms with Pthreads and with LACK_SETSCHED. Thanks to
- Chuck Gehr <gehr@sweng.stortek.com> for pointing this out.
+ * ace/OS.i (thr_setprio): added another case (that is NOTSUP)
+ for platforms with Pthreads and with LACK_SETSCHED. Thanks to
+ Chuck Gehr <gehr@sweng.stortek.com> for pointing this out.
- * tests/Reactor_Notify_Test.cpp (main): added shutdown flag so
- that normal termination reaches ACE_END_TEST.
+ * tests/Reactor_Notify_Test.cpp (main): added shutdown flag so
+ that normal termination reaches ACE_END_TEST.
- * tests/Reactors_Test.cpp (worker): changed "timeout" message to
- "Reactor shutdown" because that indicates normal termination,
- and won't fool the one-button test.
+ * tests/Reactors_Test.cpp (worker): changed "timeout" message to
+ "Reactor shutdown" because that indicates normal termination,
+ and won't fool the one-button test.
- * examples/Mem_Map/IO-tests/test_io.cpp (main): added
+ * examples/Mem_Map/IO-tests/test_io.cpp (main): added
ACE_UNUSED_ARG (sa);.
- * examples/Misc/test_trace.cpp (main): added ACE_UNUSED_ARG
+ * examples/Misc/test_trace.cpp (main): added ACE_UNUSED_ARG
for sig1 and sig2.
Tue Feb 18 03:50:10 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/ReactorEx:
+ * ace/ReactorEx:
- (a) Added a closed_for_business_ flag so that handle_events()
- cannot be called after the ReactorEx has been closed down.
+ (a) Added a closed_for_business_ flag so that handle_events()
+ cannot be called after the ReactorEx has been closed down.
- (b) Transfer of ownership of the ReactorEx to a new owner has
- changed. The transfer will not complete until all threads
- are ready for it (just like the handle set).
- ReactorEx->update_state() now looks out for changes in
- ownership.
+ (b) Transfer of ownership of the ReactorEx to a new owner has
+ changed. The transfer will not complete until all threads
+ are ready for it (just like the handle set).
+ ReactorEx->update_state() now looks out for changes in
+ ownership.
- * examples/Reactor/ReactorEx/test_MT.cpp:
-
- (a) The test now terminates and number of iterations can be
- specified on the command line.
-
- (b) Graceful shutdown of ReactorEx is now exercised in the
- test. This is a change for the earlier infinite loop. This
- also shows how to gracefully close ReactorEx which is being
- shared by multiple threads.
+ * examples/Reactor/ReactorEx/test_MT.cpp:
+
+ (a) The test now terminates and number of iterations can be
+ specified on the command line.
+
+ (b) Graceful shutdown of ReactorEx is now exercised in the
+ test. This is a change for the earlier infinite loop. This
+ also shows how to gracefully close ReactorEx which is being
+ shared by multiple threads.
- (c) Timers were added to the test.
+ (c) Timers were added to the test.
- * ace/config{win32}: Added flag ACE_LACKS_LINEBUFFERED_STREAMBUF.
+ * ace/config{win32}: Added flag ACE_LACKS_LINEBUFFERED_STREAMBUF.
Mon Feb 17 22:37:35 1997 Tim H. Harrison <harrison@lambada.cs.wustl.edu>
- * ace/Log_Msg.h (ACE_RETURN): Modified all ACE_RETURN macros to
- use ACE_OS::last_error instead of errno. This makes these more
- portable to Win32.
+ * ace/Log_Msg.h (ACE_RETURN): Modified all ACE_RETURN macros to
+ use ACE_OS::last_error instead of errno. This makes these more
+ portable to Win32.
- * ace/Log_Msg.cpp (log): Modified Win32 version to use
- FormatMessage if errnum is greater than sys_nerr.
+ * ace/Log_Msg.cpp (log): Modified Win32 version to use
+ FormatMessage if errnum is greater than sys_nerr.
- * ace/OS.i (last_error): Modified Win32 version to return
- GetLastError if errno == 0.
+ * ace/OS.i (last_error): Modified Win32 version to return
+ GetLastError if errno == 0.
Mon Feb 17 18:32:29 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/OS.h: Protected the #ifdef for CLOCK_REALTIME so that it
- won't conflict with an existing macro in AIX. Thanks to Chris
- Lahey <CLahey@cccis.com> for this.
+ * ace/OS.h: Protected the #ifdef for CLOCK_REALTIME so that it
+ won't conflict with an existing macro in AIX. Thanks to Chris
+ Lahey <CLahey@cccis.com> for this.
- * ace/Local_Name_Space_T.h: Added Local_Name_Space.h to
- Local_Name_Space_T.h so that templates will work correctly on
- AIX. Thanks to Chris Lahey <CLahey@cccis.com> for this.
+ * ace/Local_Name_Space_T.h: Added Local_Name_Space.h to
+ Local_Name_Space_T.h so that templates will work correctly on
+ AIX. Thanks to Chris Lahey <CLahey@cccis.com> for this.
- * tests: Added a new test, Reactor_Notify_Test.cpp, which tests
- out the new max_notify_iterations() method on the Reactor.
+ * tests: Added a new test, Reactor_Notify_Test.cpp, which tests
+ out the new max_notify_iterations() method on the Reactor.
- * ace/Reactor: Finished rewriting and testing the new dispatching
- logic of the Reactor. The new implementation guards against
- pathological cases where ACE_Event_Handler::handle_*() methods
- remove registered ACE_Event_Handler objects whose handles are
- pending in the dispatch_set. Previously there was no good way
- to guard against this. Now, it should be handled automatically.
+ * ace/Reactor: Finished rewriting and testing the new dispatching
+ logic of the Reactor. The new implementation guards against
+ pathological cases where ACE_Event_Handler::handle_*() methods
+ remove registered ACE_Event_Handler objects whose handles are
+ pending in the dispatch_set. Previously there was no good way
+ to guard against this. Now, it should be handled automatically.
- * ace: Added many minor fixes to remove warnings with the SGI C++
- compiler. Thanks to Gonzalo Diethelm <gonzo@ing.puc.cl> for
- suggesting this.
+ * ace: Added many minor fixes to remove warnings with the SGI C++
+ compiler. Thanks to Gonzalo Diethelm <gonzo@ing.puc.cl> for
+ suggesting this.
- * include/makeinclude/platform_irix6.2_sgic++.GNU: Turned on all
- the warnings for the SGI C++ compiler. Thanks to Gonzalo
- Diethelm <gonzo@ing.puc.cl> for suggesting this.
+ * include/makeinclude/platform_irix6.2_sgic++.GNU: Turned on all
+ the warnings for the SGI C++ compiler. Thanks to Gonzalo
+ Diethelm <gonzo@ing.puc.cl> for suggesting this.
Mon Feb 17 20:59:47 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/IOStream.h: added null ipfx (), etc., methods for ACE_WIN32
- because its iostream class doesn't have them.
+ * ace/IOStream.h: added null ipfx (), etc., methods for ACE_WIN32
+ because its iostream class doesn't have them.
- * ace/OS.h: added #include of <netinet/tcp.h> on VxWorks.
+ * ace/OS.h: added #include of <netinet/tcp.h> on VxWorks.
- * ace/Pipe.cpp (open): enabled TCP_NODELAY on VxWorks now that
- OS.h #includes <netinet/tcp.h>.
+ * ace/Pipe.cpp (open): enabled TCP_NODELAY on VxWorks now that
+ OS.h #includes <netinet/tcp.h>.
- * ace/ReactorEx.h: made ACE_ReactorEx_Handler_Repository destructor
- virtual because the class has other virtual functions.
+ * ace/ReactorEx.h: made ACE_ReactorEx_Handler_Repository destructor
+ virtual because the class has other virtual functions.
- * tests/IOStream_Test.cpp: removed ACE_WIN32 #ifndef, and
- removed q_char bool conversion operator because it shouldn't
- be needed.
+ * tests/IOStream_Test.cpp: removed ACE_WIN32 #ifndef, and
+ removed q_char bool conversion operator because it shouldn't
+ be needed.
- * examples/Reactor/Misc/pingpong.cpp (handle_input): cast buf_len
- to ssize_t to avoid signed/unsigned comparison.
+ * examples/Reactor/Misc/pingpong.cpp (handle_input): cast buf_len
+ to ssize_t to avoid signed/unsigned comparison.
- * examples/Service_Configurator/IPC-tests/client/\
- remote_dgram_client_test.cpp (main): cast mmap.size () to
- ssize_t to avoid signed/unsigned comparison.
+ * examples/Service_Configurator/IPC-tests/client/\
+ remote_dgram_client_test.cpp (main): cast mmap.size () to
+ ssize_t to avoid signed/unsigned comparison.
Mon Feb 17 09:25:08 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * ace/config-linux-lxpthreads.h: Bumped the Linux kernel version
- number assigned to the symbol LINUX. Also added conditional
- defines for PTHREAD_{MAX,MIN}_PRIORITY when using Xavier Leroy's
- LinuxThreads.
+ * ace/config-linux-lxpthreads.h: Bumped the Linux kernel version
+ number assigned to the symbol LINUX. Also added conditional
+ defines for PTHREAD_{MAX,MIN}_PRIORITY when using Xavier Leroy's
+ LinuxThreads.
- * ace/Thread_Priority.cpp: Added convert_to_os_priority() for Linux.
-
+ * ace/Thread_Priority.cpp: Added convert_to_os_priority() for Linux.
+
Mon Feb 17 03:15:48 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * tests/SOCK_Test.cpp (server): Changed recv_n() to recv().
+ * tests/SOCK_Test.cpp (server): Changed recv_n() to recv().
- * tests/tests.{mak,mdp}: Added two new tests: IOStream and
- Reactor_Notify.
+ * tests/tests.{mak,mdp}: Added two new tests: IOStream and
+ Reactor_Notify.
- * ace/Reactor: Removed all special checks for setting
- ACE_Reactor::max_notify_iterations_ on WIN32 to be 1. This was
- made possible after we figured out that the errno was being
- reset after the recv() call in handle_input(). This allows
- ACE_Reactor_Notify::handle_input() to serve upto
- ACE_Reactor::max_notify_iterations_ notifications in one shot
- rather than just 1 on WIN32. This should speed up the Reactor on
- WIN32 platforms.
-
+ * ace/Reactor: Removed all special checks for setting
+ ACE_Reactor::max_notify_iterations_ on WIN32 to be 1. This was
+ made possible after we figured out that the errno was being
+ reset after the recv() call in handle_input(). This allows
+ ACE_Reactor_Notify::handle_input() to serve upto
+ ACE_Reactor::max_notify_iterations_ notifications in one shot
+ rather than just 1 on WIN32. This should speed up the Reactor on
+ WIN32 platforms.
+
Sun Feb 16 12:23:23 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Reactor.cpp: Totally rewrote the ACE_Reactor's dispatching
- mechanism so that it now keeps track of whether the state of the
- wait_set_ has changed during a dispatch (i.e., whenever
- register_handler_i() or remove_handler_i() is called). If the
- wait_set_ state *has* changed, then we bail out and rerun
- select() in order to get the latest changes.
-
- * ace/Reactor.cpp: Changed the implementation of the
- ACE_Reactor_Notify class so that (1) it short-circuits a trip
- through the ACE_Reactor::notify_handle() method (after all, it's
- just going to call its own handle_input() method back) and (2)
- the ACE_Reactor_Notify::handle_input() method now returns a
- count of the number of handlers that it dispatched.
-
- * ace/Log_Msg.h: Added a (%P|%t) so that we now print out the
- process id and thread number for failed ACE_ASSERT() calls.
-
- * tests: Removed the unnecessary template specializations of
- ACE_Atomic_Op<ACE_Thread_Mutex, int> since this is already done
- in libACE.
-
- * ace/Reactor.cpp: Removed the #ifdef preventing the enabling of
- non-blocking mode for the recv() side of the Reactor's
- notification pipe (socket) for Win32. I believe that with the
- new max_notify_iterations scheme we should be all set.
-
- * ace/ReactorEx.cpp: Added an identical API for bounding the
- max_notify_iterations() for ReactorEx.
-
- * ace/Reactor.cpp: Enhanced the Reactor's notify() mechanism so
- that it is now possible to set the max_notify_iterations(),
- which limits the number of times that the
- ACE_Reactor_Notify::handle_input() method will iterate and
- dispatch the ACE_Event_Handlers that are passed in via the
- notify pipe before breaking out of its recv() loop. This is
- necessary to keep from starving out other Event_Handlers.
- Thanks to Rod Skinner <rods@in.ot.com.au> for pointing out the
- need for this.
-
- * ace/Reactor.cpp: Fixed a bug in the WIN32
- ACE_Reactor_Notify::handle_input() logic. We were calling
- requeue_position(0) when we should have been calling renew().
+ * ace/Reactor.cpp: Totally rewrote the ACE_Reactor's dispatching
+ mechanism so that it now keeps track of whether the state of the
+ wait_set_ has changed during a dispatch (i.e., whenever
+ register_handler_i() or remove_handler_i() is called). If the
+ wait_set_ state *has* changed, then we bail out and rerun
+ select() in order to get the latest changes.
+
+ * ace/Reactor.cpp: Changed the implementation of the
+ ACE_Reactor_Notify class so that (1) it short-circuits a trip
+ through the ACE_Reactor::notify_handle() method (after all, it's
+ just going to call its own handle_input() method back) and (2)
+ the ACE_Reactor_Notify::handle_input() method now returns a
+ count of the number of handlers that it dispatched.
+
+ * ace/Log_Msg.h: Added a (%P|%t) so that we now print out the
+ process id and thread number for failed ACE_ASSERT() calls.
+
+ * tests: Removed the unnecessary template specializations of
+ ACE_Atomic_Op<ACE_Thread_Mutex, int> since this is already done
+ in libACE.
+
+ * ace/Reactor.cpp: Removed the #ifdef preventing the enabling of
+ non-blocking mode for the recv() side of the Reactor's
+ notification pipe (socket) for Win32. I believe that with the
+ new max_notify_iterations scheme we should be all set.
+
+ * ace/ReactorEx.cpp: Added an identical API for bounding the
+ max_notify_iterations() for ReactorEx.
+
+ * ace/Reactor.cpp: Enhanced the Reactor's notify() mechanism so
+ that it is now possible to set the max_notify_iterations(),
+ which limits the number of times that the
+ ACE_Reactor_Notify::handle_input() method will iterate and
+ dispatch the ACE_Event_Handlers that are passed in via the
+ notify pipe before breaking out of its recv() loop. This is
+ necessary to keep from starving out other Event_Handlers.
+ Thanks to Rod Skinner <rods@in.ot.com.au> for pointing out the
+ need for this.
+
+ * ace/Reactor.cpp: Fixed a bug in the WIN32
+ ACE_Reactor_Notify::handle_input() logic. We were calling
+ requeue_position(0) when we should have been calling renew().
Sat Feb 15 11:46:39 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/ACE.cpp: It appears that VxWorks doesn't support fcntl().
- However, it does seem to support ioctl(). Therefore, that's how
- we'll set the descriptors into non-blocking mode. Thanks to
- Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for reporting this.
+ * ace/ACE.cpp: It appears that VxWorks doesn't support fcntl().
+ However, it does seem to support ioctl(). Therefore, that's how
+ we'll set the descriptors into non-blocking mode. Thanks to
+ Dave Mayerhoefer <mayerhoefer@svappl36.mdc.com> for reporting this.
- * ace/SOCK_Stream.h: Corrected the documentation for
- ACE_SOCK_Stream::recv_n (void *buf, size_t len, int flags, const
- ACE_Time_Value *timeout). Thanks to Paul Roman
- <proman@npac.syr.edu> for reporting this.
+ * ace/SOCK_Stream.h: Corrected the documentation for
+ ACE_SOCK_Stream::recv_n (void *buf, size_t len, int flags, const
+ ACE_Time_Value *timeout). Thanks to Paul Roman
+ <proman@npac.syr.edu> for reporting this.
- * ace/SOCK_Stream.i (recv_n): Fixed a minor bug in the
- SOCK_Stream.i line 38:
+ * ace/SOCK_Stream.i (recv_n): Fixed a minor bug in the
+ SOCK_Stream.i line 38:
- ACE_TRACE ("ACE_SOCK_Stream::send_n");
+ ACE_TRACE ("ACE_SOCK_Stream::send_n");
- should be
+ should be
- ACE_TRACE ("ACE_SOCK_Stream::recv_n");
+ ACE_TRACE ("ACE_SOCK_Stream::recv_n");
- Thanks to Paul Roman <proman@npac.syr.edu> for reporting this.
+ Thanks to Paul Roman <proman@npac.syr.edu> for reporting this.
Fri Feb 14 00:40:14 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/TTY_IO.cpp (control): Moved the drop out timer value from
- the ACE struct to the WinNT struct. Thanks to Brad Flood
- <BFLOOD@tcs.lmco.com> for this fix.
+ * ace/TTY_IO.cpp (control): Moved the drop out timer value from
+ the ACE struct to the WinNT struct. Thanks to Brad Flood
+ <BFLOOD@tcs.lmco.com> for this fix.
Thu Feb 13 21:24:17 1997 <irfan@cha-cha.cs.wustl.edu>
- * ace/OS.i (event_wait): Fixed the missing check for success.
+ * ace/OS.i (event_wait): Fixed the missing check for success.
- * ace/Synch: Fixed problems with multiple removal of
- resources. Thanks to Bert (Bcraytor@aol.com) for pointing this
- out.
+ * ace/Synch: Fixed problems with multiple removal of
+ resources. Thanks to Bert (Bcraytor@aol.com) for pointing this
+ out.
- * examples/Threads/test.{mdp,mak}: Reorganized project so that it
- is easier to use.
+ * examples/Threads/test.{mdp,mak}: Reorganized project so that it
+ is easier to use.
- * examples/Threads: Small changes to make tests run faster.
+ * examples/Threads: Small changes to make tests run faster.
Thu Feb 13 01:49:38 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/OS.i (stat): Added stat() to ACE_OS.
+ * ace/OS.i (stat): Added stat() to ACE_OS.
- * apps/jaws: The ACE web server has now been ported to Win32.
+ * apps/jaws: The ACE web server has now been ported to Win32.
- * ace/ReactorEx: Add a new version of remove_handler().
+ * ace/ReactorEx: Add a new version of remove_handler().
- * examples/Reactor/ReactorEx/test_MT.cpp: Fixed stuff so that only
- <concurrent_threads> are activated.
+ * examples/Reactor/ReactorEx/test_MT.cpp: Fixed stuff so that only
+ <concurrent_threads> are activated.
Wed Feb 12 22:58:15 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/ReactorEx: Made minor changes to the ReactorEx.
+ * ace/ReactorEx: Made minor changes to the ReactorEx.
- * examples/Reactor/ReactorEx/test_MT.cpp: Updated Irfan's new
- ReactorEx test to use ACE_Tasks.
+ * examples/Reactor/ReactorEx/test_MT.cpp: Updated Irfan's new
+ ReactorEx test to use ACE_Tasks.
Wed Feb 12 00:08:42 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/ReactorEx: Finished a complete rewrite of
- ReactorEx. The new version allows multiple threads of
- control to wait simultaneously in
- ::WaitForMultipleObjects(). This was difficult because the
- set of ACE_HANDLEs used in ReactorEx->handle_events() is
- shared between all threads. We devised a clever protocol
- that ensures all changes to the handle set are
- serialized. This serialization was achieved by using
- multiple (auto and manual) events and mutexes and by taking
- advantage of the "waitAll" semantics of
- WaitForMultipleObjects().
-
- Concept of "owner" thread is introduced in ReactorEx. We
- need to keep track of the "owner" because we don't want
- multiple threads to try to expire timers. Therefore the
- "owner" thread is the only one allowed to expire
- timers. Also, the owner thread is the only thread which
- waits on the internal notify handle (which is used to
- dispatch explicit calls to
- ACE_ReactorEx::notify(). Initially, the creator thread of
- ReactorEx becomes the "owner" thread. Ownership can later be
- transferred among threads, just as with the standard
- ACE_Reactor.
-
- We also updated the Handler Repository since it now
- keeps track of <handle, event_handler> tuples to be added
- and deleted from the current handle set at the appropriate
- time (i.e., when all threads are out of
- WaitForMultipleObjects() and have completed all necessary
- dispatching). The Handler_Repository implements the update
- protocol that is used to serialize changes to its internal
- state.
-
- Two slots were added to the <size> parameter in the
- constructor and open methods of ReactorEx that will store
- handles used for internal management. Therefore, users can add
- upto MAXIMUM_WAIT_OBJECTS - 2 handles into ReactorEx. On
- current WinNT platforms (e.g., 3.51 and 4.0)
- MAXIMUM_WAIT_OBJECTS is 64.
-
- Note that the interface to ReactorEx did not change in this
- process. Your existing code should work without changes.
- Moreover, we've optimized the implementation so that if only
- 1 thread calls ACE_ReactorEx::handle_events() the code is
- very efficient. Moreover, you can dynamically add or remove
- threads without having to register them with the ReactorEx.
-
- * examples/Reactor/ReactorEx/test_MT.cpp: This application tests
- multiple threads simultaneously calling
- ReactorEx->handle_events(). It also shows how different threads
- can update the state of ReactorEx.
+ * ace/ReactorEx: Finished a complete rewrite of
+ ReactorEx. The new version allows multiple threads of
+ control to wait simultaneously in
+ ::WaitForMultipleObjects(). This was difficult because the
+ set of ACE_HANDLEs used in ReactorEx->handle_events() is
+ shared between all threads. We devised a clever protocol
+ that ensures all changes to the handle set are
+ serialized. This serialization was achieved by using
+ multiple (auto and manual) events and mutexes and by taking
+ advantage of the "waitAll" semantics of
+ WaitForMultipleObjects().
+
+ Concept of "owner" thread is introduced in ReactorEx. We
+ need to keep track of the "owner" because we don't want
+ multiple threads to try to expire timers. Therefore the
+ "owner" thread is the only one allowed to expire
+ timers. Also, the owner thread is the only thread which
+ waits on the internal notify handle (which is used to
+ dispatch explicit calls to
+ ACE_ReactorEx::notify(). Initially, the creator thread of
+ ReactorEx becomes the "owner" thread. Ownership can later be
+ transferred among threads, just as with the standard
+ ACE_Reactor.
+
+ We also updated the Handler Repository since it now
+ keeps track of <handle, event_handler> tuples to be added
+ and deleted from the current handle set at the appropriate
+ time (i.e., when all threads are out of
+ WaitForMultipleObjects() and have completed all necessary
+ dispatching). The Handler_Repository implements the update
+ protocol that is used to serialize changes to its internal
+ state.
+
+ Two slots were added to the <size> parameter in the
+ constructor and open methods of ReactorEx that will store
+ handles used for internal management. Therefore, users can add
+ upto MAXIMUM_WAIT_OBJECTS - 2 handles into ReactorEx. On
+ current WinNT platforms (e.g., 3.51 and 4.0)
+ MAXIMUM_WAIT_OBJECTS is 64.
+
+ Note that the interface to ReactorEx did not change in this
+ process. Your existing code should work without changes.
+ Moreover, we've optimized the implementation so that if only
+ 1 thread calls ACE_ReactorEx::handle_events() the code is
+ very efficient. Moreover, you can dynamically add or remove
+ threads without having to register them with the ReactorEx.
+
+ * examples/Reactor/ReactorEx/test_MT.cpp: This application tests
+ multiple threads simultaneously calling
+ ReactorEx->handle_events(). It also shows how different threads
+ can update the state of ReactorEx.
Wed Feb 12 00:08:42 1997 Douglas C. Schmidt <schmidt@polka.cs.wustl.edu>
- * ace/Synch: Added a remove() call to ~ACE_Thread_Mutex so that it
- will be removed (and resources cleaned up) automatically when an
- ACE_Thread_Mutex object goes out of scope. Thanks to Jay
- Denkberg <jay_denkberg@mail.icomverse.com> for reporting this.
+ * ace/Synch: Added a remove() call to ~ACE_Thread_Mutex so that it
+ will be removed (and resources cleaned up) automatically when an
+ ACE_Thread_Mutex object goes out of scope. Thanks to Jay
+ Denkberg <jay_denkberg@mail.icomverse.com> for reporting this.
- * ace: Added a new config file (config-irix6.2-sgic++-nothreads.h)
- that works for non-Pthread versions of SGI 6.2. Thanks to Fred
- LaBar <flabar@fallschurch.esys.com> for this.
+ * ace: Added a new config file (config-irix6.2-sgic++-nothreads.h)
+ that works for non-Pthread versions of SGI 6.2. Thanks to Fred
+ LaBar <flabar@fallschurch.esys.com> for this.
- * ace/XtReactor: Fixed a bunch of minor bugs that crept into the
- ACE_XtReactor. Thanks to Fred LaBar
- <flabar@fallschurch.esys.com> for reporting this.
+ * ace/XtReactor: Fixed a bunch of minor bugs that crept into the
+ ACE_XtReactor. Thanks to Fred LaBar
+ <flabar@fallschurch.esys.com> for reporting this.
- * ace/OS.i (thr_getprio): Fixed a typo in the #ifdefs so that we
- return ACE_NOTSUP_RETURN(-1) if threading isn't enabled. Thanks
- to Fred LaBar <flabar@fallschurch.esys.com> for reporting this.
+ * ace/OS.i (thr_getprio): Fixed a typo in the #ifdefs so that we
+ return ACE_NOTSUP_RETURN(-1) if threading isn't enabled. Thanks
+ to Fred LaBar <flabar@fallschurch.esys.com> for reporting this.
Tue Feb 11 11:26:03 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.{h,i},config-vxworks*.h,README: added ACE_HAS_CLOCK_GETTIME,
- and only support ACE_OS::clock_gettime if that's defined.
- It can be supported on Solaris 2.5, but -lposix4 is then required.
+ * ace/OS.{h,i},config-vxworks*.h,README: added ACE_HAS_CLOCK_GETTIME,
+ and only support ACE_OS::clock_gettime if that's defined.
+ It can be supported on Solaris 2.5, but -lposix4 is then required.
- * ace/Thread_Priority.*: added increment () and decrement ()
- operations.
+ * ace/Thread_Priority.*: added increment () and decrement ()
+ operations.
- * include/makeinclude/platform_sunos5_sunc++_4.1.GNU:
- added -pta back to avoid link problems with template classes
- that have virtual functions that are all inline, if inlining
- is disabled. Though we don't see the problem, other 4.1 users do.
- Thanks to mscallinan@CCGATE.HAC.COM for reporting this.
+ * include/makeinclude/platform_sunos5_sunc++_4.1.GNU:
+ added -pta back to avoid link problems with template classes
+ that have virtual functions that are all inline, if inlining
+ is disabled. Though we don't see the problem, other 4.1 users do.
+ Thanks to mscallinan@CCGATE.HAC.COM for reporting this.
- * examples/Logger/simple-server/Logging_Handler.cpp (handle_input):
- cast "len" to ssize_t to prevent mixed signed/unsigned comparison.
+ * examples/Logger/simple-server/Logging_Handler.cpp (handle_input):
+ cast "len" to ssize_t to prevent mixed signed/unsigned comparison.
- * examples/Logger/simple-server/server_loggerd.cpp (main):
- added ACE_UNUSED_ARG (sa);.
+ * examples/Logger/simple-server/server_loggerd.cpp (main):
+ added ACE_UNUSED_ARG (sa);.
- * examples/Reactor/Misc/notification.cpp (Thread_Handler ctor):
- changed type of n_threads argument from int to size_t to avoid
- signed/unsigned comparison.
+ * examples/Reactor/Misc/notification.cpp (Thread_Handler ctor):
+ changed type of n_threads argument from int to size_t to avoid
+ signed/unsigned comparison.
Mon Feb 10 15:27:02 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Timer_Queue: Added a virtual destructor so that subclasses
- deleted via ACE_Timer_Queue *'s will call the right destructor.
- Thanks to Stuart Powell <stuartp@in.ot.com.au> for reporting
- this.
+ * ace/Timer_Queue: Added a virtual destructor so that subclasses
+ deleted via ACE_Timer_Queue *'s will call the right destructor.
+ Thanks to Stuart Powell <stuartp@in.ot.com.au> for reporting
+ this.
- * ace/Timer_Heap.cpp: Added support for automatically growing
- ACE_Timer_Heaps. This allows heaps to grow automatically as new
- ACE_Event_Handlers are added dynamically. Thanks to Stuart
- Powell <stuartp@in.ot.com.au> for this enhancement.
+ * ace/Timer_Heap.cpp: Added support for automatically growing
+ ACE_Timer_Heaps. This allows heaps to grow automatically as new
+ ACE_Event_Handlers are added dynamically. Thanks to Stuart
+ Powell <stuartp@in.ot.com.au> for this enhancement.
- * ace/Memory_Pool: Added support that allows flags to be passed in
- to the MMAP_Memory_Pool. This can be used to set the
- appropriate type of backing store semantics (e.g., MAP_PRIVATE
- and MAP_SHARED). Thanks to Fred LaBar
- <flabar@fallschurch.esys.com> for providing this.
+ * ace/Memory_Pool: Added support that allows flags to be passed in
+ to the MMAP_Memory_Pool. This can be used to set the
+ appropriate type of backing store semantics (e.g., MAP_PRIVATE
+ and MAP_SHARED). Thanks to Fred LaBar
+ <flabar@fallschurch.esys.com> for providing this.
Sun Feb 9 11:56:37 1997 Douglas C. Schmidt <schmidt@polka.cs.wustl.edu>
- * ace/Map_Manager.cpp (bind_i): A recent change to Map_Manager
- broke the Connector since errno was getting set to ENOENT rather
- than EWOULDBLOCK. Thanks to Mark Rabotnikov
- <mark@usp.elscintcorp.co.il> for finding this.
+ * ace/Map_Manager.cpp (bind_i): A recent change to Map_Manager
+ broke the Connector since errno was getting set to ENOENT rather
+ than EWOULDBLOCK. Thanks to Mark Rabotnikov
+ <mark@usp.elscintcorp.co.il> for finding this.
Sun Feb 09 21:44:34 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/ACE.{h,cpp}: added static u_long is_prime ().
+ * ace/ACE.{h,cpp}: added static u_long is_prime ().
- * ace/{OS.cpp,Thread_Priority.cpp}: added comment about thread
- priorities only being tested for 1003.1C version of Pthreads.
- Thanks to Thilo Kielmann <kielmann@informatik.uni-siegen.de>
- for suggesting this.
+ * ace/{OS.cpp,Thread_Priority.cpp}: added comment about thread
+ priorities only being tested for 1003.1C version of Pthreads.
+ Thanks to Thilo Kielmann <kielmann@informatik.uni-siegen.de>
+ for suggesting this.
- * ace/OS.{h,i}: added ACE_OS::clock_gettime (). It allows
- applications to get high-resolution time on POSIX systems.
+ * ace/OS.{h,i}: added ACE_OS::clock_gettime (). It allows
+ applications to get high-resolution time on POSIX systems.
- * ace/Future.cpp (dump): cast ref_count_ to an int because
- g++ doesn't figure it out (it's an ACE_Atomic_Op<ACE_Thread_Mutex,
- int>, which does have an int conversion operator).
+ * ace/Future.cpp (dump): cast ref_count_ to an int because
+ g++ doesn't figure it out (it's an ACE_Atomic_Op<ACE_Thread_Mutex,
+ int>, which does have an int conversion operator).
- * ace/Timer_List.cpp (constructor): added initializer for
- timer_id_ to prevent unitialized memory read report from Purify.
+ * ace/Timer_List.cpp (constructor): added initializer for
+ timer_id_ to prevent unitialized memory read report from Purify.
- * tests/IOStream_Test.cpp,Makefile: added IOStream_Test,
- complements of James CE Johnson <jcej@lads.com>. Very cool!
+ * tests/IOStream_Test.cpp,Makefile: added IOStream_Test,
+ complements of James CE Johnson <jcej@lads.com>. Very cool!
- * tests/Future_Test.cpp: replaced call to ::sin ()
- with one to ACE::is_prime () to remove dependency on libm.
+ * tests/Future_Test.cpp: replaced call to ::sin ()
+ with one to ACE::is_prime () to remove dependency on libm.
- * examples/IPC_SAP/UPIPE_SAP/ex1.cpp (peer1, peer2): removed
- unused variables c_addr and serv_addr: they were replaced by
- a global.
+ * examples/IPC_SAP/UPIPE_SAP/ex1.cpp (peer1, peer2): removed
+ unused variables c_addr and serv_addr: they were replaced by
+ a global.
- * examples/Threads/future{1,2}.cpp: replaced call to ::sin ()
- with one to ACE::is_prime () to remove dependency on libm.
+ * examples/Threads/future{1,2}.cpp: replaced call to ::sin ()
+ with one to ACE::is_prime () to remove dependency on libm.
- * netsvcs/clients/Naming/Dump_Restore/createfile.cpp: removed
- #include of math.h, it wasn't needed.
+ * netsvcs/clients/Naming/Dump_Restore/createfile.cpp: removed
+ #include of math.h, it wasn't needed.
Sat Feb 08 15:19:50 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/ReactorEx.h: commented out ACE_ReactorEx_Notify::message_queue_
- declaration if not ACE_WIN32 because Sun C++ chokes on it.
+ * ace/ReactorEx.h: commented out ACE_ReactorEx_Notify::message_queue_
+ declaration if not ACE_WIN32 because Sun C++ chokes on it.
- * examples/IPC_SAP/{FILE,SPIPE}_SAP/client.cpp: declare "len" as
- ssize_t to avoid signed/unsigned comparison.
+ * examples/IPC_SAP/{FILE,SPIPE}_SAP/client.cpp: declare "len" as
+ ssize_t to avoid signed/unsigned comparison.
Fri Feb 7 01:13:05 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/OS.i (select): Simplified Chris' fixes for the weird
- Linux select() semantics.
+ * ace/OS.i (select): Simplified Chris' fixes for the weird
+ Linux select() semantics.
- * ace/OS: Added a new accessor method called waiters() in
- ACE_cond_t that returns the number of waiters on the condition
- variable. Thanks to Karlheinz for suggesting this.
+ * ace/OS: Added a new accessor method called waiters() in
+ ACE_cond_t that returns the number of waiters on the condition
+ variable. Thanks to Karlheinz for suggesting this.
- * ace/OS: Changed all the ACE_cont_t, ACE_rwlock_t, etc. so that
- their fields are private, but made class ACE_OS a friend.
- Applications should not be mucking with these fields since they
- may change.
+ * ace/OS: Changed all the ACE_cont_t, ACE_rwlock_t, etc. so that
+ their fields are private, but made class ACE_OS a friend.
+ Applications should not be mucking with these fields since they
+ may change.
- * ace/OS.h: Fixed a minor typo where friend class ACE_rwlock_t
- should be friend class ACE_OS. Thanks to Thilo Kielmann
- <kielmann@informatik.uni-siegen.de> for reporting this.
+ * ace/OS.h: Fixed a minor typo where friend class ACE_rwlock_t
+ should be friend class ACE_OS. Thanks to Thilo Kielmann
+ <kielmann@informatik.uni-siegen.de> for reporting this.
- * ace/Log_Msg.cpp: Added a destructor to ACE_Log_Msg and changed
- ACE_TSS_cleanup so that it calls delete (ACE_Log_Msg *) ptr.
- Thanks to Per Anderson <Per.Andersson@hfera.ericsson.se> for
- reporting this.
+ * ace/Log_Msg.cpp: Added a destructor to ACE_Log_Msg and changed
+ ACE_TSS_cleanup so that it calls delete (ACE_Log_Msg *) ptr.
+ Thanks to Per Anderson <Per.Andersson@hfera.ericsson.se> for
+ reporting this.
- * tests/Map_Manager_Test.cpp: Create a file Map_Manager_Test_Key.h
- and move the class Key into the include file. Include this *.h
- file in Map_Manager_Test.cpp. This is needed for template
- generation on AIX. Thanks to Chris Lahey <CLahey@cccis.com> for
- pointing this out.
+ * tests/Map_Manager_Test.cpp: Create a file Map_Manager_Test_Key.h
+ and move the class Key into the include file. Include this *.h
+ file in Map_Manager_Test.cpp. This is needed for template
+ generation on AIX. Thanks to Chris Lahey <CLahey@cccis.com> for
+ pointing this out.
Fri Feb 7 17:29:40 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * ace/OS.cpp (set_sched_params): added support for POSIX
- threads. Thanks to Thilo Kielmann
- <kielmann@informatik.uni-siegen.de> for figuring it out and
- for providing the code.
+ * ace/OS.cpp (set_sched_params): added support for POSIX
+ threads. Thanks to Thilo Kielmann
+ <kielmann@informatik.uni-siegen.de> for figuring it out and
+ for providing the code.
- * tests/Naming_Test.cpp (test_find): Changed final delete[] to
- not try to delete a static buffer. :-(
+ * tests/Naming_Test.cpp (test_find): Changed final delete[] to
+ not try to delete a static buffer. :-(
- * tests/SOCK_Test.cpp (server): Added assertion test for
- modified select timeval.
+ * tests/SOCK_Test.cpp (server): Added assertion test for
+ modified select timeval.
Fri Feb 07 13:56:24 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/{OS.cpp,Thread_Priority.cpp}: added ACE_Thread_Priority
- support for Digital Unix. Thanks to Thilo Kielmann
- <kielmann@informatik.uni-siegen.de> for figuring the priorities
- and priority classes out and for providing the code.
+ * ace/{OS.cpp,Thread_Priority.cpp}: added ACE_Thread_Priority
+ support for Digital Unix. Thanks to Thilo Kielmann
+ <kielmann@informatik.uni-siegen.de> for figuring the priorities
+ and priority classes out and for providing the code.
- * ace/High_Res_Timer.{h,cpp},config-linux*.h,README:
- use struct timespec instead of timespec_t, because not all
- platforms have the timespec_t typedef. Thanks to
- Marius Kjeldahl <marius@funcom.com> for reporting this on Linux
- and Chris Lahey <CLahey@cccis.com> for reporting it on AIX.
+ * ace/High_Res_Timer.{h,cpp},config-linux*.h,README:
+ use struct timespec instead of timespec_t, because not all
+ platforms have the timespec_t typedef. Thanks to
+ Marius Kjeldahl <marius@funcom.com> for reporting this on Linux
+ and Chris Lahey <CLahey@cccis.com> for reporting it on AIX.
- * ace/IOStream.h: use "ssize_t send (...)", etc., instead of exact
- function prototypes.
+ * ace/IOStream.h: use "ssize_t send (...)", etc., instead of exact
+ function prototypes.
- * examples/IPC_SAP/TLI_SAP/db-server.cpp: declare struct member as
- const char * instead of const char [] because it's not static and
- the struct doesn't have constructors.
+ * examples/IPC_SAP/TLI_SAP/db-server.cpp: declare struct member as
+ const char * instead of const char [] because it's not static and
+ the struct doesn't have constructors.
- * examples/Reactor/Multicast/server.cpp (Server_Events ctor):
- reordered initializers to match declaration order.
+ * examples/Reactor/Multicast/server.cpp (Server_Events ctor):
+ reordered initializers to match declaration order.
Fri Feb 07 05:08:51 1997 <irfan@cha-cha.cs.wustl.edu>
- * ace/Synch.cpp (dump): Fixed access error.
+ * ace/Synch.cpp (dump): Fixed access error.
- * ace/OS.h: Fixed ACE_rwlock_t friend declaration.
+ * ace/OS.h: Fixed ACE_rwlock_t friend declaration.
- * ace/OS.i: Moved ACE_cond_t::waiters() such that it is now
- visiable to NT. Also fixed ACE_OS::cond_timed_wait by returning
- the correct return value on a TIMEOUT. Also fixed typo in
- ACE_OS::sema_wait.
+ * ace/OS.i: Moved ACE_cond_t::waiters() such that it is now
+ visiable to NT. Also fixed ACE_OS::cond_timed_wait by returning
+ the correct return value on a TIMEOUT. Also fixed typo in
+ ACE_OS::sema_wait.
Thu Feb 6 20:25:13 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * ace/OS.i (select): Adapted ACE_OS::select methods for use on
- platforms (such as Linux) that allow select(2) to modify its
- struct timeval arg. New behavior is triggered by the define
- ACE_HAS_NONCONST_SELECT_TIMEVAL. Thanks to Jorn Jensen
- <jornj@funcom.com> for reporting this!
+ * ace/OS.i (select): Adapted ACE_OS::select methods for use on
+ platforms (such as Linux) that allow select(2) to modify its
+ struct timeval arg. New behavior is triggered by the define
+ ACE_HAS_NONCONST_SELECT_TIMEVAL. Thanks to Jorn Jensen
+ <jornj@funcom.com> for reporting this!
Thu Feb 06 09:48:43 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config-sunos-sun*.h,README: added
- ACE_LACKS_LINEBUFFERED_STREAMBUF and ACE_LACKS_SIGNED_CHAR.
+ * ace/config-sunos-sun*.h,README: added
+ ACE_LACKS_LINEBUFFERED_STREAMBUF and ACE_LACKS_SIGNED_CHAR.
- * ace/IOStream.{h,cpp}: support
- ACE_LACKS_LINEBUFFERED_STREAMBUF and ACE_LACKS_SIGNED_CHAR
- so that this builds with SunC++.
+ * ace/IOStream.{h,cpp}: support
+ ACE_LACKS_LINEBUFFERED_STREAMBUF and ACE_LACKS_SIGNED_CHAR
+ so that this builds with SunC++.
- * examples/IOStream/client/iostream_client.cpp:
- reordered args and fixed argv indexes.
+ * examples/IOStream/client/iostream_client.cpp:
+ reordered args and fixed argv indexes.
- * examples/IOStream/server/iostream_server.cpp:
- use ACE_DEFAULT_SERVER_PORT for default port.
+ * examples/IOStream/server/iostream_server.cpp:
+ use ACE_DEFAULT_SERVER_PORT for default port.
- * tests/Naming_Test.cpp (randomize): changed type of "size" arg to
- size_t to avoid compiler warnings about signed/unsigned comparison.
+ * tests/Naming_Test.cpp (randomize): changed type of "size" arg to
+ size_t to avoid compiler warnings about signed/unsigned comparison.
Thu Feb 06 09:40:47 1997 Chris Cleeland <cleeland@cs.wustl.edu>
- * ace/config-linux*.h: added typedef of timespec_t.
+ * ace/config-linux*.h: added typedef of timespec_t.
Wed Feb 5 01:45:03 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/OS.i: Changed the Win32 implementation of all methods that call
- WaitForMultipleObjects() so that errno is set to
- WAIT_ABANDONED if the mutex is abandoned. This makes it
- possible for users to understand why ACE_OS methods that use
- synchronization operations fail. Thanks to Ivan Murphy
- <Ivan.Murphy@med.siemens.de> for reporting this problem.
+ * ace/OS.i: Changed the Win32 implementation of all methods that call
+ WaitForMultipleObjects() so that errno is set to
+ WAIT_ABANDONED if the mutex is abandoned. This makes it
+ possible for users to understand why ACE_OS methods that use
+ synchronization operations fail. Thanks to Ivan Murphy
+ <Ivan.Murphy@med.siemens.de> for reporting this problem.
- * ace/IOStream.cpp (ACE_Streambuf): Moved the const initialization
- from the header file to the constructor since this is the only
- portable way to do this. Thanks to Michael Maxie
- <maxie@acm.org> for reporting this.
+ * ace/IOStream.cpp (ACE_Streambuf): Moved the const initialization
+ from the header file to the constructor since this is the only
+ portable way to do this. Thanks to Michael Maxie
+ <maxie@acm.org> for reporting this.
- * ace/OS.i: Updated the call to thr_setprio() for pthreads so that
- it first determines the existing scheduling parameters and then
- updates the priority. Thanks to Thilo Kielmann
- <kielmann@informatik.uni-siegen.de> for help with this.
+ * ace/OS.i: Updated the call to thr_setprio() for pthreads so that
+ it first determines the existing scheduling parameters and then
+ updates the priority. Thanks to Thilo Kielmann
+ <kielmann@informatik.uni-siegen.de> for help with this.
- * ace/config-osf1-4.0*.h: Updated ACE_NEEDS_HUGE_THREAD_STACKSIZE
- to be 1 mega to minimize porting surprises. Thanks to Thilo
- Kielmann <kielmann@informatik.uni-siegen.de> for help with this.
+ * ace/config-osf1-4.0*.h: Updated ACE_NEEDS_HUGE_THREAD_STACKSIZE
+ to be 1 mega to minimize porting surprises. Thanks to Thilo
+ Kielmann <kielmann@informatik.uni-siegen.de> for help with this.
- * tests/Naming_Test.cpp: Cleaned up a few minor things related to
- int i = 0 vs. size_t i = 0.
+ * tests/Naming_Test.cpp: Cleaned up a few minor things related to
+ int i = 0 vs. size_t i = 0.
- * ace/SOCK_Dgram.cpp: Added a new macro called
- ACE_HAS_SOCKADDR_MSG_NAME, which is used on platforms (e.g.,
- DG/UX) that require a cast to (struct sockaddr *) for the
- msg_name field of struct msghdr.
+ * ace/SOCK_Dgram.cpp: Added a new macro called
+ ACE_HAS_SOCKADDR_MSG_NAME, which is used on platforms (e.g.,
+ DG/UX) that require a cast to (struct sockaddr *) for the
+ msg_name field of struct msghdr.
Wed Feb 05 10:45:41 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/IOStream.h: replaced __*manip with expanded types, because
- Sun C++ doesn't have those typedefs; and added complete prototypes
- for send, recv, send_n, and recv_n.
+ * ace/IOStream.h: replaced __*manip with expanded types, because
+ Sun C++ doesn't have those typedefs; and added complete prototypes
+ for send, recv, send_n, and recv_n.
- * ace/IOStream.cpp: fixed "#define ACE_IOSTREAM_C" to keep g++ sane.
+ * ace/IOStream.cpp: fixed "#define ACE_IOSTREAM_C" to keep g++ sane.
- * ace/Hash_Map_Manager.{h,cpp},Map_Manager.{h,cpp}: replaced
- DEFAULT_SIZE with ACE_DEFAULT_MAP_SIZE so that Naming_Test runs
- on SunC++ 4.1.
+ * ace/Hash_Map_Manager.{h,cpp},Map_Manager.{h,cpp}: replaced
+ DEFAULT_SIZE with ACE_DEFAULT_MAP_SIZE so that Naming_Test runs
+ on SunC++ 4.1.
- * ace/High_Res_Timer.*: added optional scale factor.
+ * ace/High_Res_Timer.*: added optional scale factor.
- * examples/IOStream/{client,server}/Makefile: addd -g++ if building
- with gcc.
+ * examples/IOStream/{client,server}/Makefile: addd -g++ if building
+ with gcc.
- * tests/Naming_Test.cpp: moved declaration of "i" out of for loop
- because it is used after the loop.
+ * tests/Naming_Test.cpp: moved declaration of "i" out of for loop
+ because it is used after the loop.
- * examples/ASX/UPIPE_Event_server/{Consumer,Supplier}_Router.cpp
- (open): return 1 if init () succeeds. There's a commented-out
- call to activate the objects that would (should?) return a value.
+ * examples/ASX/UPIPE_Event_server/{Consumer,Supplier}_Router.cpp
+ (open): return 1 if init () succeeds. There's a commented-out
+ call to activate the objects that would (should?) return a value.
- * examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp (main): declare n
- as ssize_t instead of size_t to avoid compiler warning about
- signed/unsigned comparison.
+ * examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp (main): declare n
+ as ssize_t instead of size_t to avoid compiler warning about
+ signed/unsigned comparison.
Tue Feb 4 19:06:52 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Signal.cpp: Fixed all the ACE_Sig_Handler[s] methods so that
- they now use ACE_Guard, rather than ACE_TSS_Guard, *unless* they
- are actually performing callbacks to user-code. Not only is
- this faster, but it also avoids thread-specific storage key
- leaks on platforms like Solaris!
+ * ace/Signal.cpp: Fixed all the ACE_Sig_Handler[s] methods so that
+ they now use ACE_Guard, rather than ACE_TSS_Guard, *unless* they
+ are actually performing callbacks to user-code. Not only is
+ this faster, but it also avoids thread-specific storage key
+ leaks on platforms like Solaris!
- * ace/OS.cpp (thr_keyfree): Added a new #ifdef for
- ACE_HAS_THR_KEYDELETE, which is defined for UNIXWARE. This
- fixes a nasty problem with leaking thread-specific keys. Thanks
- to Nigel Owen <Nigel@voicelink.co.nz> for reporting this.
+ * ace/OS.cpp (thr_keyfree): Added a new #ifdef for
+ ACE_HAS_THR_KEYDELETE, which is defined for UNIXWARE. This
+ fixes a nasty problem with leaking thread-specific keys. Thanks
+ to Nigel Owen <Nigel@voicelink.co.nz> for reporting this.
- * ace/Message_Block.cpp: Added a #include for
- "ace/Service_Config.h".
+ * ace/Message_Block.cpp: Added a #include for
+ "ace/Service_Config.h".
- * ace/Malloc.i: Fixed a few warnings by removing the names of
- unused parameters.
+ * ace/Malloc.i: Fixed a few warnings by removing the names of
+ unused parameters.
- * ace: Added many minor changes to ACE so that it will work on
- DG/UX. Thanks to Michael Maxie <maxie@acm.org> for all these.
+ * ace: Added many minor changes to ACE so that it will work on
+ DG/UX. Thanks to Michael Maxie <maxie@acm.org> for all these.
- * ace/LSOCK_Stream.cpp: Applied the same fix as to LSOCK.cpp.
+ * ace/LSOCK_Stream.cpp: Applied the same fix as to LSOCK.cpp.
- * ace/LSOCK.cpp: Removed the cast of 0 to (char *) for msg_name
- since some platforms use (struct sockaddr *). By omitting the
- cast the compiler will figure it out correctly. Thanks to
- Michael Maxie <maxie@acm.org> for this.
+ * ace/LSOCK.cpp: Removed the cast of 0 to (char *) for msg_name
+ since some platforms use (struct sockaddr *). By omitting the
+ cast the compiler will figure it out correctly. Thanks to
+ Michael Maxie <maxie@acm.org> for this.
- * ace/IOStream: Added a new template adapter for creating an
- iostream-like object using an ACE IPC Stream for the actual I/O.
- Thanks to James CE Johnson <jcej@lads.com> for this.
+ * ace/IOStream: Added a new template adapter for creating an
+ iostream-like object using an ACE IPC Stream for the actual I/O.
+ Thanks to James CE Johnson <jcej@lads.com> for this.
- * examples/Misc/test_iostreams.cpp: Added a test that illustrates
- how the new ACE_iostreams mechanism works. Thanks to James CE
- Johnson <jcej@lads.com> for this.
+ * examples/Misc/test_iostreams.cpp: Added a test that illustrates
+ how the new ACE_iostreams mechanism works. Thanks to James CE
+ Johnson <jcej@lads.com> for this.
- * ace/Message_Block: Updated the ACE_Message_Block implementation
- to use ACE_Service_Config::alloc() if the user doesn't supply a
- customize version. This also means that we never delete the
- allocator_strategy_, so we can remove this flag and reduce the
- amount of storage by 4 bytes. Thanks to Irfan for noticing that
- we can do this.
+ * ace/Message_Block: Updated the ACE_Message_Block implementation
+ to use ACE_Service_Config::alloc() if the user doesn't supply a
+ customize version. This also means that we never delete the
+ allocator_strategy_, so we can remove this flag and reduce the
+ amount of storage by 4 bytes. Thanks to Irfan for noticing that
+ we can do this.
- * ace/platform_dgux4_epc.h: Added a new platform config file
- for DG/UX. Thanks to Michael Maxie <maxie@acm.org> for
- this.
+ * ace/platform_dgux4_epc.h: Added a new platform config file
+ for DG/UX. Thanks to Michael Maxie <maxie@acm.org> for
+ this.
- * ace/config-dgux-4.11-epc.h: Added a new config file for DG/UX.
- Thanks to Michael Maxie <maxie@acm.org> for this.
+ * ace/config-dgux-4.11-epc.h: Added a new config file for DG/UX.
+ Thanks to Michael Maxie <maxie@acm.org> for this.
Tue Feb 04 18:26:01 1997 <irfan@cha-cha.cs.wustl.edu>
- * ace/Service_Config.cpp (alloc): The implementation now creates a
- ACE_New_Allocator rather than a ACE_Allocator_Adaptor. If
- you still want the old behavior, simply provide your own
- custom allocator singleton for ACE_Service_Config.
+ * ace/Service_Config.cpp (alloc): The implementation now creates a
+ ACE_New_Allocator rather than a ACE_Allocator_Adaptor. If
+ you still want the old behavior, simply provide your own
+ custom allocator singleton for ACE_Service_Config.
- * ace/OS.i (mktemp): Added the missing ACE_INLINE directive.
+ * ace/OS.i (mktemp): Added the missing ACE_INLINE directive.
- * ace/OS.h: ACE_HAS_INLINED_OSCALLS is now automatically defined
- when __ACE_INLINE__ is defined. This avoids mysterious linking
- problems that occur otherwise.
+ * ace/OS.h: ACE_HAS_INLINED_OSCALLS is now automatically defined
+ when __ACE_INLINE__ is defined. This avoids mysterious linking
+ problems that occur otherwise.
- * ace/Malloc: Added a virtual destructor to ACE_Allocator. Also
- added a new class ACE_New_Allocator which is a sub-class of
- ACE_Allocator. This class uses the new/delete operators to
- allocate and free up memory. Please note that the only methods
- that are supported are malloc() and free(). All other
- methods are no-ops. If you require more functionality, please use:
- ACE_Allocator_Adapter <ACE_Malloc <ACE_LOCAL_MEMORY_POOL,
- MUTEX>> This will allow you to use the added functionality of
- bind/find/etc. while using the new/delete operators.
+ * ace/Malloc: Added a virtual destructor to ACE_Allocator. Also
+ added a new class ACE_New_Allocator which is a sub-class of
+ ACE_Allocator. This class uses the new/delete operators to
+ allocate and free up memory. Please note that the only methods
+ that are supported are malloc() and free(). All other
+ methods are no-ops. If you require more functionality, please use:
+ ACE_Allocator_Adapter <ACE_Malloc <ACE_LOCAL_MEMORY_POOL,
+ MUTEX>> This will allow you to use the added functionality of
+ bind/find/etc. while using the new/delete operators.
Mon Feb 3 15:35:24 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/config-aix-*.h: Added a (char *) cast to
- ACE_DEFAULT_BASE_ADDR. Thanks to John Cosby
- <John.D.Cosby@cpmx.saic.com> for reporting this.
+ * ace/config-aix-*.h: Added a (char *) cast to
+ ACE_DEFAULT_BASE_ADDR. Thanks to John Cosby
+ <John.D.Cosby@cpmx.saic.com> for reporting this.
- * ace/OS.cpp: Added a new set() method that sets the Time_Value
- from a double. Thanks to Brad Flood for this suggestion.
+ * ace/OS.cpp: Added a new set() method that sets the Time_Value
+ from a double. Thanks to Brad Flood for this suggestion.
- * ace/OS: Changed ACE_OS::flock_t to ACE_OS::ace_flock_t to avoid
- a name clash on DG/UX. Thanks to Michael Maxie <maxie@acm.org>
- for reporting this.
+ * ace/OS: Changed ACE_OS::flock_t to ACE_OS::ace_flock_t to avoid
+ a name clash on DG/UX. Thanks to Michael Maxie <maxie@acm.org>
+ for reporting this.
Tue Feb 4 03:02:52 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * tests/Naming_Test.cpp: Added timing and made debug print outs
- optional. Also added randomization of the test data.
+ * tests/Naming_Test.cpp: Added timing and made debug print outs
+ optional. Also added randomization of the test data.
- * ace/OS.h: Fixed prototype for gethrtime ()
+ * ace/OS.h: Fixed prototype for gethrtime ()
Mon Feb 03 21:00:56 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.h: define ACE_SCOPE_PROCESS and ACE_SCOPE_THREAD
- even if ACE_HAS_THREADS is not defined. Thanks to
- Michael Maxie <maxie@acm.org> for pointing this out.
+ * ace/OS.h: define ACE_SCOPE_PROCESS and ACE_SCOPE_THREAD
+ even if ACE_HAS_THREADS is not defined. Thanks to
+ Michael Maxie <maxie@acm.org> for pointing this out.
- * examples/Threads/{process_mutex.cpp,process_semaphore.cpp,
- task_three.cpp,thread_manager.cpp,thread_specific.cpp} (main):
- added ACE_UNUSED_ARG (sa);.
+ * examples/Threads/{process_mutex.cpp,process_semaphore.cpp,
+ task_three.cpp,thread_manager.cpp,thread_specific.cpp} (main):
+ added ACE_UNUSED_ARG (sa);.
- * examples/Threads/reader_writer.cpp: fixed declaration of
- "shared_data" to be "static volatile" instead of "volatile
- static", and removed unused variable "n".
+ * examples/Threads/reader_writer.cpp: fixed declaration of
+ "shared_data" to be "static volatile" instead of "volatile
+ static", and removed unused variable "n".
- * examples/Threads/thread_pool.cpp: removed unused variable "result".
+ * examples/Threads/thread_pool.cpp: removed unused variable "result".
Sun Feb 02 21:24:02 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.h: changed hrtime_t to ACE_hrtime_t.
+ * ace/OS.h: changed hrtime_t to ACE_hrtime_t.
- * ace/{config-win*.h,README}: added #define ACE_HAS_PENTIUM to
- enable gethrtime () support.
+ * ace/{config-win*.h,README}: added #define ACE_HAS_PENTIUM to
+ enable gethrtime () support.
- * ace/High_Res_Time.{h,i,cpp}: removed platform-specific #ifdef's,
- instead added "unsupported ()" static member function; changed
- changed signature of elapsed_time to take time reference as
- argument instead of return value; added elapsed_time
- (ACE_Time_Value &) and elapsed_time_incr (ACE_Time_Value &).
+ * ace/High_Res_Time.{h,i,cpp}: removed platform-specific #ifdef's,
+ instead added "unsupported ()" static member function; changed
+ changed signature of elapsed_time to take time reference as
+ argument instead of return value; added elapsed_time
+ (ACE_Time_Value &) and elapsed_time_incr (ACE_Time_Value &).
- * examples/Thread/context_switch.cpp: use ACE_High_Res_Timer
- instead of the old Timer adapter.
+ * examples/Thread/context_switch.cpp: use ACE_High_Res_Timer
+ instead of the old Timer adapter.
- * ace/config-aix-4.1.x.h: fixed typo: #defind ACE_HAS_LONGLONG_T.
+ * ace/config-aix-4.1.x.h: fixed typo: #defind ACE_HAS_LONGLONG_T.
- * ace/config-aix-4.2.x.h: added #define ACE_HAS_LONGLONG_T.
+ * ace/config-aix-4.2.x.h: added #define ACE_HAS_LONGLONG_T.
- * ace/Thread_Priority.{h,cpp}: moved #include of OS.h from .cpp
- to .h file.
+ * ace/Thread_Priority.{h,cpp}: moved #include of OS.h from .cpp
+ to .h file.
Sun Feb 02 10:30:29 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Local_Name_Space.cpp: removed ACE_Map_Manager, ACE_Map_Iterator,
- and ACE_Map_Entry: they don't appear to be used and, without
- including their headers, this file won't compile.
+ * ace/Local_Name_Space.cpp: removed ACE_Map_Manager, ACE_Map_Iterator,
+ and ACE_Map_Entry: they don't appear to be used and, without
+ including their headers, this file won't compile.
- * ace/Hash_Map_Manager.cpp (Hash_Map_Manager (ACE_Allocator *)):
- reordered initializers to match declaration order.
+ * ace/Hash_Map_Manager.cpp (Hash_Map_Manager (ACE_Allocator *)):
+ reordered initializers to match declaration order.
Sat Feb 1 15:11:28 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * include/makeinclude/platform_aix4.2.GNU (LD): Removed the -qnoro
- flag since it is no longer needed. Thanks to Rob Jordan
- <jordan@hursley.ibm.com> for reporting this.
+ * include/makeinclude/platform_aix4.2.GNU (LD): Removed the -qnoro
+ flag since it is no longer needed. Thanks to Rob Jordan
+ <jordan@hursley.ibm.com> for reporting this.
Sat Feb 1 03:25:21 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/SString.cpp: Added two methods to the wide string
- implementation for high-performance. Even though these methods
- are somewhat ugly and not the "OO" way of doing things,
- performance was at stake here.
+ * ace/SString.cpp: Added two methods to the wide string
+ implementation for high-performance. Even though these methods
+ are somewhat ugly and not the "OO" way of doing things,
+ performance was at stake here.
- * ace/Registry_Name_Space.cpp (resolve): Fixed the implementation
- by correctly figuring out the size of the value in the
- Registry. This allows us to dynamically allocated the correct
- amount of memory.
+ * ace/Registry_Name_Space.cpp (resolve): Fixed the implementation
+ by correctly figuring out the size of the value in the
+ Registry. This allows us to dynamically allocated the correct
+ amount of memory.
- * ace/Registry: Fixed the constant MAX_CONTEXT_NAME_SIZE to be the
- maximum path length.
+ * ace/Registry: Fixed the constant MAX_CONTEXT_NAME_SIZE to be the
+ maximum path length.
- * ace/Naming_Context.cpp: Fixed various memory leaks.
+ * ace/Naming_Context.cpp: Fixed various memory leaks.
- * ace/Local_Name_Space_T.h: Replaced the simple-minded Map_Manager
- with the new (improved) Hash_Map_Manager.
+ * ace/Local_Name_Space_T.h: Replaced the simple-minded Map_Manager
+ with the new (improved) Hash_Map_Manager.
- * ace/Local_Name_Space.cpp: Added new methods operator!= and hash
- required by the map.
+ * ace/Local_Name_Space.cpp: Added new methods operator!= and hash
+ required by the map.
- * ace/Hash_Map_Manager.cpp (ACE_Hash_Map_Manager): Added an extra
- constructor.
+ * ace/Hash_Map_Manager.cpp (ACE_Hash_Map_Manager): Added an extra
+ constructor.
- * tests/Naming_Test.cpp: Removed memory leaks.
+ * tests/Naming_Test.cpp: Removed memory leaks.
Fri Jan 31 19:39:48 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Hash_Map_Manager.cpp (ctor): reordered initializers
- to match declaration order.
+ * ace/Hash_Map_Manager.cpp (ctor): reordered initializers
+ to match declaration order.
- * tests/Time_Value_Test.cpp: cast double argument to long
- because there no longer is a constructor that takes a double.
+ * tests/Time_Value_Test.cpp: cast double argument to long
+ because there no longer is a constructor that takes a double.
- * ace/Hash_Map_Manager.{h,cpp}: removed #include of
- ace/Hash_Map_Manager.i because it doesn't exist.
- Protected .cpp file against multiple includes. Moved
- #include of "ace/Malloc.h" from .h to .cpp file.
+ * ace/Hash_Map_Manager.{h,cpp}: removed #include of
+ ace/Hash_Map_Manager.i because it doesn't exist.
+ Protected .cpp file against multiple includes. Moved
+ #include of "ace/Malloc.h" from .h to .cpp file.
- * ace/Map_Manager.cpp (current_size, total_size): cast -1 to
- size_t to avoid warning about signed-to-unsigned conversion.
+ * ace/Map_Manager.cpp (current_size, total_size): cast -1 to
+ size_t to avoid warning about signed-to-unsigned conversion.
- * ace/OS.h: moved hrtime_t typedef for ACE_WIN32 so it doesn't
- get defined twice.
+ * ace/OS.h: moved hrtime_t typedef for ACE_WIN32 so it doesn't
+ get defined twice.
- * ace/OS.i (getservbyname): one last ACE_HAS_NONCONST_GETBY change:
- missed "lproto" to "proto".
+ * ace/OS.i (getservbyname): one last ACE_HAS_NONCONST_GETBY change:
+ missed "lproto" to "proto".
- * bin/create_ace_build: added checks for existing symlinks, so
- now the script can be re-run safely at any time on a build
- tree to update it.
+ * bin/create_ace_build: added checks for existing symlinks, so
+ now the script can be re-run safely at any time on a build
+ tree to update it.
Fri Jan 31 02:16:30 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/config-aix-*.h: Made the default value for
- ACE_DEFAULT_BASE_ADDR 0x80000000 to work around restrictions
- with AIX. Thanks to Rob Jordan <jordan@hursley.ibm.com> for
- this.
+ * ace/config-aix-*.h: Made the default value for
+ ACE_DEFAULT_BASE_ADDR 0x80000000 to work around restrictions
+ with AIX. Thanks to Rob Jordan <jordan@hursley.ibm.com> for
+ this.
- * examples/Map_Manager: Added a new example of the
- Hash_Map_Manager.
+ * examples/Map_Manager: Added a new example of the
+ Hash_Map_Manager.
- * tests/Map_Manager: Integrated the Hash_Map_Manager into the
- Map_Manager test and greatly improved the test (e.g., by adding
- timing).
+ * tests/Map_Manager: Integrated the Hash_Map_Manager into the
+ Map_Manager test and greatly improved the test (e.g., by adding
+ timing).
- * ace: Added a new implementation of the Map_Manager called
- Hash_Map_Manager. This, of course, uses hashing rather than
- linear search. The result should be a much faster
- implementation for many types of applications.
+ * ace: Added a new implementation of the Map_Manager called
+ Hash_Map_Manager. This, of course, uses hashing rather than
+ linear search. The result should be a much faster
+ implementation for many types of applications.
Thu Jan 30 13:55:08 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Map_Manager: Changed the return type of total_size() and
- current_size() to size_t.
+ * ace/Map_Manager: Changed the return type of total_size() and
+ current_size() to size_t.
- * ace/OS: Had to remove the ACE_Time_Value (double) constructor
- since it caused ambiguities with ACE_Time_Value (long). Thanks
- to Per Andersson for figuring this out.
+ * ace/OS: Had to remove the ACE_Time_Value (double) constructor
+ since it caused ambiguities with ACE_Time_Value (long). Thanks
+ to Per Andersson for figuring this out.
- * include/makeinclude/platform_linux_lxpthread.GNU (CXX): Added
- -D_REENTRANT to make things work correctly in MT programs.
- Thanks to Marius for this fix.
+ * include/makeinclude/platform_linux_lxpthread.GNU (CXX): Added
+ -D_REENTRANT to make things work correctly in MT programs.
+ Thanks to Marius for this fix.
- * ace/OS.h: Added several extra constructors for ACE_Time_Value so
- that it won't cause problems with the new ACE_Time_Value
- (double) constructor.
+ * ace/OS.h: Added several extra constructors for ACE_Time_Value so
+ that it won't cause problems with the new ACE_Time_Value
+ (double) constructor.
- * ace/Log_Record.cpp (ACE_Log_Record): Added an "L" to the 0
- initial value used for time_stamp_. Thanks to Marius for
- reporting this.
+ * ace/Log_Record.cpp (ACE_Log_Record): Added an "L" to the 0
+ initial value used for time_stamp_. Thanks to Marius for
+ reporting this.
- * ace: Added the new config-aix-4.2.x.h file, which supports the
- AIX4.2 platform. Thanks to Rob Jordan <jordan@hursley.ibm.com>
- for this.
+ * ace: Added the new config-aix-4.2.x.h file, which supports the
+ AIX4.2 platform. Thanks to Rob Jordan <jordan@hursley.ibm.com>
+ for this.
- * include/makeinclude/platform_aix4.2.GNU: Added support for the
- new AIX4.2 platform. Thanks to Rob Jordan
- <jordan@hursley.ibm.com> for this.
+ * include/makeinclude/platform_aix4.2.GNU: Added support for the
+ new AIX4.2 platform. Thanks to Rob Jordan
+ <jordan@hursley.ibm.com> for this.
- * ace/OS.h: It's now possible to override ACE_DEFAULT_BASE_ADDR in
- a config.h file. This is important for platforms that need to
- put shared memory segments at particular address ranges. Thanks
- to Rob Jordan <jordan@hursley.ibm.com> for suggesting this.
+ * ace/OS.h: It's now possible to override ACE_DEFAULT_BASE_ADDR in
+ a config.h file. This is important for platforms that need to
+ put shared memory segments at particular address ranges. Thanks
+ to Rob Jordan <jordan@hursley.ibm.com> for suggesting this.
Thu Jan 30 16:01:37 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/{config-aix-4.1.x.h,README}: added ACE_HAS_AIX_HIRES_TIMER,
- see change to gettimeofday in OS.i below; and ACE_HAS_LONGLONG_T.
+ * ace/{config-aix-4.1.x.h,README}: added ACE_HAS_AIX_HIRES_TIMER,
+ see change to gettimeofday in OS.i below; and ACE_HAS_LONGLONG_T.
- * ace/OS.i (gettimeofday, gethrtime): use read_real_time () if
- ACE_HAS_AIX_HIRES_TIMER. Thanks to Bob Olson
- <olson@mcs.anl.gov> for this suggestion.
+ * ace/OS.i (gettimeofday, gethrtime): use read_real_time () if
+ ACE_HAS_AIX_HIRES_TIMER. Thanks to Bob Olson
+ <olson@mcs.anl.gov> for this suggestion.
- * ace/OS.h: define hrtime_t as long long if ACE_HAS_AIX_HIRES_TIMER.
+ * ace/OS.h: define hrtime_t as long long if ACE_HAS_AIX_HIRES_TIMER.
- * ace/OS.{i,cpp}: uninlined ACE_OS::gethostbyname (),
- and ACE_OS::inet_ntoa () on VxWorks, because they have
- static char arrays.
+ * ace/OS.{i,cpp}: uninlined ACE_OS::gethostbyname (),
+ and ACE_OS::inet_ntoa () on VxWorks, because they have
+ static char arrays.
- * ace/OS.i (gethostbyaddr, getservbyname, gethostbyaddr,
- gethostbyname, getservbyname_r): with ACE_HAS_NONCONST_GETBY,
- instead of copying the const argument, just cast it to (char *).
- Thanks to Michael Maxie <maxie@acm.org> for pointing out the
- problem with the nonstatic char arrays with sizes determined at
- runtime.
+ * ace/OS.i (gethostbyaddr, getservbyname, gethostbyaddr,
+ gethostbyname, getservbyname_r): with ACE_HAS_NONCONST_GETBY,
+ instead of copying the const argument, just cast it to (char *).
+ Thanks to Michael Maxie <maxie@acm.org> for pointing out the
+ problem with the nonstatic char arrays with sizes determined at
+ runtime.
- * ace/High_Res_Timer.*: added ACE_HAS_AIX_HIRES_TIMER support.
- Also, renamed get_time () to elapsed_microseconds ().
+ * ace/High_Res_Timer.*: added ACE_HAS_AIX_HIRES_TIMER support.
+ Also, renamed get_time () to elapsed_microseconds ().
- * examples/Threads/{Timer.h,context_switch_time.cpp}:
- ACE_High_Res_Timer::elapsed_microseconds () instead of
- ACE_High_Res_Timer::get_time ().
+ * examples/Threads/{Timer.h,context_switch_time.cpp}:
+ ACE_High_Res_Timer::elapsed_microseconds () instead of
+ ACE_High_Res_Timer::get_time ().
- * bin/create_ace_build: added this script: it creates an ACE build
- tree in directory "build/<build name>" below the current
- directory, which must be a ACE "top level" directory (such as
- $WRAPPER_ROOT). The build tree directory structure mirrors that
- of the ACE top level directory structure, except that instead of
- containing any plain files, it contains only symlinks to the files
- in the ACE top level structure.
+ * bin/create_ace_build: added this script: it creates an ACE build
+ tree in directory "build/<build name>" below the current
+ directory, which must be a ACE "top level" directory (such as
+ $WRAPPER_ROOT). The build tree directory structure mirrors that
+ of the ACE top level directory structure, except that instead of
+ containing any plain files, it contains only symlinks to the files
+ in the ACE top level structure.
Thu Jan 30 06:57:50 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Thread_Priority.cpp (convert_to_os_priority): changed
- switch (priority_class) to switch (priority_class_).
- Thanks to Chris Lahey <CLahey@cccis.com> for pointing this out.
- Also, return -1 on other than Solaris, Win32, and VxWorks.
+ * ace/Thread_Priority.cpp (convert_to_os_priority): changed
+ switch (priority_class) to switch (priority_class_).
+ Thanks to Chris Lahey <CLahey@cccis.com> for pointing this out.
+ Also, return -1 on other than Solaris, Win32, and VxWorks.
Wed Jan 29 22:05:01 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * tests/Naming_Test.cpp: Added the prefix "test_" to the bind(),
- find(), rebind(), and unbind() functions. This avoids name
- clashes with the bind() call from the socket API. Thanks to
- Marius for this info.
-
- * ace/OS.cpp (ACE_Time_Value): Added a new constructor that makes
- it possible to construct an ACE_Time_Value from a double.
- Thanks to Brad Flood <BFLOOD@tcs.lmco.com> for this.
+ * tests/Naming_Test.cpp: Added the prefix "test_" to the bind(),
+ find(), rebind(), and unbind() functions. This avoids name
+ clashes with the bind() call from the socket API. Thanks to
+ Marius for this info.
+
+ * ace/OS.cpp (ACE_Time_Value): Added a new constructor that makes
+ it possible to construct an ACE_Time_Value from a double.
+ Thanks to Brad Flood <BFLOOD@tcs.lmco.com> for this.
- * ace/OS.i (thr_join): If ACE_HAS_THREADS is defined, but none of
- the threading APIs match (e.g., AIX) then we'll return
- ACE_NOTSUP_RETURN(-1). Thanks to Chris Lahey for help with
- this.
+ * ace/OS.i (thr_join): If ACE_HAS_THREADS is defined, but none of
+ the threading APIs match (e.g., AIX) then we'll return
+ ACE_NOTSUP_RETURN(-1). Thanks to Chris Lahey for help with
+ this.
- * include/makeinclude/platform_aix.GNU: Made some changes to the
- type of dynamic linker and libraries used by AIX 4.1. Thanks to
- Chris Lahey for help with this.
+ * include/makeinclude/platform_aix.GNU: Made some changes to the
+ type of dynamic linker and libraries used by AIX 4.1. Thanks to
+ Chris Lahey for help with this.
- * ace/config-aix-4.1.x.h: Changed from BSD 4.3 to 4.4. Thanks
- to Chris Lahey for help with this.
+ * ace/config-aix-4.1.x.h: Changed from BSD 4.3 to 4.4. Thanks
+ to Chris Lahey for help with this.
Wed Jan 29 09:03:48 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.h: moved ACE_id_t and ACE_pri_t typedefs out of the
- ACE_HAS_THREADS section.
+ * ace/OS.h: moved ACE_id_t and ACE_pri_t typedefs out of the
+ ACE_HAS_THREADS section.
- * ace/OS.cpp: fixed ACE_OS::set_sched_params on Win32 and VxWorks.
+ * ace/OS.cpp: fixed ACE_OS::set_sched_params on Win32 and VxWorks.
- * ace/Scheduling_Parameters.*, ace/Thread_Priority.*: updated
- comments.
+ * ace/Scheduling_Parameters.*, ace/Thread_Priority.*: updated
+ comments.
- * examples/Threads/{context_switch_time.cpp,Timer.h,Makefile}:
- added context switch timing test. Currently only works on
- Suns because that's the only platform for which ACE has a
- high-resolution timer.
+ * examples/Threads/{context_switch_time.cpp,Timer.h,Makefile}:
+ added context switch timing test. Currently only works on
+ Suns because that's the only platform for which ACE has a
+ high-resolution timer.
- * Makefile: added chmod of VERSION file in TIMESTAMP macro.
+ * Makefile: added chmod of VERSION file in TIMESTAMP macro.
Wed Jan 29 00:59:12 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * include/makeinclude/platform_linux_lxpthread.GNU (CXX): Removed
- the -D_MIT_POSIX_PTHREADS symbol since we're using Xavier's
- threads instead. Thanks to Marius Kjeldahl <marius@funcom.com,
- mariusk@sn.no> for reporting this.
+ * include/makeinclude/platform_linux_lxpthread.GNU (CXX): Removed
+ the -D_MIT_POSIX_PTHREADS symbol since we're using Xavier's
+ threads instead. Thanks to Marius Kjeldahl <marius@funcom.com,
+ mariusk@sn.no> for reporting this.
- * ace/config-linux-lxpthreads.h: Removed the _MIT_POSIX_PTHREADS
- symbol since we're using Xavier's threads instead. Thanks to
- Marius Kjeldahl <marius@funcom.com, mariusk@sn.no> for reporting
- this.
+ * ace/config-linux-lxpthreads.h: Removed the _MIT_POSIX_PTHREADS
+ symbol since we're using Xavier's threads instead. Thanks to
+ Marius Kjeldahl <marius@funcom.com, mariusk@sn.no> for reporting
+ this.
Tue Jan 28 23:32:58 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/SString: Added hash() methods to each ACE String class so
- that we can use this with the new ACE_Hash_Set implementation of
- ACE_Map_Manager.
+ * ace/SString: Added hash() methods to each ACE String class so
+ that we can use this with the new ACE_Hash_Set implementation of
+ ACE_Map_Manager.
- * ace/ACE.h (ACE): Added a UNICODE version of hash_pjw() so that
- we can use it to hash ACE_WString.
+ * ace/ACE.h (ACE): Added a UNICODE version of hash_pjw() so that
+ we can use it to hash ACE_WString.
- * ace/OS.i (thr_setprio): Fixed a typo that was left over from a
- previous change. Thanks to Fred LaBar
- <flabar@fallschurch.esys.com> for reporting this.
+ * ace/OS.i (thr_setprio): Fixed a typo that was left over from a
+ previous change. Thanks to Fred LaBar
+ <flabar@fallschurch.esys.com> for reporting this.
- * apps/Gateway/Gateway/{proxy_config,consumer_config}: Added
- comments to these config files so they are easier to understand.
- Thanks to Chuck Gehr for motivating this.
+ * apps/Gateway/Gateway/{proxy_config,consumer_config}: Added
+ comments to these config files so they are easier to understand.
+ Thanks to Chuck Gehr for motivating this.
- * apps/Gateway/Peer/Peer.cpp: Changed the name from connection_id_
- to proxy_id_, which is more accurate.
+ * apps/Gateway/Peer/Peer.cpp: Changed the name from connection_id_
+ to proxy_id_, which is more accurate.
- * apps/Gateway/Peer/Peer.cpp: Added a destructor to Peer_Handler
- so that it can clean itself up properly when shutdown with a
- signal. This fixes a nasty bug.
+ * apps/Gateway/Peer/Peer.cpp: Added a destructor to Peer_Handler
+ so that it can clean itself up properly when shutdown with a
+ signal. This fixes a nasty bug.
- * ace/config-win32-msvc4.x.h (ACE_HAS_MFC): By default, ACE now
- enables ACE_HAS_MFC. This makes it possible to use
- AfxBeginThread() with the ACE_THR_AFX flag.
+ * ace/config-win32-msvc4.x.h (ACE_HAS_MFC): By default, ACE now
+ enables ACE_HAS_MFC. This makes it possible to use
+ AfxBeginThread() with the ACE_THR_AFX flag.
- * ace/OS.cpp: Fixed a typo in the call to ::AfxBeginThread()
- function. Thanks to Karlheinz for reporting this.
+ * ace/OS.cpp: Fixed a typo in the call to ::AfxBeginThread()
+ function. Thanks to Karlheinz for reporting this.
- * apps/Gateway/Peer/Peer.cpp: Removed all uses of the Map_Manager
- from the Peer. There's only ever one connection from a Gateway
- per-Peer, so what was this doing here anyway?! It was causing
- problems due to multiple deletions, so removing it improves
- robustness of the tests.
+ * apps/Gateway/Peer/Peer.cpp: Removed all uses of the Map_Manager
+ from the Peer. There's only ever one connection from a Gateway
+ per-Peer, so what was this doing here anyway?! It was causing
+ problems due to multiple deletions, so removing it improves
+ robustness of the tests.
- * ace/OS.i: Commented out the "extern char **_sys_siglist"
- definition since this was conflicting with the definition in
- Solaris. If some platforms needs this, we'll need to add a
- specific #ifdef.
+ * ace/OS.i: Commented out the "extern char **_sys_siglist"
+ definition since this was conflicting with the definition in
+ Solaris. If some platforms needs this, we'll need to add a
+ specific #ifdef.
Tue Jan 28 21:57:45 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.{h,cpp}: added ACE_OS::set_sched_params (). It permits
- platform-independent setting of thread priorities and
- priority classes. It is currently supported on Solaris,
- Win32, and VxWorks.
+ * ace/OS.{h,cpp}: added ACE_OS::set_sched_params (). It permits
+ platform-independent setting of thread priorities and
+ priority classes. It is currently supported on Solaris,
+ Win32, and VxWorks.
- * ace/Scheduling_Parameters.{h,i,cpp},
- ace/Thread_Priority.{h,i,cpp}, ace/Makefile:
- Added these two classes to support ACE_OS::set_sched_params ().
+ * ace/Scheduling_Parameters.{h,i,cpp},
+ ace/Thread_Priority.{h,i,cpp}, ace/Makefile:
+ Added these two classes to support ACE_OS::set_sched_params ().
Tue Jan 28 12:42:39 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/ace.mdp: Added the "Using MFC in a Shared DLL" flags.
+ * ace/ace.mdp: Added the "Using MFC in a Shared DLL" flags.
- * tests/test_config.h (ACE_INIT_LOG): Made this UNICODE safe.
+ * tests/test_config.h (ACE_INIT_LOG): Made this UNICODE safe.
- * tests/Pipe_Test.cpp (main): Added an iteration count to control
- the number of children created by the main process.
+ * tests/Pipe_Test.cpp (main): Added an iteration count to control
+ the number of children created by the main process.
- * ace/Memory_Pool.cpp (init_acquire): cast this->minimum_bytes_ to
- size_t to avoid compiler warning if size_t is unsigned.
+ * ace/Memory_Pool.cpp (init_acquire): cast this->minimum_bytes_ to
+ size_t to avoid compiler warning if size_t is unsigned.
- * ace/OS.h: Added strncat to the OS class.
+ * ace/OS.h: Added strncat to the OS class.
Tue Jan 28 09:13:00 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/ACE.cpp (ACE::ldfind),
- ace/Local_Name_Space_T.cpp,
- ace/Local_Token.cpp (ACE_TPQ_Entry::ACE_TPQ_Entry),
- ace/Log_Msg.cpp (ACE_Log_Msg::msg, ACE_Log_Msg::find),
- Memory_Pool.cpp (ACE_MMAP_Memory_Pool::ACE_MMAP_Memory_Pool),
- ace/Naming_Context.cpp (ACE_Naming_Context::open),
- ace/Parse_Node.cpp (ACE_Location_Node::open_handle),
- ace/Registry.cpp (ACE_Predefined_Naming_Contexts::is_local_host,
+ * ace/ACE.cpp (ACE::ldfind),
+ ace/Local_Name_Space_T.cpp,
+ ace/Local_Token.cpp (ACE_TPQ_Entry::ACE_TPQ_Entry),
+ ace/Log_Msg.cpp (ACE_Log_Msg::msg, ACE_Log_Msg::find),
+ Memory_Pool.cpp (ACE_MMAP_Memory_Pool::ACE_MMAP_Memory_Pool),
+ ace/Naming_Context.cpp (ACE_Naming_Context::open),
+ ace/Parse_Node.cpp (ACE_Location_Node::open_handle),
+ ace/Registry.cpp (ACE_Predefined_Naming_Contexts::is_local_host,
ACE_Registry::Binding_Iterator::Object_Iteration::next_n,
- ACE_Registry::Binding_Iterator::Context_Iteration::next_n),
- tests/UPIPE_SAP_Test.cpp:
- changed "sizeof char" to "sizeof (char)" because g++ and Sun C++
- (properly) choked on it.
+ ACE_Registry::Binding_Iterator::Context_Iteration::next_n),
+ tests/UPIPE_SAP_Test.cpp:
+ changed "sizeof char" to "sizeof (char)" because g++ and Sun C++
+ (properly) choked on it.
- * ace/Local_Name_Space_T.cpp (create_manager_i):
- -- ::strncat () instead of ACE_OS::strcat ()
+ * ace/Local_Name_Space_T.cpp (create_manager_i):
+ -- ::strncat () instead of ACE_OS::strcat ()
-- "lock_name_for_backing_store" instead of
- "lock_name_for_local_name_space"
+ "lock_name_for_local_name_space"
- * ace/Naming_Context.cpp (both constructors): reordered
- initializers to match declaration order.
+ * ace/Naming_Context.cpp (both constructors): reordered
+ initializers to match declaration order.
- * include/makeinclude/platform_sunos5_g++.GNU: removed
- -fno-strict-prototypes because it's not needed with SunOS 5.5.1.
+ * include/makeinclude/platform_sunos5_g++.GNU: removed
+ -fno-strict-prototypes because it's not needed with SunOS 5.5.1.
Mon Jan 27 21:33:00 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * tests/Naming_Test.cpp (main): Made modifications to the test to
- make it more dynamic. Also made it work with UNICODE and
- ACE_Naming_Context.
-
- * ace/Local_Name_Space_T.cpp (create_manager_i): Added a better
- naming scheme for the locks.
-
- * ace: Changed the calculations of string lengths such that the
- size of the character type is carefully considered.
-
- The following were affected:
-
- ACE.cpp (ACE::ldfind)
- Local_Token.cpp (ACE_TPQ_Entry::ACE_TPQ_Entry)
- Log_Msg.cpp (ACE_Log_Msg::msg, ACE_Log_Msg::find)
- Memory_Pool.cpp (ACE_MMAP_Memory_Pool::ACE_MMAP_Memory_Pool)
- Naming_Context.cpp (ACE_Naming_Context::open)
- Parse_Node.cpp (ACE_Location_Node::open_handle)
- Registry.cpp (ACE_Predefined_Naming_Contexts::is_local_host,
+ * tests/Naming_Test.cpp (main): Made modifications to the test to
+ make it more dynamic. Also made it work with UNICODE and
+ ACE_Naming_Context.
+
+ * ace/Local_Name_Space_T.cpp (create_manager_i): Added a better
+ naming scheme for the locks.
+
+ * ace: Changed the calculations of string lengths such that the
+ size of the character type is carefully considered.
+
+ The following were affected:
+
+ ACE.cpp (ACE::ldfind)
+ Local_Token.cpp (ACE_TPQ_Entry::ACE_TPQ_Entry)
+ Log_Msg.cpp (ACE_Log_Msg::msg, ACE_Log_Msg::find)
+ Memory_Pool.cpp (ACE_MMAP_Memory_Pool::ACE_MMAP_Memory_Pool)
+ Naming_Context.cpp (ACE_Naming_Context::open)
+ Parse_Node.cpp (ACE_Location_Node::open_handle)
+ Registry.cpp (ACE_Predefined_Naming_Contexts::is_local_host,
ACE_Registry::Binding_Iterator::Object_Iteration::next_n,
- ACE_Registry::Binding_Iterator::Context_Iteration::next_n)
-
- * ace/OS.h: Added UNICODE support for ACE_DEFAULT_LOCALNAME.
+ ACE_Registry::Binding_Iterator::Context_Iteration::next_n)
+
+ * ace/OS.h: Added UNICODE support for ACE_DEFAULT_LOCALNAME.
- * ace/Proactor.cpp: Redid "lost" changes to add UNICODE support to:
+ * ace/Proactor.cpp: Redid "lost" changes to add UNICODE support to:
- /* Proactor */
+ /* Proactor */
ACE_Overlapped_File::ACE_Overlapped_File
ACE_Overlapped_File::open
- * ace/Registry_Name_Space.h: Changed the order of #include and
- #define as that the correct set of MACROS are defined for the
- include files.
+ * ace/Registry_Name_Space.h: Changed the order of #include and
+ #define as that the correct set of MACROS are defined for the
+ include files.
- * tests/MM_Shared_Memory_Test.cpp: Added UNICODE support.
-
+ * tests/MM_Shared_Memory_Test.cpp: Added UNICODE support.
+
Mon Jan 27 09:16:03 1997 David L. Levine <levine@cs.wustl.edu>
- * include/makeinclude/platform_sunos5_sunc++.GNU,
- include/makeinclude/platform_sunos5_sunc++_orbix.GNU,
- ace/config-sunos5.5-sunc++-4.x-orbix.h
- ace/config-sunos5.5-sunc++-4.x.h:
- disabled exception handling by commenting out ACE_HAS_EXCEPTIONS
- in the config files and adding -noex to the platform files,
- because it causes trouble, at least on MP machines.
+ * include/makeinclude/platform_sunos5_sunc++.GNU,
+ include/makeinclude/platform_sunos5_sunc++_orbix.GNU,
+ ace/config-sunos5.5-sunc++-4.x-orbix.h
+ ace/config-sunos5.5-sunc++-4.x.h:
+ disabled exception handling by commenting out ACE_HAS_EXCEPTIONS
+ in the config files and adding -noex to the platform files,
+ because it causes trouble, at least on MP machines.
Mon Jan 27 14:54:31 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Memory_Pool.h: Added code to ACE_MMAP_Memory_Pool_Options to
- take a minimum_bytes parameter. This is needed to prevent mmap
- remapping when a large segment is requested. Thanks to Fred
- LaBar <flabar@fallschurch.esys.com> for this.
+ * ace/Memory_Pool.h: Added code to ACE_MMAP_Memory_Pool_Options to
+ take a minimum_bytes parameter. This is needed to prevent mmap
+ remapping when a large segment is requested. Thanks to Fred
+ LaBar <flabar@fallschurch.esys.com> for this.
Sun Jan 26 13:39:13 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/OS.i: Changed the typo sis_siglist to sys_siglist. Also,
- changed the logic from #if !defined (ACE_HAS_SYS_SIGLIST) to
- #if defined (ACE_HAS_SYS_SIGLIST) since this makes more sense...
- Thanks to Nanbor Wang <nw1@cs.wustl.edu> for noticing this.
+ * ace/OS.i: Changed the typo sis_siglist to sys_siglist. Also,
+ changed the logic from #if !defined (ACE_HAS_SYS_SIGLIST) to
+ #if defined (ACE_HAS_SYS_SIGLIST) since this makes more sense...
+ Thanks to Nanbor Wang <nw1@cs.wustl.edu> for noticing this.
Sat Jan 25 20:30:23 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config-sunos5.5-sunc++-4.1.h: commented out ACE_HAS_EXCEPTIONS
- #define because -noex is required with it, and that causes core
- dump during thread exit on multiprocessor UltraSparcs.
+ * ace/config-sunos5.5-sunc++-4.1.h: commented out ACE_HAS_EXCEPTIONS
+ #define because -noex is required with it, and that causes core
+ dump during thread exit on multiprocessor UltraSparcs.
- * include/makeinclude/platform_sunos5_sunc++_4.1.GNU: added -noex
- back because of core dump during thread exit on
- multiprocessor UltraSparcs.
+ * include/makeinclude/platform_sunos5_sunc++_4.1.GNU: added -noex
+ back because of core dump during thread exit on
+ multiprocessor UltraSparcs.
- * examples/ASX/Event_Server/Event_Server/Event_Analyzer.cpp,
- examples/ASX/UPIPE_Event_Server/Event_Analyzer.cpp (control):
- added "default" case to switch statement to eliminate compiler
- warnings about enumeration values not being handled in switch.
+ * examples/ASX/Event_Server/Event_Server/Event_Analyzer.cpp,
+ examples/ASX/UPIPE_Event_Server/Event_Analyzer.cpp (control):
+ added "default" case to switch statement to eliminate compiler
+ warnings about enumeration values not being handled in switch.
- * examples/ASX/UPIPE_Event_Server/event_server.cpp (consumer):
- removed unused variable "iter".
+ * examples/ASX/UPIPE_Event_Server/event_server.cpp (consumer):
+ removed unused variable "iter".
Sat Jan 25 12:50:24 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/OS.i: Updated all the cond_timedwait() and cond_wait()
- methods so that they decrement the count of waiters by one even
- when errors occur. Thanks to Irfan for finding this.
+ * ace/OS.i: Updated all the cond_timedwait() and cond_wait()
+ methods so that they decrement the count of waiters by one even
+ when errors occur. Thanks to Irfan for finding this.
- * ace/Map_Manager.cpp: Updated the ACE_Map_Iterator code so that
- it no longer crashes if the Map has been closed. Thanks to
- Slawomir Kuzniar <kuzniar@Bear.COM> for reporting this.
+ * ace/Map_Manager.cpp: Updated the ACE_Map_Iterator code so that
+ it no longer crashes if the Map has been closed. Thanks to
+ Slawomir Kuzniar <kuzniar@Bear.COM> for reporting this.
Sat Jan 25 11:34:56 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
- * ace/SOCK_Connector.cpp (complete): Added a sleep of zero seconds
- which allows non-blocking connects to work properly on NT.
+ * ace/SOCK_Connector.cpp (complete): Added a sleep of zero seconds
+ which allows non-blocking connects to work properly on NT.
- * ace/config-winnt-4.0-msvc4.x.h and config-win32-msvc4.x.h:
- Added ACE_HAS_BROKEN_NON_BLOCKING_CONNECTS.
+ * ace/config-winnt-4.0-msvc4.x.h and config-win32-msvc4.x.h:
+ Added ACE_HAS_BROKEN_NON_BLOCKING_CONNECTS.
- * ace/OS.i: Moved out all code for Time_Value from #if region. It
- is common to all.
+ * ace/OS.i: Moved out all code for Time_Value from #if region. It
+ is common to all.
- * ace/Reactor: Added helper routines to stop the VC++ compiler from
- bitching about destructors in exception handling code.
+ * ace/Reactor: Added helper routines to stop the VC++ compiler from
+ bitching about destructors in exception handling code.
- * ace/ace.{mak,mdp}: Removed Time_Value.cpp from project.
+ * ace/ace.{mak,mdp}: Removed Time_Value.cpp from project.
- * tests/tests.{mak,mdp}: Corrected the creation of SOCK_Test and
- Message_Blob_Test executables and temporary files.
+ * tests/tests.{mak,mdp}: Corrected the creation of SOCK_Test and
+ Message_Blob_Test executables and temporary files.
Fri Jan 24 09:01:50 1997 David L. Levine <levine@cs.wustl.edu>
- * examples/Connection/misc/Connection_Handler.cpp: added
- specialization of ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
- so that subproject will build with g++ without optimization.
+ * examples/Connection/misc/Connection_Handler.cpp: added
+ specialization of ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+ so that subproject will build with g++ without optimization.
- * apps/Gateway/Gateway/Proxy_Handler.cpp: added specializations
- of ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_SYNCH> and
- ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
- so that subproject will build with g++ without optimization.
+ * apps/Gateway/Gateway/Proxy_Handler.cpp: added specializations
+ of ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_SYNCH> and
+ ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH>
+ so that subproject will build with g++ without optimization.
- * tests/Reactor_Exceptions_Test.cpp (main): added ACE_UNUSED_ARG
- for argc and argv when ACE_HAS_EXCEPTIONS is not defined.
+ * tests/Reactor_Exceptions_Test.cpp (main): added ACE_UNUSED_ARG
+ for argc and argv when ACE_HAS_EXCEPTIONS is not defined.
- * performance-tests/Misc/test_mutex.cpp: made destructor of
- Thread_Mutex_Derived virtual because the class has other virtual
- functions.
+ * performance-tests/Misc/test_mutex.cpp: made destructor of
+ Thread_Mutex_Derived virtual because the class has other virtual
+ functions.
Thu Jan 23 11:51:45 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/config-sunos5.5-g++.h: commented out ACE_HAS_EXCEPTIONS because
- -fhandle-exceptions is broken in g++ 2.7.2 (and is required in order
- to use exception handling); also, added ACE_HAS_INLINED_OSCALLS, if
- __ACE_INLINE__ is #defined.
+ * ace/config-sunos5.5-g++.h: commented out ACE_HAS_EXCEPTIONS because
+ -fhandle-exceptions is broken in g++ 2.7.2 (and is required in order
+ to use exception handling); also, added ACE_HAS_INLINED_OSCALLS, if
+ __ACE_INLINE__ is #defined.
- * ace/config-sunos5.5-sunc++-4.1.h: added ACE_HAS_INLINED_OSCALLS,
- if __ACE_INLINE__ is #defined.
+ * ace/config-sunos5.5-sunc++-4.1.h: added ACE_HAS_INLINED_OSCALLS,
+ if __ACE_INLINE__ is #defined.
Wed Jan 22 15:04:47 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/OS.h: Moved the ACE_TIMER_SKEW macro to below the #inclusion
- of config.h and updated it so that it can be overridden in the
- config.h file if necessary. Thanks to Bob Olson
- <olson@mcs.anl.gov> for motivating this.
+ * ace/OS.h: Moved the ACE_TIMER_SKEW macro to below the #inclusion
+ of config.h and updated it so that it can be overridden in the
+ config.h file if necessary. Thanks to Bob Olson
+ <olson@mcs.anl.gov> for motivating this.
- * ace/OS.cpp: Fixed the implementation of
- ACE_Thread_ID::operator== so that it works correctly when thread
- ids and thread handles aren't ints. Thanks to Chuck Gehr for
- reporting this.
+ * ace/OS.cpp: Fixed the implementation of
+ ACE_Thread_ID::operator== so that it works correctly when thread
+ ids and thread handles aren't ints. Thanks to Chuck Gehr for
+ reporting this.
- * ace/OS.i (thr_getprio): Moved a stray #else into the right
- place. Thanks to Chuck Gehr for reporting this.
+ * ace/OS.i (thr_getprio): Moved a stray #else into the right
+ place. Thanks to Chuck Gehr for reporting this.
- * ace/OS.i (sema_post): this->count_++ should have been
- s->count_++. Thanks to Chuck Gehr for reporting this.
+ * ace/OS.i (sema_post): this->count_++ should have been
+ s->count_++. Thanks to Chuck Gehr for reporting this.
- * ace/Synch_T.cpp: Added an extern "C" definition for
- ACE_TSS_C_cleanup(). Thanks to Chuck Gehr for reporting this.
+ * ace/Synch_T.cpp: Added an extern "C" definition for
+ ACE_TSS_C_cleanup(). Thanks to Chuck Gehr for reporting this.
- * ace: Added a new #define called ACE_LACKS_SYS_NERR to the
- config files for MVS and VxWorks. This is used in OS.cpp
- as follows:
+ * ace: Added a new #define called ACE_LACKS_SYS_NERR to the
+ config files for MVS and VxWorks. This is used in OS.cpp
+ as follows:
- #if defined (ACE_LACKS_SYS_NERR)
- int sys_nerr = ERRMAX + 1;
- #endif /* ACE_LACKS_SYS_NERR */
+ #if defined (ACE_LACKS_SYS_NERR)
+ int sys_nerr = ERRMAX + 1;
+ #endif /* ACE_LACKS_SYS_NERR */
- Thanks to Chuck Gehr for reporting this.
+ Thanks to Chuck Gehr for reporting this.
- * Removed all #inclusions of "ace/Time_Value.h." This file
- no longer contains anything besides a #include "ace/OS.h"
- and is only kept around due to backwards compatibility.
+ * Removed all #inclusions of "ace/Time_Value.h." This file
+ no longer contains anything besides a #include "ace/OS.h"
+ and is only kept around due to backwards compatibility.
- * ace: Moved the contents of Time_Value.h into OS.h to reduce the
- confusion that arises from the #inclusion of "config.h" in
- Time_Value.h. Also merged the contents of Time_Value.{i,cpp}
- into OS.{i,cpp}. Thanks to the MDA guys for motivating this.
+ * ace: Moved the contents of Time_Value.h into OS.h to reduce the
+ confusion that arises from the #inclusion of "config.h" in
+ Time_Value.h. Also merged the contents of Time_Value.{i,cpp}
+ into OS.{i,cpp}. Thanks to the MDA guys for motivating this.
- * tests/Reactor_Exceptions_Test.cpp: Added a new test that
- exercises the Reactor with C++ exceptions. Thanks to Luca for
- the test.
+ * tests/Reactor_Exceptions_Test.cpp: Added a new test that
+ exercises the Reactor with C++ exceptions. Thanks to Luca for
+ the test.
- * ace/Reactor.cpp (handle_events): Added Win32 structured
- exception handling support to the ACE_Reactor::handle_events()
- method so that it correctly releases the token lock when Win32
- SEH occur in callback routines. Thanks to Luca for reporting
- this problem.
+ * ace/Reactor.cpp (handle_events): Added Win32 structured
+ exception handling support to the ACE_Reactor::handle_events()
+ method so that it correctly releases the token lock when Win32
+ SEH occur in callback routines. Thanks to Luca for reporting
+ this problem.
- * ace: Added a new macro called ACE_HAS_EXCEPTIONS, which
- indicates that the compiler supports C++ exception handling.
+ * ace: Added a new macro called ACE_HAS_EXCEPTIONS, which
+ indicates that the compiler supports C++ exception handling.
- * include/makeinclude/platform_sunos5_sunc++*.GNU: Commented out
- the -noex flag for now. Hopefully, things will work correctly
- now.
+ * include/makeinclude/platform_sunos5_sunc++*.GNU: Commented out
+ the -noex flag for now. Hopefully, things will work correctly
+ now.
- * ace/Thread_Manager.cpp (exit): Removed the final acquire() on
- ace_mon, which is no longer necessary since the Guard classes
- now keep track of whether they are "owned". Thanks to Karlheinz
- and Detlef for this fix.
+ * ace/Thread_Manager.cpp (exit): Removed the final acquire() on
+ ace_mon, which is no longer necessary since the Guard classes
+ now keep track of whether they are "owned". Thanks to Karlheinz
+ and Detlef for this fix.
Wed Jan 22 09:05:31 1997 David L. Levine <levine@cs.wustl.edu>
- * Makefile,VERSION: modified top-level Makefile (and VERSION)
- to add a timestamp to the VERSION file if creating a release
- from the /project/adaptive/ACE_wrappers directory. If it
- causes problems, this will disable it:
- % make TIMESTAMP= release.
+ * Makefile,VERSION: modified top-level Makefile (and VERSION)
+ to add a timestamp to the VERSION file if creating a release
+ from the /project/adaptive/ACE_wrappers directory. If it
+ causes problems, this will disable it:
+ % make TIMESTAMP= release.
- * ace/Local_Tokens.cpp (dump): replaced "ACE_TSS<ACE_TPQ_Entry>"
- with "ACE_TPQ_ENTRY" so that ACE_NO_TSS_TOKENS is supported.
+ * ace/Local_Tokens.cpp (dump): replaced "ACE_TSS<ACE_TPQ_Entry>"
+ with "ACE_TPQ_ENTRY" so that ACE_NO_TSS_TOKENS is supported.
- * ace/Synch.h: fixed typo in comment header for ACE_Thread_Semaphore
+ * ace/Synch.h: fixed typo in comment header for ACE_Thread_Semaphore
- * ace/config-vxworks-ghs-1.8.h,config-vxworks5.2-g++.h,
- config-unixware-2.01-g++.h:
- protect ACE_HAS_INLINED_OSCALLS #defined with
- #if defined (__ACE_INLINE__).
+ * ace/config-vxworks-ghs-1.8.h,config-vxworks5.2-g++.h,
+ config-unixware-2.01-g++.h:
+ protect ACE_HAS_INLINED_OSCALLS #defined with
+ #if defined (__ACE_INLINE__).
- * apps/Gateway/Gateway/Event_Channel.cpp (open): added
- ACE_UNUSED_ARG (sig);.
+ * apps/Gateway/Gateway/Event_Channel.cpp (open): added
+ ACE_UNUSED_ARG (sig);.
- * examples/ASX/Event_Server/Event_Server/Peer_Router.h:
- declared a friend of class Peer_Router_Context because it
- has a private destructor, to eliminate compiler warning
- about not having any friends.
+ * examples/ASX/Event_Server/Event_Server/Peer_Router.h:
+ declared a friend of class Peer_Router_Context because it
+ has a private destructor, to eliminate compiler warning
+ about not having any friends.
- * examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp
- (open): added return 0 in "true" branch of if statement so
- that the function always returns a value.
+ * examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp
+ (open): added return 0 in "true" branch of if statement so
+ that the function always returns a value.
Tue Jan 21 09:19:44 1997 David L. Levine <levine@cs.wustl.edu>
- * tests/Reader_Writer_Test.cpp (reader): commented out unused
- variable "n"; also, commented out unused function
- print_usage_and_die.
+ * tests/Reader_Writer_Test.cpp (reader): commented out unused
+ variable "n"; also, commented out unused function
+ print_usage_and_die.
- * tests/TSS_Test.cpp, Thread_Manager_Test.cpp (main): added
- ACE_UNUSED_ARG (sa);.
+ * tests/TSS_Test.cpp, Thread_Manager_Test.cpp (main): added
+ ACE_UNUSED_ARG (sa);.
- * tests/Thread_Pool_Test.cpp (open): added return 0 at end.
+ * tests/Thread_Pool_Test.cpp (open): added return 0 at end.
Tue Jan 21 11:00:12 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * apps/Gateway/Gateway/Gateway.cpp (parse_args): There was a small
- bug in parse_args (latest beta), it mixed proxy and consumer
- conf files. Thanks to Per Andersson
- <Per.Andersson@hfera.ericsson.se> for reporting this.
+ * apps/Gateway/Gateway/Gateway.cpp (parse_args): There was a small
+ bug in parse_args (latest beta), it mixed proxy and consumer
+ conf files. Thanks to Per Andersson
+ <Per.Andersson@hfera.ericsson.se> for reporting this.
Mon Jan 20 13:29:28 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.i, ace/Task.h, and ace/Thread_Manager.h: changed a few
- occurrences of NULL to 0 (for other than Win32 platforms),
- primarily to avoid compiler warnings on VxWorks if ACE.h isn't
- #included before stddef.h.
+ * ace/OS.i, ace/Task.h, and ace/Thread_Manager.h: changed a few
+ occurrences of NULL to 0 (for other than Win32 platforms),
+ primarily to avoid compiler warnings on VxWorks if ACE.h isn't
+ #included before stddef.h.
- * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp
- (handle_input): replaced %d format with %hu for u_short arg.
+ * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp
+ (handle_input): replaced %d format with %hu for u_short arg.
- * netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp
- (run_writer): initialized variable "t" to avoid compiler warning.
+ * netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp
+ (run_writer): initialized variable "t" to avoid compiler warning.
- * examples/Connection/misc/Connection_Handler.cpp (handle_timeout):
- added ACE_UNUSED_ARG (tv); also, added explicit int return type
- to definition of Connection_Handler::close (u_long).
+ * examples/Connection/misc/Connection_Handler.cpp (handle_timeout):
+ added ACE_UNUSED_ARG (tv); also, added explicit int return type
+ to definition of Connection_Handler::close (u_long).
- * examples/Threads/task_four.cpp (Invoker_Task::svc):
- moved declaration of "task" out of for loop because it is
- also used after the for loop.
+ * examples/Threads/task_four.cpp (Invoker_Task::svc):
+ moved declaration of "task" out of for loop because it is
+ also used after the for loop.
- * netsvcs/lib/Name_Handler.cpp, Server_Logging_Handler.cpp,
- TS_Clerk_Handler.cpp, TS_Server_Handler.cpp, Token_Handler.cpp:
- added ACE_UNUSED_ARG (sig);.
+ * netsvcs/lib/Name_Handler.cpp, Server_Logging_Handler.cpp,
+ TS_Clerk_Handler.cpp, TS_Server_Handler.cpp, Token_Handler.cpp:
+ added ACE_UNUSED_ARG (sig);.
Sun Jan 19 11:10:49 1997 David L. Levine <levine@cs.wustl.edu>
- * include/makeinclude/platform_sunos5_sunc++.GNU,
- platform_sunos5_sunc++_4.1.GNU:
- added comment about compiler warnings with +w option.
- Also, added +w to platform_sunos5_sunc++_4.1.GNU. With the
- other changes in this ChangeLog entry, there no longer should
- be significant warnings from Sun C++ when building ACE.
-
- * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp
- (Peer_Handler::put): added ACE_UNUSED_ARG (tv);.
-
- * examples/IPC_SAP/SPIPE_SAP/NPServer.cpp (main),
- netsvcs/clients/Tokens/invariant/invariant.cpp (main):
- commented out argc and argv.
-
- * examples/Mem_Map/file-reverse/file-reverse.cpp (main):
- removed unused variable "cp".
-
- * netsvcs/clients/Tokens/manual/manual.cpp (handle_input,
- handle_exception): added ACE_UNUSED_ARG (fd); and
- (create_proxy): added return statement at end: even
- though it should never be reached, it eliminates a
- compiler warning.
-
- * examples/OS/Process/process.cpp,
- examples/Reactor/Misc/test_reactors.cpp,
- netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp,
- netsvcs/clients/Tokens/mutex/test_mutex.cpp,
- netsvcs/clients/Tokens/rw_lock/rw_locks.cpp,
- performance-tests/TTCP/ORBeline/ttcp_i.cpp,
- performance-tests/TTCP/Orbix/ttcp_i.cpp (main):
- return 0 instead of 42.
+ * include/makeinclude/platform_sunos5_sunc++.GNU,
+ platform_sunos5_sunc++_4.1.GNU:
+ added comment about compiler warnings with +w option.
+ Also, added +w to platform_sunos5_sunc++_4.1.GNU. With the
+ other changes in this ChangeLog entry, there no longer should
+ be significant warnings from Sun C++ when building ACE.
+
+ * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp
+ (Peer_Handler::put): added ACE_UNUSED_ARG (tv);.
+
+ * examples/IPC_SAP/SPIPE_SAP/NPServer.cpp (main),
+ netsvcs/clients/Tokens/invariant/invariant.cpp (main):
+ commented out argc and argv.
+
+ * examples/Mem_Map/file-reverse/file-reverse.cpp (main):
+ removed unused variable "cp".
+
+ * netsvcs/clients/Tokens/manual/manual.cpp (handle_input,
+ handle_exception): added ACE_UNUSED_ARG (fd); and
+ (create_proxy): added return statement at end: even
+ though it should never be reached, it eliminates a
+ compiler warning.
+
+ * examples/OS/Process/process.cpp,
+ examples/Reactor/Misc/test_reactors.cpp,
+ netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp,
+ netsvcs/clients/Tokens/mutex/test_mutex.cpp,
+ netsvcs/clients/Tokens/rw_lock/rw_locks.cpp,
+ performance-tests/TTCP/ORBeline/ttcp_i.cpp,
+ performance-tests/TTCP/Orbix/ttcp_i.cpp (main):
+ return 0 instead of 42.
Sat Jan 18 10:54:25 1997 Prashant Jain <pjain@merengue.cs.wustl.edu>
- * java/src/README: Updated the README file to indicate how
- documentation for Java ACE cab be automatically generated.
+ * java/src/README: Updated the README file to indicate how
+ documentation for Java ACE cab be automatically generated.
Fri Jan 17 11:47:10 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/OS.h: Added an equivalent set of
- ACE_LSOCK_{STREAM,ACCEPTOR,CONNECTOR} macros to complement the
- ones for ACE_SOCK_*. Thanks to Gonzalo Diethelm
- <gonzo@ing.puc.cl> for suggesting this.
-
- * ace/OS.cpp (ACE_Thread_Adapter): Added a new feature that allows
- logging features to be inherited by threads. It works with
- those OSs (e.g., Win32) that use ACE_Thread_Adapter class. At
- some point, we might do this for all the OSs. Thanks to Luca
- for this.
-
- * examples/Connection/misc/Connection_Handler.cpp: Added a
- new example that illustrates how to use the Acceptor pattern
- to create multiple threads, each running its own Reactor.
-
- * ace/Log_Msg.cpp (dump): Some of the variables in the dump()
- method have the wrong format specification type. These are:
- restart_ (%d), flags_ (%x), priority_mask_ (%d). They are now
- fixed, thanks to Luca.
-
- * tests/Priority_Task_Test.cpp (open): Add an ACE_ASSERT to make
- sure that the tasks activate() correctly. Thanks to David for
- finding this.
-
- * ace/config-linux-lxpthreads.h: Added #defines for
- ACE_HAS_AUTOMATIC_INIT_FINI and ACE_HAS_SVR4_DYNAMIC_LINKING.
- Thanks to Marius for this.
-
- * ace/Malloc.h: Changed the typedef of ACE_Malloc_Align to a macro
- called ACE_MALLOC_ALIGN to allow users to override this value in
- their config.h file. This is necessary for platforms that don't
- have "long" word alignments. Thanks to Fred LaBar
- <flabar@fallschurch.esys.com> for this suggestion.
-
- * ace/OS.h: Added an #ifdef check for ACE_HAS_IRIX62_THREADS and
- if so, we'll use the if (&a) /* null */; } form of the
- ACE_UNUSED_ARG macro to avoid unnecessary warnings. Thanks to
- Fred LaBar <flabar@fallschurch.esys.com> for testing this out.
+ * ace/OS.h: Added an equivalent set of
+ ACE_LSOCK_{STREAM,ACCEPTOR,CONNECTOR} macros to complement the
+ ones for ACE_SOCK_*. Thanks to Gonzalo Diethelm
+ <gonzo@ing.puc.cl> for suggesting this.
+
+ * ace/OS.cpp (ACE_Thread_Adapter): Added a new feature that allows
+ logging features to be inherited by threads. It works with
+ those OSs (e.g., Win32) that use ACE_Thread_Adapter class. At
+ some point, we might do this for all the OSs. Thanks to Luca
+ for this.
+
+ * examples/Connection/misc/Connection_Handler.cpp: Added a
+ new example that illustrates how to use the Acceptor pattern
+ to create multiple threads, each running its own Reactor.
+
+ * ace/Log_Msg.cpp (dump): Some of the variables in the dump()
+ method have the wrong format specification type. These are:
+ restart_ (%d), flags_ (%x), priority_mask_ (%d). They are now
+ fixed, thanks to Luca.
+
+ * tests/Priority_Task_Test.cpp (open): Add an ACE_ASSERT to make
+ sure that the tasks activate() correctly. Thanks to David for
+ finding this.
+
+ * ace/config-linux-lxpthreads.h: Added #defines for
+ ACE_HAS_AUTOMATIC_INIT_FINI and ACE_HAS_SVR4_DYNAMIC_LINKING.
+ Thanks to Marius for this.
+
+ * ace/Malloc.h: Changed the typedef of ACE_Malloc_Align to a macro
+ called ACE_MALLOC_ALIGN to allow users to override this value in
+ their config.h file. This is necessary for platforms that don't
+ have "long" word alignments. Thanks to Fred LaBar
+ <flabar@fallschurch.esys.com> for this suggestion.
+
+ * ace/OS.h: Added an #ifdef check for ACE_HAS_IRIX62_THREADS and
+ if so, we'll use the if (&a) /* null */; } form of the
+ ACE_UNUSED_ARG macro to avoid unnecessary warnings. Thanks to
+ Fred LaBar <flabar@fallschurch.esys.com> for testing this out.
Fri Jan 17 16:33:25 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/High_Res_Timer.*: added elapsed_time () and get_time ().
+ * ace/High_Res_Timer.*: added elapsed_time () and get_time ().
- * netsvcs/clients/Tokens/collection/collection.cpp, rw_locks.cpp:
- commented out unused variables to avoid compiler warnings; and
- return 0 from main ().
+ * netsvcs/clients/Tokens/collection/collection.cpp, rw_locks.cpp:
+ commented out unused variables to avoid compiler warnings; and
+ return 0 from main ().
- * include/makeinclude/rules.local.GNU,
- netsvcs/lib/Makefile,
- examples/Service_Configurator/IPC-tests/server/Makefile:
- fixed ESOBUILD mechanism to work on all platforms, not just Linux.
- Thanks to Marius Kjeldahl <marius@funcom.com> for this fix.
+ * include/makeinclude/rules.local.GNU,
+ netsvcs/lib/Makefile,
+ examples/Service_Configurator/IPC-tests/server/Makefile:
+ fixed ESOBUILD mechanism to work on all platforms, not just Linux.
+ Thanks to Marius Kjeldahl <marius@funcom.com> for this fix.
- * ace/OS.i and OS.cpp: uninlined functions that use varargs, because
- they usually won't get inlined anyways.
+ * ace/OS.i and OS.cpp: uninlined functions that use varargs, because
+ they usually won't get inlined anyways.
- * ace/OS.cpp (thr_create): added #else clause to be sure that
- always sparam.sched_priority always get set to the priority argument.
+ * ace/OS.cpp (thr_create): added #else clause to be sure that
+ always sparam.sched_priority always get set to the priority argument.
- * netsvcs/clients/Naming/Client/Client_Test.cpp: commented out
- unused parameters and wrapped combined assignments/conditional
- values to avoid compiler (g++) warnings.
+ * netsvcs/clients/Naming/Client/Client_Test.cpp: commented out
+ unused parameters and wrapped combined assignments/conditional
+ values to avoid compiler (g++) warnings.
- * tests/Priority_Task_Test.cpp: added check for successful thread
- spawn, and ACE_NEW_THREAD to svc () so that messages get logged.
+ * tests/Priority_Task_Test.cpp: added check for successful thread
+ spawn, and ACE_NEW_THREAD to svc () so that messages get logged.
Thu Jan 16 17:03:47 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * include/makeinclude: Added support for shared object files
- on Linux. Thanks to Marius Kjeldahl <mariusk@sn.no,
- marius@funcom.com> for his help with this.
+ * include/makeinclude: Added support for shared object files
+ on Linux. Thanks to Marius Kjeldahl <mariusk@sn.no,
+ marius@funcom.com> for his help with this.
- * ace: Merged in the IRIX support, mainly the missing netdb reentrant
- functions. Thanks to Gonzalo Diethelm <gonzo@ing.puc.cl>
- and Carlos O'Ryan <coryan@mat.puc.cl> for their help.
+ * ace: Merged in the IRIX support, mainly the missing netdb reentrant
+ functions. Thanks to Gonzalo Diethelm <gonzo@ing.puc.cl>
+ and Carlos O'Ryan <coryan@mat.puc.cl> for their help.
- * ace/Timer_{List,Heap,Queue}: Changed iterator() to iter() to
- avoid name clashes with STL (ugh).
+ * ace/Timer_{List,Heap,Queue}: Changed iterator() to iter() to
+ avoid name clashes with STL (ugh).
- * ace/Timer_{Heap,List}.cpp: Added ACE_BUILD_DLL so that things
- will link. Thanks to John Morey for reporting this.
+ * ace/Timer_{Heap,List}.cpp: Added ACE_BUILD_DLL so that things
+ will link. Thanks to John Morey for reporting this.
- * ace/Synch_T.h: Fixed: class ACE_Write_Guard: method:
- tryacquire_write so that it will call
- ...->lock_->tryacquire_write() and not
- ...->lock_->acquire_write(). Thanks to Alexandre Karev
- <Alexandre.Karev@cern.ch> for this fix.
+ * ace/Synch_T.h: Fixed: class ACE_Write_Guard: method:
+ tryacquire_write so that it will call
+ ...->lock_->tryacquire_write() and not
+ ...->lock_->acquire_write(). Thanks to Alexandre Karev
+ <Alexandre.Karev@cern.ch> for this fix.
Thu Jan 16 15:51:16 1997 David L. Levine <levine@cs.wustl.edu>
- * Dump.cpp (register_object): initialized "slot" so that g++ doesn't
- complain about uninitialized use.
+ * Dump.cpp (register_object): initialized "slot" so that g++ doesn't
+ complain about uninitialized use.
- * Reactor.cpp (initialized): use ACE_GUARD_RETURN instead of
- ACE_GUARD because the function returns a value;
- (find): initialize "i" if handle is out of range so that g++
- doesn't complain about uninitialized use.
+ * Reactor.cpp (initialized): use ACE_GUARD_RETURN instead of
+ ACE_GUARD because the function returns a value;
+ (find): initialize "i" if handle is out of range so that g++
+ doesn't complain about uninitialized use.
- * Service_Repository.cpp (remove): removed unused variable "handle".
+ * Service_Repository.cpp (remove): removed unused variable "handle".
- * Thread_Manager.h: made destructor virtual now that spawn_i () is
- virtual.
+ * Thread_Manager.h: made destructor virtual now that spawn_i () is
+ virtual.
- * Timer_Heap.cpp: changed some int loop indicies to size_t to
- make sure that comparisons are consistently signed or unsigned.
+ * Timer_Heap.cpp: changed some int loop indicies to size_t to
+ make sure that comparisons are consistently signed or unsigned.
- * OS.h, config-vxworks*.h: removed ACE_HAS_GREENHILLS_SOCKETS
- ACE macro because the code it wrapped applies to all VxWorks
- compilers, not just GreenHills.
+ * OS.h, config-vxworks*.h: removed ACE_HAS_GREENHILLS_SOCKETS
+ ACE macro because the code it wrapped applies to all VxWorks
+ compilers, not just GreenHills.
Wed Jan 15 02:06:21 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/ACE.cpp (round_to_pagesize): If _SC_PAGESIZE is enabled then
- we set the ACE::pagesize_ variable using sysconf(2). Thanks to
- James Mansion for this suggestion.
+ * ace/ACE.cpp (round_to_pagesize): If _SC_PAGESIZE is enabled then
+ we set the ACE::pagesize_ variable using sysconf(2). Thanks to
+ James Mansion for this suggestion.
Wed Jan 15 02:06:21 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/Timer_Queue.cpp (expire): Changed a line of code from
-
- ACE_Timer_Queue_Iterator &iterator (this->iterator ());
-
- to
-
- ACE_Timer_Queue_Iterator &iterator = this->iterator ();
-
- so that the Visual C++ compiler can grok it. Thanks to John
- Morey for reporting this.
-
- * ace/Reactor.cpp: Modified the close() method so that it can be
- called multiple times with no bad side-effects.
-
- * ace/Pipe.cpp: Modified the close() method so that it can be
- called multiple times with no bad side-effects.
-
- * ace/Reactor: Added an initialized() method that indicates
- whether the Reactor was successfully initialized. Also
- rearranged the code in ACE_Reactor::open() so that initialized_
- is only set at the end of the method when everything succeeds.
- If things *don't* succeed, we call close() on the way out.
- Thanks to Luca for these suggestions.
-
- * ace/Reactor.cpp (close): When closing down the ACE_Reactor, we
- now set initialized_ back to 0 so that it can be reopened again
- later.
-
- * tests/Reader_Writer_Test.cpp: There were some problems with this
- test due to the fact that on many pthreads platforms pthread_t
- isn't an int (it's a struct). Thanks to Chuck Gehr
- <gehr@sweng.stortek.com> for the fix.
-
- * ace/OS.i (exit): In WIN32 when the process exits through an
- ExitProcess() call, some process resources (e.g., file handles)
- are freed before the static variable destructors are
- called. This results in an application error when tracing is
- enabled. Removing the ACE_TRACE call in ~ACE_Event_Handler
- seems to fix this. Thanks to Luca for this fix.
-
- * ace/OS: Fixed the implementation of semaphores for the POSIX
- port (POSIX lacks semaphores). The trick was to add a "waiters"
- field, along with the semaphore count. Thanks to John Bossom
- <John.Bossom@Cognos.COM> for reporting this.
-
- * examples/Threads/wfmo.cpp: Added a new test program that seems
- to indicate that the Win32 WaitForMultipleObjects() function can
- be called in multiple threads, all of which wait on the same set
- of HANDLEs. Note that the dispatching of the threads is
- relatively "fair" (i.e., everyone gets a chance to process the
- various HANDLEs as they become active). Thanks to Ari Erev
- <Ari_Erev@comverse.com> for suggesting this and providing the
- initial code.
-
- * ace/Thread_Manager.h: Made the spawn_i() method virtual and
- moved it into the protected section of the class so that it can
- be over-ridden by subclasses. Thanks to Tim Harrison for
- suggesting this.
+ * ace/Timer_Queue.cpp (expire): Changed a line of code from
+
+ ACE_Timer_Queue_Iterator &iterator (this->iterator ());
+
+ to
+
+ ACE_Timer_Queue_Iterator &iterator = this->iterator ();
+
+ so that the Visual C++ compiler can grok it. Thanks to John
+ Morey for reporting this.
+
+ * ace/Reactor.cpp: Modified the close() method so that it can be
+ called multiple times with no bad side-effects.
+
+ * ace/Pipe.cpp: Modified the close() method so that it can be
+ called multiple times with no bad side-effects.
+
+ * ace/Reactor: Added an initialized() method that indicates
+ whether the Reactor was successfully initialized. Also
+ rearranged the code in ACE_Reactor::open() so that initialized_
+ is only set at the end of the method when everything succeeds.
+ If things *don't* succeed, we call close() on the way out.
+ Thanks to Luca for these suggestions.
+
+ * ace/Reactor.cpp (close): When closing down the ACE_Reactor, we
+ now set initialized_ back to 0 so that it can be reopened again
+ later.
+
+ * tests/Reader_Writer_Test.cpp: There were some problems with this
+ test due to the fact that on many pthreads platforms pthread_t
+ isn't an int (it's a struct). Thanks to Chuck Gehr
+ <gehr@sweng.stortek.com> for the fix.
+
+ * ace/OS.i (exit): In WIN32 when the process exits through an
+ ExitProcess() call, some process resources (e.g., file handles)
+ are freed before the static variable destructors are
+ called. This results in an application error when tracing is
+ enabled. Removing the ACE_TRACE call in ~ACE_Event_Handler
+ seems to fix this. Thanks to Luca for this fix.
+
+ * ace/OS: Fixed the implementation of semaphores for the POSIX
+ port (POSIX lacks semaphores). The trick was to add a "waiters"
+ field, along with the semaphore count. Thanks to John Bossom
+ <John.Bossom@Cognos.COM> for reporting this.
+
+ * examples/Threads/wfmo.cpp: Added a new test program that seems
+ to indicate that the Win32 WaitForMultipleObjects() function can
+ be called in multiple threads, all of which wait on the same set
+ of HANDLEs. Note that the dispatching of the threads is
+ relatively "fair" (i.e., everyone gets a chance to process the
+ various HANDLEs as they become active). Thanks to Ari Erev
+ <Ari_Erev@comverse.com> for suggesting this and providing the
+ initial code.
+
+ * ace/Thread_Manager.h: Made the spawn_i() method virtual and
+ moved it into the protected section of the class so that it can
+ be over-ridden by subclasses. Thanks to Tim Harrison for
+ suggesting this.
Tue Jan 14 15:57:55 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/OS.h: Changed the default size of ACE_DEFAULT_TIMERS to
- _SC_TIMER_MAX (which is typically around 40 or so).
- Thanks to Stuart Powell <stuartp@in.ot.com.au> for
- suggesting this.
+ * ace/OS.h: Changed the default size of ACE_DEFAULT_TIMERS to
+ _SC_TIMER_MAX (which is typically around 40 or so).
+ Thanks to Stuart Powell <stuartp@in.ot.com.au> for
+ suggesting this.
- * tests/Timer_Queue_Test.cpp (main): Added some additional logic
- so that we can test the performance of the preallocated and
- non-preallocated ACE_Timer_Heap.
+ * tests/Timer_Queue_Test.cpp (main): Added some additional logic
+ so that we can test the performance of the preallocated and
+ non-preallocated ACE_Timer_Heap.
- * ace/Timer_Heap: Added a new "preallocate nodes" mechanism to the
- ACE_Timer_Heap. If this is enabled by the constructor, then we
- preallocate as many ACE_Timer_Nodes as there are slots in the
- heap. This allows us to completely remove the need for dynamic
- memory allocation, which is important for real-time systems.
+ * ace/Timer_Heap: Added a new "preallocate nodes" mechanism to the
+ ACE_Timer_Heap. If this is enabled by the constructor, then we
+ preallocate as many ACE_Timer_Nodes as there are slots in the
+ heap. This allows us to completely remove the need for dynamic
+ memory allocation, which is important for real-time systems.
- * ace/Thread_Manager.cpp (remove_thr): Optimized the code just a
- tad by decrementing the current_count_ *first*. Thanks to Per
- Andersson <Per.Andersson@hfera.ericsson.se> for suggesting this.
+ * ace/Thread_Manager.cpp (remove_thr): Optimized the code just a
+ tad by decrementing the current_count_ *first*. Thanks to Per
+ Andersson <Per.Andersson@hfera.ericsson.se> for suggesting this.
- * ace/ReactorEx: Updated the implementation so that the
- handle_events() method now in fact *does* return the number of
- event handler's dispatched (i.e., the implementation matches the
- documentation...). Thanks to Hamutal Yanay
- <Hamutal_Yanay@mail.icomverse.com> for reporting this.
+ * ace/ReactorEx: Updated the implementation so that the
+ handle_events() method now in fact *does* return the number of
+ event handler's dispatched (i.e., the implementation matches the
+ documentation...). Thanks to Hamutal Yanay
+ <Hamutal_Yanay@mail.icomverse.com> for reporting this.
- * ace/Service_Repository.cpp (remove): Removed an extra call to
- ACE_OS::dlclose(). This is already being called in the
- destructor of ACE_Service_Record. Thanks to Karlheinz for
- reporting this.
+ * ace/Service_Repository.cpp (remove): Removed an extra call to
+ ACE_OS::dlclose(). This is already being called in the
+ destructor of ACE_Service_Record. Thanks to Karlheinz for
+ reporting this.
- * man: Updated all the nroff and html documentation.
+ * man: Updated all the nroff and html documentation.
- * ace/Timer_Heap: Implemented the spiffy new timer cancellation
- algorithm that requires only O(log N) time to remove a timer
- from the ACE_Timer_Heap. This is about 50 to 100 times faster
- than using the ACE_Timer_List implementation.
+ * ace/Timer_Heap: Implemented the spiffy new timer cancellation
+ algorithm that requires only O(log N) time to remove a timer
+ from the ACE_Timer_Heap. This is about 50 to 100 times faster
+ than using the ACE_Timer_List implementation.
Tue Jan 14 21:01:36 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.h: Replace "Linux" preprocessor symbol with "linux".
+ * ace/OS.h: Replace "Linux" preprocessor symbol with "linux".
Mon Jan 13 17:57:50 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/Synch: Added lock() accessor methods to both
- ACE_Process_Semaphore and ACE_Process_Mutex. Thanks to Hamutal
- Yanay <Hamutal_Yanay@mail.icomverse.com> for suggesting this.
+ * ace/Synch: Added lock() accessor methods to both
+ ACE_Process_Semaphore and ACE_Process_Mutex. Thanks to Hamutal
+ Yanay <Hamutal_Yanay@mail.icomverse.com> for suggesting this.
- * ace/config-mvs.h: Added a #define for ACE_HAS_GETPAGESIZE.
- Thanks to Chuck Gehr for this information.
+ * ace/config-mvs.h: Added a #define for ACE_HAS_GETPAGESIZE.
+ Thanks to Chuck Gehr for this information.
- * ace/LSOCK_Stream.h: Added a new typedef for PEER_ADDR that is
- associated with ACE_UNIX_Addr. Thanks to Mark Rabotnikov
- <mark@usp.elscintcorp.co.il> for suggesting this.
+ * ace/LSOCK_Stream.h: Added a new typedef for PEER_ADDR that is
+ associated with ACE_UNIX_Addr. Thanks to Mark Rabotnikov
+ <mark@usp.elscintcorp.co.il> for suggesting this.
Mon Jan 13 22:24:09 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/OS.h: Added #undefs of sigemptyset and sigfillset on Linux
- when __OPTIMIZE__ is enabled. Yes, the system header on Linux
- really #defines them when optimizing! Thanks to an anonymous
- ACE user for pointing this out.
+ * ace/OS.h: Added #undefs of sigemptyset and sigfillset on Linux
+ when __OPTIMIZE__ is enabled. Yes, the system header on Linux
+ really #defines them when optimizing! Thanks to an anonymous
+ ACE user for pointing this out.
- * tests/tests_config.h: Dropped ACE_MAX_ITERATIONS back to 10.
+ * tests/tests_config.h: Dropped ACE_MAX_ITERATIONS back to 10.
Sun Jan 12 16:59:52 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/Timer_List.cpp (schedule): Cleanup the code so that (1)
- timer_id never == -1 (in order to distinguish it from error
- return values and (2) so that we avoid an unnecessary check for
- operator new failure.
-
- * ace/OS.h: Added a new #define called ACE_DEFAULT_MAX_TIMERS,
- which specifies the maximum number of ACE_Event_Handlers
- supported by ACE_Timer_Heap.
-
- * ace/Proactor.cpp (ACE_Proactor): Updated the allocation of
- ACE_Timer_Queue so that it really points to an ACE_Timer_List by
- default. Naturally, this can be overridden by users.
-
- * ace/ReactorEx.cpp (open): Updated the allocation of
- ACE_Timer_Queue so that it really points to an ACE_Timer_List by
- default. Naturally, this can be overridden by users.
-
- * ace/Reactor.cpp (open): Updated the allocation of
- ACE_Timer_Queue so that it really points to an ACE_Timer_List by
- default. Naturally, this can be overridden by users.
-
- * ace: Added two new classes called ACE_Timer_List and
- ACE_Timer_Heap, which derive from ACE_Timer_Queue.
- ACE_Timer_List is essentially the old behavior of
- ACE_Timer_Queue, i.e., it uses an implementation of a linked
- list of ACE_Timer_Nodes. ACE_Timer_Heap, on the other hand,
- uses a heap-based callout queue, which is more appropriate for
- certain real-time applications.
-
- * ace/Timer_Queue: Revised the ACE_Timer_Queue implementation so
- that it's now an abstract base class with most of the
- implementation details pushed into the ACE_Timer_List and
- ACE_Timer_Heap subclasses.
-
- * ace/Timer_Queue.h: Made all the ACE_Timer_Queue methods public
- so that we can override them in a subclass (e.g., the new
- ACE_Timer_Heap).
-
- * examples/Logger/Acceptor-server/server_loggerd.cpp: Fixed this
- example application so that it only uses a single Reactor (the
- REACTOR::instance()) rather than two Reactors. Thanks to Sandro
- Doro <alex@aureus.sublink.org> for reporting this.
-
- * netsvcs/lib/Logging_Strategy.cpp: Fixed the #include of
- fstream.h and iostream.h to use the '<' '>' notation rather than
- the '"' and '"' notation. This avoids problems with running
- "make depend". Thanks to Rino Simioni <sir@necsy.it> for
- reporting this fix.
+ * ace/Timer_List.cpp (schedule): Cleanup the code so that (1)
+ timer_id never == -1 (in order to distinguish it from error
+ return values and (2) so that we avoid an unnecessary check for
+ operator new failure.
+
+ * ace/OS.h: Added a new #define called ACE_DEFAULT_MAX_TIMERS,
+ which specifies the maximum number of ACE_Event_Handlers
+ supported by ACE_Timer_Heap.
+
+ * ace/Proactor.cpp (ACE_Proactor): Updated the allocation of
+ ACE_Timer_Queue so that it really points to an ACE_Timer_List by
+ default. Naturally, this can be overridden by users.
+
+ * ace/ReactorEx.cpp (open): Updated the allocation of
+ ACE_Timer_Queue so that it really points to an ACE_Timer_List by
+ default. Naturally, this can be overridden by users.
+
+ * ace/Reactor.cpp (open): Updated the allocation of
+ ACE_Timer_Queue so that it really points to an ACE_Timer_List by
+ default. Naturally, this can be overridden by users.
+
+ * ace: Added two new classes called ACE_Timer_List and
+ ACE_Timer_Heap, which derive from ACE_Timer_Queue.
+ ACE_Timer_List is essentially the old behavior of
+ ACE_Timer_Queue, i.e., it uses an implementation of a linked
+ list of ACE_Timer_Nodes. ACE_Timer_Heap, on the other hand,
+ uses a heap-based callout queue, which is more appropriate for
+ certain real-time applications.
+
+ * ace/Timer_Queue: Revised the ACE_Timer_Queue implementation so
+ that it's now an abstract base class with most of the
+ implementation details pushed into the ACE_Timer_List and
+ ACE_Timer_Heap subclasses.
+
+ * ace/Timer_Queue.h: Made all the ACE_Timer_Queue methods public
+ so that we can override them in a subclass (e.g., the new
+ ACE_Timer_Heap).
+
+ * examples/Logger/Acceptor-server/server_loggerd.cpp: Fixed this
+ example application so that it only uses a single Reactor (the
+ REACTOR::instance()) rather than two Reactors. Thanks to Sandro
+ Doro <alex@aureus.sublink.org> for reporting this.
+
+ * netsvcs/lib/Logging_Strategy.cpp: Fixed the #include of
+ fstream.h and iostream.h to use the '<' '>' notation rather than
+ the '"' and '"' notation. This avoids problems with running
+ "make depend". Thanks to Rino Simioni <sir@necsy.it> for
+ reporting this fix.
Sun Jan 12 18:20:49 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/ACE.cpp (round_to_pagesize): fixed typo in reference to
- ACE::pagesize_.
+ * ace/ACE.cpp (round_to_pagesize): fixed typo in reference to
+ ACE::pagesize_.
- * ace/ACE.cpp: initialize ACE::pagesize_ to 0.
+ * ace/ACE.cpp: initialize ACE::pagesize_ to 0.
- * ace/config-irix*.h and config-win*.h: removed ACE_PAGE_SIZE
- definition because these platforms no longer use it.
+ * ace/config-irix*.h and config-win*.h: removed ACE_PAGE_SIZE
+ definition because these platforms no longer use it.
- * tests/UNIX*.conf and Win32server.conf: replaced net_svcs
- with netsvcs.
+ * tests/UNIX*.conf and Win32server.conf: replaced net_svcs
+ with netsvcs.
Sat Jan 11 15:11:28 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/OS.i (thr_setprio): The POSIX implementation of
- ACE_OS:thr_setprio did not set the priority. It calls:
+ * ace/OS.i (thr_setprio): The POSIX implementation of
+ ACE_OS:thr_setprio did not set the priority. It calls:
- pthread_setschedparam( thr_id, &policy, &param )
+ pthread_setschedparam( thr_id, &policy, &param )
and then does
@@ -8770,434 +8770,434 @@ Sat Jan 11 15:11:28 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
instead of
- param.sched_priority = prio;
-
- This is now fixed. Thanks to John Bossom <John.Bossom@Cognos.COM>
- for reporting this.
-
- * ace/config-irix*.h: Modified all the IRIX config files to
- use the new ACE_HAS_GETPAGESIZE feature since this is necessary
- to differentiate between IRIX and IRIX64.
- Thanks to Fred LaBar <flabar@fallschurch.esys.com> for
- reporting this.
-
- * ace/ACE.cpp: Modified the round_to_pagesize() so that if
- a config.h file enables ACE_HAS_GETPAGESIZE then we use
- that function in preference to the value in config.h.
- Thanks to Fred LaBar <flabar@fallschurch.esys.com> for
- suggesting this.
-
- * ace/ACE.cpp: Modified the round_to_pagesize() so that on
- platforms that allow the page size to be obtained dynamically
- we'll get that rather than replying on what it set in the
- config.h file. We'll cache this value in a static variable
- to speedup searches. Thanks to James Mansion for suggesting
- this.
-
- * apps/Gateway/Gateway: Finished adding support for thread-safe
- reference counting to the uses of ACE_Message_Block.
-
- * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: Replaced
- the use of ACE_MT_SYNCH with ACE_SYNCH so that this will compile
- correctly on non-MT platforms.
+ param.sched_priority = prio;
+
+ This is now fixed. Thanks to John Bossom <John.Bossom@Cognos.COM>
+ for reporting this.
+
+ * ace/config-irix*.h: Modified all the IRIX config files to
+ use the new ACE_HAS_GETPAGESIZE feature since this is necessary
+ to differentiate between IRIX and IRIX64.
+ Thanks to Fred LaBar <flabar@fallschurch.esys.com> for
+ reporting this.
+
+ * ace/ACE.cpp: Modified the round_to_pagesize() so that if
+ a config.h file enables ACE_HAS_GETPAGESIZE then we use
+ that function in preference to the value in config.h.
+ Thanks to Fred LaBar <flabar@fallschurch.esys.com> for
+ suggesting this.
+
+ * ace/ACE.cpp: Modified the round_to_pagesize() so that on
+ platforms that allow the page size to be obtained dynamically
+ we'll get that rather than replying on what it set in the
+ config.h file. We'll cache this value in a static variable
+ to speedup searches. Thanks to James Mansion for suggesting
+ this.
+
+ * apps/Gateway/Gateway: Finished adding support for thread-safe
+ reference counting to the uses of ACE_Message_Block.
+
+ * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: Replaced
+ the use of ACE_MT_SYNCH with ACE_SYNCH so that this will compile
+ correctly on non-MT platforms.
Fri Jan 10 12:38:42 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * Added a COPYING file that explicitly states the copyright status
- of ACE.
+ * Added a COPYING file that explicitly states the copyright status
+ of ACE.
- * ace/config-win32-msvc4.x.h and ace/config-winnt-4.0-msvc4.x.h:
- By default, we'll revert to *not* enabling
- ACE_HAS_TEMPLATE_TYPEDEFS for MSVC++ 4.2, even though this is
- well-support by the compiler since it breaks some application
- code that expects to use 3 template parameters for
- ACE_Svc_Handler<>. The "fix" is to use the ACE_SOCK_STREAM
- macros (rather than using the "ACE_SOCK_Stream, ACE_INET_Addr"
- tuple) in order to achieve portability in either case. Thanks
- to Karlheinz for pointing out the need for backwards
- compatibility.
+ * ace/config-win32-msvc4.x.h and ace/config-winnt-4.0-msvc4.x.h:
+ By default, we'll revert to *not* enabling
+ ACE_HAS_TEMPLATE_TYPEDEFS for MSVC++ 4.2, even though this is
+ well-support by the compiler since it breaks some application
+ code that expects to use 3 template parameters for
+ ACE_Svc_Handler<>. The "fix" is to use the ACE_SOCK_STREAM
+ macros (rather than using the "ACE_SOCK_Stream, ACE_INET_Addr"
+ tuple) in order to achieve portability in either case. Thanks
+ to Karlheinz for pointing out the need for backwards
+ compatibility.
Wed Jan 8 01:00:05 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * tests/Message_Block_Test.cpp: Enhanced the torture test of the
- ACE_Message_Block so that it stresses the reference counting
- implementation in a multi-threaded environment.
+ * tests/Message_Block_Test.cpp: Enhanced the torture test of the
+ ACE_Message_Block so that it stresses the reference counting
+ implementation in a multi-threaded environment.
Wed Jan 08 10:26:45 1997 David L. Levine <levine@cs.wustl.edu>
- * ace/Message_Block.cpp (~ACE_Data_Block): assigned 0 to
- allocator_strategry_ after deleting it; fixed template
- specializations (for g++) by using macros instead of class names;
- commented out template specializations because Service_Record.cpp
- already has them, and they should only appear once in the library
- in order to avoid link clashes
+ * ace/Message_Block.cpp (~ACE_Data_Block): assigned 0 to
+ allocator_strategry_ after deleting it; fixed template
+ specializations (for g++) by using macros instead of class names;
+ commented out template specializations because Service_Record.cpp
+ already has them, and they should only appear once in the library
+ in order to avoid link clashes
- * ace/Service_Object.cpp (ACE_Service_Object): reordered
- initializations in constructor
+ * ace/Service_Object.cpp (ACE_Service_Object): reordered
+ initializations in constructor
- * ace/Service_Record.cpp (ACE_Service_Record): reordered
- initializations in constructor
+ * ace/Service_Record.cpp (ACE_Service_Record): reordered
+ initializations in constructor
- * ace/config-linux-lxpthreads.h: added
- ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS, thanks to
- James CE Johnson <jcej@lads.com> for tracking down this
- problem and testing the fix.
+ * ace/config-linux-lxpthreads.h: added
+ ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS, thanks to
+ James CE Johnson <jcej@lads.com> for tracking down this
+ problem and testing the fix.
Tue Jan 7 13:03:25 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Message_Block: Continued to improve the
- ACE_Message_Block/ACE_Data_Block implementation.
+ * ace/Message_Block: Continued to improve the
+ ACE_Message_Block/ACE_Data_Block implementation.
- * ace/Message_Block: Added a new constructor to ACE_Message_Block
- that takes an ACE_Data_Block * and "owns" it. Thanks to Tim for
- this idea.
+ * ace/Message_Block: Added a new constructor to ACE_Message_Block
+ that takes an ACE_Data_Block * and "owns" it. Thanks to Tim for
+ this idea.
- * ace/Log_Msg.cpp: Now that we've prevented signal handlers from
- occurring within critical sections of ACE_Log_Msg::log() we
- don't need to use the ACE_Recursive_Thread_Mutex anymore.
- Instead, we just need ACE_Thread_Mutex.
+ * ace/Log_Msg.cpp: Now that we've prevented signal handlers from
+ occurring within critical sections of ACE_Log_Msg::log() we
+ don't need to use the ACE_Recursive_Thread_Mutex anymore.
+ Instead, we just need ACE_Thread_Mutex.
- * ace/Log_Msg.cpp (log): Added an ACE_Sig_Guard to the block in
- ACE_Log_Msg::log() that acquires the mutex that serializes
- output. This prevents nasty problems with recursive to
- ACE_Log_Msg::log() from within signal handlers.
+ * ace/Log_Msg.cpp (log): Added an ACE_Sig_Guard to the block in
+ ACE_Log_Msg::log() that acquires the mutex that serializes
+ output. This prevents nasty problems with recursive to
+ ACE_Log_Msg::log() from within signal handlers.
- * ace/Service_Config.cpp (end_reactor_event_loop): Added a timeout
- of ACE_Time_Value::zero to the ACE_Reactor::notify() method when
- called in the ACE_Service_Config::end_reactor_event_loop().
- This prevents the Reactor from blocking indefinitely if there's
- no longer a thread to receive from the notification pipe.
+ * ace/Service_Config.cpp (end_reactor_event_loop): Added a timeout
+ of ACE_Time_Value::zero to the ACE_Reactor::notify() method when
+ called in the ACE_Service_Config::end_reactor_event_loop().
+ This prevents the Reactor from blocking indefinitely if there's
+ no longer a thread to receive from the notification pipe.
- * netsvcs/clients/Naming/Dump_Restore: Removed the vestigal
- nametest.cpp and nametest.h files. I'm not sure why they were
- still there, but they shouldn't have been!
-
- * ace/Synch.i (remove): this->owner_ should be set to -1 before
- calling this->release(). Thanks to Per Andersson
- <Per.Andersson@hfera.ericsson.se> for suggesting this.
-
- * ace/Thread_Manager.cpp (exit): Added a flag called "do_thr_exit"
- to the ACE_Thread_Control::exit() method. This controls whether
- we call ACE_OS::thr_exit() after removing the thread from the
- Thread Manager's internal table. This is necessary to work
- around pthread bugs on certain platforms (e.g., AIX and Linux).
-
- * ace/Synch.h: Removed the
- ACE_Recursive_Thread_Mutex::set_nesting() method since this
- isn't being used and is potentially dangerous. Thanks to Per
- Andersson <Per.Andersson@hfera.ericsson.se> for suggesting this.
-
- * ace/XtReactor: Updated the XtReactor so that it uses the next
- internal Reactor implementation. Thanks to Mark Rabotnikov
- <mark@usp.elscintcorp.co.il> for reporting this.
-
- * ace/Task.i: Updated the grp_id(int) method to cache the group id
- in the task and then set it in the Thread_Manager, if there is
- one. Thanks to Hamutal Yanay <Hamutal_Yanay@mail.icomverse.com>
- for suggesting this.
-
- * ace/Log_Record.h: Updated the ACE_Log_Record class to use the
- new ACE_MAXLOGMSGLEN macro.
-
- * ace/OS.h: Added a new #define called ACE_MAXLOGMSGLEN. By
- default this is 4k. However, you can reset it in the config.h
- file if you'd like to increase or decrease the size. Thanks to
- Anthony McConnell for suggesting this.
-
- * examples/Threads/tss[12].cpp: Tidied up the tss1.cpp and
- tss2.cpp examples and improved the comments. Thanks to Luca for
- suggesting this.
-
- * ace/Service_Object.cpp (fini): Added the "virtual" keyword to
- the new destructor of ACE_Service_Type. Thanks to David for
- reporting this.
-
- * ace/Message_Block.i: Rearranged the order of the ACE_Data_Block
- and ACE_Message_Block locking_strategy() methods so that they'd
- be defined as inline before being used. Thanks to David for
- reporting this.
+ * netsvcs/clients/Naming/Dump_Restore: Removed the vestigal
+ nametest.cpp and nametest.h files. I'm not sure why they were
+ still there, but they shouldn't have been!
+
+ * ace/Synch.i (remove): this->owner_ should be set to -1 before
+ calling this->release(). Thanks to Per Andersson
+ <Per.Andersson@hfera.ericsson.se> for suggesting this.
+
+ * ace/Thread_Manager.cpp (exit): Added a flag called "do_thr_exit"
+ to the ACE_Thread_Control::exit() method. This controls whether
+ we call ACE_OS::thr_exit() after removing the thread from the
+ Thread Manager's internal table. This is necessary to work
+ around pthread bugs on certain platforms (e.g., AIX and Linux).
+
+ * ace/Synch.h: Removed the
+ ACE_Recursive_Thread_Mutex::set_nesting() method since this
+ isn't being used and is potentially dangerous. Thanks to Per
+ Andersson <Per.Andersson@hfera.ericsson.se> for suggesting this.
+
+ * ace/XtReactor: Updated the XtReactor so that it uses the next
+ internal Reactor implementation. Thanks to Mark Rabotnikov
+ <mark@usp.elscintcorp.co.il> for reporting this.
+
+ * ace/Task.i: Updated the grp_id(int) method to cache the group id
+ in the task and then set it in the Thread_Manager, if there is
+ one. Thanks to Hamutal Yanay <Hamutal_Yanay@mail.icomverse.com>
+ for suggesting this.
+
+ * ace/Log_Record.h: Updated the ACE_Log_Record class to use the
+ new ACE_MAXLOGMSGLEN macro.
+
+ * ace/OS.h: Added a new #define called ACE_MAXLOGMSGLEN. By
+ default this is 4k. However, you can reset it in the config.h
+ file if you'd like to increase or decrease the size. Thanks to
+ Anthony McConnell for suggesting this.
+
+ * examples/Threads/tss[12].cpp: Tidied up the tss1.cpp and
+ tss2.cpp examples and improved the comments. Thanks to Luca for
+ suggesting this.
+
+ * ace/Service_Object.cpp (fini): Added the "virtual" keyword to
+ the new destructor of ACE_Service_Type. Thanks to David for
+ reporting this.
+
+ * ace/Message_Block.i: Rearranged the order of the ACE_Data_Block
+ and ACE_Message_Block locking_strategy() methods so that they'd
+ be defined as inline before being used. Thanks to David for
+ reporting this.
Mon Jan 6 16:46:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Service_Manager.cpp (fini): Only try to remove the
- ACE_Service_Manager from the Reactor if it's actually been
- registered in the first place (i.e., if it's get_handle() method
- does not return ACE_INVALID_HANDLE).
+ * ace/Service_Manager.cpp (fini): Only try to remove the
+ ACE_Service_Manager from the Reactor if it's actually been
+ registered in the first place (i.e., if it's get_handle() method
+ does not return ACE_INVALID_HANDLE).
- * netsvcs/servers/svc.conf: Changed the name of the net services
- .so file from libnet_svcs to netsvcs so that it will work
- correctly with our new "cross-platform" svc.conf ACE::ldfind()
- strategy. Thanks to Marius Kjeldahl <marius@funcom.com> for
- reporting this.
+ * netsvcs/servers/svc.conf: Changed the name of the net services
+ .so file from libnet_svcs to netsvcs so that it will work
+ correctly with our new "cross-platform" svc.conf ACE::ldfind()
+ strategy. Thanks to Marius Kjeldahl <marius@funcom.com> for
+ reporting this.
- * ace/Reactor.cpp (find): Added a strategic break and a check for
- handle_in_range(). Thanks to Tim for this help!
+ * ace/Reactor.cpp (find): Added a strategic break and a check for
+ handle_in_range(). Thanks to Tim for this help!
- * netsvcs/clients/Naming/Client/svc.conf: Removed the "lib" part
- from the executable shared object file names in the svc.conf
- file so that it will work with the new "cross-platform" svc.conf
- ACE::ldfind() strategy. Thanks to Marius Kjeldahl
- <marius@funcom.com> for reporting this.
+ * netsvcs/clients/Naming/Client/svc.conf: Removed the "lib" part
+ from the executable shared object file names in the svc.conf
+ file so that it will work with the new "cross-platform" svc.conf
+ ACE::ldfind() strategy. Thanks to Marius Kjeldahl
+ <marius@funcom.com> for reporting this.
- * ace/Service_Record.cpp (fini): Added an extra assignment to a
- temporary const void *obj to avoid problems with MSVC++ and it's
- cast mechanism.
+ * ace/Service_Record.cpp (fini): Added an extra assignment to a
+ temporary const void *obj to avoid problems with MSVC++ and it's
+ cast mechanism.
- * ace/ReactorEx.h: Added a default parameter to
- ACE_ReactorEx::notify(). Thanks to Tim for noticing this.
+ * ace/ReactorEx.h: Added a default parameter to
+ ACE_ReactorEx::notify(). Thanks to Tim for noticing this.
Sun Jan 5 10:48:23 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * tests: Added a new test for ACE_Message_Block, which is called
- Message_Block_Test.cpp (no surprise there ;-)). This test
- exercises the reference counting mechanisms.
+ * tests: Added a new test for ACE_Message_Block, which is called
+ Message_Block_Test.cpp (no surprise there ;-)). This test
+ exercises the reference counting mechanisms.
- * ace/Message_Block.h: Made the destructors for ACE_Message_Block
- and ACE_Data_Block virtual, so that these classes can be
- subclassed and ACE_Message_Blocks can delete these
- subclasses (either via release() or delete). Thanks to Tilo
- Christ for suggesting this.
+ * ace/Message_Block.h: Made the destructors for ACE_Message_Block
+ and ACE_Data_Block virtual, so that these classes can be
+ subclassed and ACE_Message_Blocks can delete these
+ subclasses (either via release() or delete). Thanks to Tilo
+ Christ for suggesting this.
- * ace/Message_Block.cpp: Modified the implementation
- of ACE_Message_Block/ACE_Data_Block so that we always create
- an allocator_strategy_. By default, this strategy will be
- ACE_Allocator_Adapter <ACE_Malloc <ACE_Local_Memory_Pool, ACE_Null_Mutex> >;
- This greatly simplifies the code.
+ * ace/Message_Block.cpp: Modified the implementation
+ of ACE_Message_Block/ACE_Data_Block so that we always create
+ an allocator_strategy_. By default, this strategy will be
+ ACE_Allocator_Adapter <ACE_Malloc <ACE_Local_Memory_Pool, ACE_Null_Mutex> >;
+ This greatly simplifies the code.
- * ace/Message_Block.h: It's now possible to assign a
- Message_Block's priority when you create it.
+ * ace/Message_Block.h: It's now possible to assign a
+ Message_Block's priority when you create it.
- * ace/Reactor: Sped things up some more by merging the Reactor's
- any_ready() and fill_in_ready() methods together. This reduces
- redundant computations.
+ * ace/Reactor: Sped things up some more by merging the Reactor's
+ any_ready() and fill_in_ready() methods together. This reduces
+ redundant computations.
- * ace/Reactor: Changed the name of ACE_Reactor::detach() to
- ACE_Reactor::remove_handler_i() and changed the name of
- ACE_Reactor::attach() to ACE_Reactor::register_handler_i().
- This is more consistent with the other naming schemes.
+ * ace/Reactor: Changed the name of ACE_Reactor::detach() to
+ ACE_Reactor::remove_handler_i() and changed the name of
+ ACE_Reactor::attach() to ACE_Reactor::register_handler_i().
+ This is more consistent with the other naming schemes.
- * ace/Reactor.cpp: Reworked the implementation of the Handler
- Repository's unbind() method in order to simplfy the logic.
- Also merged in all the Reactor's detach() functionality into the
- unbind() method in order to localize all the handler removal
- processing.
+ * ace/Reactor.cpp: Reworked the implementation of the Handler
+ Repository's unbind() method in order to simplfy the logic.
+ Also merged in all the Reactor's detach() functionality into the
+ unbind() method in order to localize all the handler removal
+ processing.
- * ace/Reactor[Ex].cpp: Added more descriptive errno entries for
- failed operations in the handler repository.
+ * ace/Reactor[Ex].cpp: Added more descriptive errno entries for
+ failed operations in the handler repository.
- * ace/Reactor.cpp: Modified the implementation of the Handler
- Repository's bind() method so that it reports an error if you
- try to register an Event_Handler for an invalid HANDLE.
+ * ace/Reactor.cpp: Modified the implementation of the Handler
+ Repository's bind() method so that it reports an error if you
+ try to register an Event_Handler for an invalid HANDLE.
- * ace/Reactor.cpp: Reimplemented the internals of the Reactor to
- prepare for the upcoming merge of the Reactor and ReactorEx to
- use a single code base.
+ * ace/Reactor.cpp: Reimplemented the internals of the Reactor to
+ prepare for the upcoming merge of the Reactor and ReactorEx to
+ use a single code base.
- * ace/Timer_Queue.cpp: Modified the behavior of the expire()
- methods so that they return the number of ACE_Event_Handlers
- whose handle_timeout() method was called.
+ * ace/Timer_Queue.cpp: Modified the behavior of the expire()
+ methods so that they return the number of ACE_Event_Handlers
+ whose handle_timeout() method was called.
Sat Jan 4 11:47:05 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Reactor.h: Removed the #ifdefs for ACE_HAS_POLL. This will
- be recast as a strategy in subsequent implementations.
+ * ace/Reactor.h: Removed the #ifdefs for ACE_HAS_POLL. This will
+ be recast as a strategy in subsequent implementations.
- * ace/Reactor.cpp: Added a new call,
- ACE_Handler_Repository::handle_in_range(), which checks to make
- sure that the HANDLE is within the range of 0 .. max_handlep1_.
- This factors out some redundant code.
+ * ace/Reactor.cpp: Added a new call,
+ ACE_Handler_Repository::handle_in_range(), which checks to make
+ sure that the HANDLE is within the range of 0 .. max_handlep1_.
+ This factors out some redundant code.
- * ace/Reactor.cpp: Sped up the performance of the Reactor by
- removing redundant calls to
- ACE_Handler_Repository::invalid_handle() and
- ACE_Handler_Repository::find().
+ * ace/Reactor.cpp: Sped up the performance of the Reactor by
+ removing redundant calls to
+ ACE_Handler_Repository::invalid_handle() and
+ ACE_Handler_Repository::find().
- * tests/Reactors_Test.cpp: Added a test for
- the new Reactor::notify() method with timeouts.
+ * tests/Reactors_Test.cpp: Added a test for
+ the new Reactor::notify() method with timeouts.
- * examples/Reactor/Misc/notification.cpp (svc): Added a test for
- the new Reactor::notify() method with timeouts.
+ * examples/Reactor/Misc/notification.cpp (svc): Added a test for
+ the new Reactor::notify() method with timeouts.
- * ace/Reactor[Ex]: Modified the Reactor and ReactorEx so that they
- use timed send() operations for their notify() methods. This
- makes it possible for users to bound the amount of time they're
- willing to wait to try and notify the Reactor. This is mostly
- useful to avoid infinite blocking if there is congestion in the
- Reactor's notification mechanism.
+ * ace/Reactor[Ex]: Modified the Reactor and ReactorEx so that they
+ use timed send() operations for their notify() methods. This
+ makes it possible for users to bound the amount of time they're
+ willing to wait to try and notify the Reactor. This is mostly
+ useful to avoid infinite blocking if there is congestion in the
+ Reactor's notification mechanism.
- * ace/ACE.cpp: Added a new timed send() method that uses the
- write() system call on UNIX and the socket send() call on Win32.
- This new method is used in the new ACE_Reactor::notify() method,
- which now supported timed notifications.
+ * ace/ACE.cpp: Added a new timed send() method that uses the
+ write() system call on UNIX and the socket send() call on Win32.
+ This new method is used in the new ACE_Reactor::notify() method,
+ which now supported timed notifications.
- * ace/Reactor.cpp (ACE_Handler_Repository): To simplify the code
- and reduce unnecessary #ifdefs, I've merged the max_handlep1_
- and cur_size_ fields (which are now called max_handlep1_).
+ * ace/Reactor.cpp (ACE_Handler_Repository): To simplify the code
+ and reduce unnecessary #ifdefs, I've merged the max_handlep1_
+ and cur_size_ fields (which are now called max_handlep1_).
Fri Jan 3 10:47:15 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace: Replaced all uses of "delete mb" with mb->release ();
+ * ace: Replaced all uses of "delete mb" with mb->release ();
- * ace/Stream_Modules.cpp: Replaced the use of explicit bit
- twiddling with the ACE_BIT* macros.
+ * ace/Stream_Modules.cpp: Replaced the use of explicit bit
+ twiddling with the ACE_BIT* macros.
- * ace/Message_Block.cpp: Make sure that we use the
- allocator_strategy_ to create the memory for the reference count
- since this may need to go into shared memory if that's the
- memory pool where the Message_Block allocations are coming from.
+ * ace/Message_Block.cpp: Make sure that we use the
+ allocator_strategy_ to create the memory for the reference count
+ since this may need to go into shared memory if that's the
+ memory pool where the Message_Block allocations are coming from.
- * ace/OS.h: Added two new macros, ACE_ALLOCATOR_RETURN and
- ACE_ALLOCATOR, which are similar to ACE_NEW_RETURN and ACE_NEW,
- except that these
+ * ace/OS.h: Added two new macros, ACE_ALLOCATOR_RETURN and
+ ACE_ALLOCATOR, which are similar to ACE_NEW_RETURN and ACE_NEW,
+ except that these
- * ace/Message_Block.cpp (release): Make sure to "delete this"
- outside the scope of the locking_strategy_.
+ * ace/Message_Block.cpp (release): Make sure to "delete this"
+ outside the scope of the locking_strategy_.
- * ace/Service_Object.cpp: Added a destructor to ACE_Service_Type.
- Thanks to Per.Andersson@hfera.ericsson.se (Per Andersson) for
- suggesting this.
+ * ace/Service_Object.cpp: Added a destructor to ACE_Service_Type.
+ Thanks to Per.Andersson@hfera.ericsson.se (Per Andersson) for
+ suggesting this.
- * ace/Service_Object.i: Be smarter about how we reassign the name_
- pointer, i.e., delete the old one and make a copy. Thanks to
- Per.Andersson@hfera.ericsson.se (Per Andersson) for reporting
- this.
+ * ace/Service_Object.i: Be smarter about how we reassign the name_
+ pointer, i.e., delete the old one and make a copy. Thanks to
+ Per.Andersson@hfera.ericsson.se (Per Andersson) for reporting
+ this.
- * ace/Module.cpp (open): Rearranged the assignments to
- reader_q->mod_ and writer_q->mod_ so that we don't try to
- initialize through NULL pointers. Thanks to
- Per.Andersson@hfera.ericsson.se (Per Andersson) for reporting
- this.
+ * ace/Module.cpp (open): Rearranged the assignments to
+ reader_q->mod_ and writer_q->mod_ so that we don't try to
+ initialize through NULL pointers. Thanks to
+ Per.Andersson@hfera.ericsson.se (Per Andersson) for reporting
+ this.
- * ace/Service_Record.cpp (ACE_Service_Record): Initialized name_
- to NULL so that the following change works correctly now.
- Thanks to Per.Andersson@hfera.ericsson.se (Per Andersson) for
- reporting this.
+ * ace/Service_Record.cpp (ACE_Service_Record): Initialized name_
+ to NULL so that the following change works correctly now.
+ Thanks to Per.Andersson@hfera.ericsson.se (Per Andersson) for
+ reporting this.
- * ace/Service_Record.i (name): Make sure to delete [] (char *)
- this->name_ before allocating a new one. Thanks to
- Per.Andersson@hfera.ericsson.se (Per Andersson) for reporting
- this.
+ * ace/Service_Record.i (name): Make sure to delete [] (char *)
+ this->name_ before allocating a new one. Thanks to
+ Per.Andersson@hfera.ericsson.se (Per Andersson) for reporting
+ this.
- * ace/Message_Block: Reworked the reference counting implemention
- so that reference counts are shared correctly amongst their
- various owners. This requires making a deep copy the "header"
- portion, but a shallow copy of the "data."
+ * ace/Message_Block: Reworked the reference counting implemention
+ so that reference counts are shared correctly amongst their
+ various owners. This requires making a deep copy the "header"
+ portion, but a shallow copy of the "data."
- * ace/Message_Block.cpp (ACE_Message_Block): Updated all three
- ACE_Message_Block constructors so that they all call the init()
- method. This centralizes all the initialization logic in one
- place.
+ * ace/Message_Block.cpp (ACE_Message_Block): Updated all three
+ ACE_Message_Block constructors so that they all call the init()
+ method. This centralizes all the initialization logic in one
+ place.
Thu Jan 2 00:42:21 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Message_Block.cpp (ACE_Message_Block): Make sure to set the
- cont_ field to 0 after "releasing" it so that we don't
- mistakenly think it's still around later on. This problem arose
- in the ACE_Message_Queue::close() method, which was trying to
- count the number of bytes being freed.
+ * ace/Message_Block.cpp (ACE_Message_Block): Make sure to set the
+ cont_ field to 0 after "releasing" it so that we don't
+ mistakenly think it's still around later on. This problem arose
+ in the ACE_Message_Queue::close() method, which was trying to
+ count the number of bytes being freed.
- * ace/Message_Queue.cpp (close): Fixed a subtle bug where we
- weren't actually deleting messages from the
- ACE_Message_Queue::close() routine. This should work now...
+ * ace/Message_Queue.cpp (close): Fixed a subtle bug where we
+ weren't actually deleting messages from the
+ ACE_Message_Queue::close() routine. This should work now...
- * ace/Message_Queue.cpp (close): Replaced the use of "delete mb"
- with "mb->release()" since the Message_Blocks are now reference
- counted.
+ * ace/Message_Queue.cpp (close): Replaced the use of "delete mb"
+ with "mb->release()" since the Message_Blocks are now reference
+ counted.
- * ace/Message_Block: Enhanced the reference counting scheme so
- that you can increment and decrement the count by an arbitrary
- amount. This is particular useful when you know you'll be
- sending the same Message_Block to N consumers.
+ * ace/Message_Block: Enhanced the reference counting scheme so
+ that you can increment and decrement the count by an arbitrary
+ amount. This is particular useful when you know you'll be
+ sending the same Message_Block to N consumers.
- * ace/Singleton: The dump() must be used same as instance()
+ * ace/Singleton: The dump() must be used same as instance()
(without supplying an object) so it must be declarated *static*,
- i.e.,
+ i.e.,
- static void dump (void);
+ static void dump (void);
- Thanks to Sandro Doro <alex@aureus.sublink.org> for reporting
- this.
+ Thanks to Sandro Doro <alex@aureus.sublink.org> for reporting
+ this.
- * examples/ASX/Event_Server: Completely rewrote and retested the
- ACE Event Server example. The new code is *much* easier to
- understand, has many more comments, is more robust, and compiles
- much faster since I removed many of the templates.
+ * examples/ASX/Event_Server: Completely rewrote and retested the
+ ACE Event Server example. The new code is *much* easier to
+ understand, has many more comments, is more robust, and compiles
+ much faster since I removed many of the templates.
- * examples/ASX/Event_Server/Tranceiver/tranceiver.cpp: Fixed the
- tranceiver so that it shuts down correctly when the Event_Server
- exits.
+ * examples/ASX/Event_Server/Tranceiver/tranceiver.cpp: Fixed the
+ tranceiver so that it shuts down correctly when the Event_Server
+ exits.
- * examples/Connection/non_blocking/CPP-connector.cpp: Fixed a
- problem where we were trying to select() on ACE_STDIN on Win32.
- Naturally, this doesn't work, so we used the
- ACE::register_stdin_handler() to fix this. Thanks to
- Samuel_Bercovici <Samuel_Bercovici_at_EFT__AD2@mail.icomverse.com>
- for reporting this.
+ * examples/Connection/non_blocking/CPP-connector.cpp: Fixed a
+ problem where we were trying to select() on ACE_STDIN on Win32.
+ Naturally, this doesn't work, so we used the
+ ACE::register_stdin_handler() to fix this. Thanks to
+ Samuel_Bercovici <Samuel_Bercovici_at_EFT__AD2@mail.icomverse.com>
+ for reporting this.
- * examples/ASX/Event_Server/Event_Server/Options: Changed the
- Options class to be a Singleton...
+ * examples/ASX/Event_Server/Event_Server/Options: Changed the
+ Options class to be a Singleton...
- * ace/Task.h: Added "const" method qualifier to accessor methods
- like is_reader() and is_writer().
+ * ace/Task.h: Added "const" method qualifier to accessor methods
+ like is_reader() and is_writer().
Wed Jan 1 00:10:47 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Message_Block: Added a new static release() method that
- behaves like the non-static method release(), except that it
- checks if <mb> is 0. This is similar to CORBA::release(), which
- is useful if you want to eliminate lots of checks for NULL
- pointers before calling release() on them.
-
- * Updated all places in ACE where we use
- ACE_Event_Handler::READ_MASK when we should be using
- ACE_Event_Handler::ACCEPT_MASK.
-
- * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp:
- Changed the name of the acceptor class from Handle_Thr_Stream to
- Handle_Thr_Acceptor, which is more accurate.
-
- * ace/Reactor: Since we've now got an
- ACE_Event_Handler::ACCEPT_MASK (intended primarily to accept
- connections asynchronously using Win32 overlapped I/O) we can
- now use this with the ACE_Reactor, as well. In particular, any
- time that we are registering a "passive-mode" socket acceptor we
- can now specify ACE_Event_Handler::ACCEPT_MASK. This is much
- more intuitive than using the READ_MASK (which never made any
- sense...). The ACE_Reactor now treats the ACCEPT_MASK as a
- READ_MASK internally, so you can still use READ_MASK if you'd
- like (i.e., this change doesn't break any existing code).
-
- * ace/Event_Handler: Changed "get_priority" and "set_priority" to
- simply "priority(void)" and "priority(int)" to be more
- consistent with other parts of ACE.
-
- * apps/Gateway/Gateway: Updated the Gateway so that the
- concurrency strategies can now be specified on the
- command-line (or in the svc.conf file), rather than being
- determined at compile-time. This is much more flexible.
- See the ./apps/Gateway/Gateway/README file for details.
-
- * apps/Gateway/Gateway: Verified that all the multi-threading
- strategies still work.
-
- * ace/Message_Block.cpp (ACE_Message_Block): Make sure that we
- "release" the continuation field, rather than delete it, since
- its reference count may be > 1.
-
- * ace/Log_Msg.cpp (log): Change the abort_prog logic a bit so that
- we always print a message to stderr if we're exiting,
- regardless... Thanks to David Levine for pointing this out.
-
- * apps/Gateway/Gateway: Moved all of the configuration file
- parsing logic *outside* of the Event_Channel into the Gateway
- class so that we wouldn't have unnecessary dependencies.
-
- * apps/Gateway/Gateway: Redesigned the Gateway so that the
- Proxy_Handlers (i.e., the Consumer_Proxy and Supplier_Proxy)
- most of their work to the Event_Channel. This "lightweight
- proxy" design is an improvement since it is now possible to
- emulate the COS Event Channel semantics within the Event_Channel
- "kernel."
-
- * Happy new year! Let's start a new ChangeLog to celebrate the
- new year.
+ * ace/Message_Block: Added a new static release() method that
+ behaves like the non-static method release(), except that it
+ checks if <mb> is 0. This is similar to CORBA::release(), which
+ is useful if you want to eliminate lots of checks for NULL
+ pointers before calling release() on them.
+
+ * Updated all places in ACE where we use
+ ACE_Event_Handler::READ_MASK when we should be using
+ ACE_Event_Handler::ACCEPT_MASK.
+
+ * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp:
+ Changed the name of the acceptor class from Handle_Thr_Stream to
+ Handle_Thr_Acceptor, which is more accurate.
+
+ * ace/Reactor: Since we've now got an
+ ACE_Event_Handler::ACCEPT_MASK (intended primarily to accept
+ connections asynchronously using Win32 overlapped I/O) we can
+ now use this with the ACE_Reactor, as well. In particular, any
+ time that we are registering a "passive-mode" socket acceptor we
+ can now specify ACE_Event_Handler::ACCEPT_MASK. This is much
+ more intuitive than using the READ_MASK (which never made any
+ sense...). The ACE_Reactor now treats the ACCEPT_MASK as a
+ READ_MASK internally, so you can still use READ_MASK if you'd
+ like (i.e., this change doesn't break any existing code).
+
+ * ace/Event_Handler: Changed "get_priority" and "set_priority" to
+ simply "priority(void)" and "priority(int)" to be more
+ consistent with other parts of ACE.
+
+ * apps/Gateway/Gateway: Updated the Gateway so that the
+ concurrency strategies can now be specified on the
+ command-line (or in the svc.conf file), rather than being
+ determined at compile-time. This is much more flexible.
+ See the ./apps/Gateway/Gateway/README file for details.
+
+ * apps/Gateway/Gateway: Verified that all the multi-threading
+ strategies still work.
+
+ * ace/Message_Block.cpp (ACE_Message_Block): Make sure that we
+ "release" the continuation field, rather than delete it, since
+ its reference count may be > 1.
+
+ * ace/Log_Msg.cpp (log): Change the abort_prog logic a bit so that
+ we always print a message to stderr if we're exiting,
+ regardless... Thanks to David Levine for pointing this out.
+
+ * apps/Gateway/Gateway: Moved all of the configuration file
+ parsing logic *outside* of the Event_Channel into the Gateway
+ class so that we wouldn't have unnecessary dependencies.
+
+ * apps/Gateway/Gateway: Redesigned the Gateway so that the
+ Proxy_Handlers (i.e., the Consumer_Proxy and Supplier_Proxy)
+ most of their work to the Event_Channel. This "lightweight
+ proxy" design is an improvement since it is now possible to
+ emulate the COS Event Channel semantics within the Event_Channel
+ "kernel."
+
+ * Happy new year! Let's start a new ChangeLog to celebrate the
+ new year.
diff --git a/ChangeLog-97b b/ChangeLog-97b
index cb3e925925f..20bc06aa401 100644
--- a/ChangeLog-97b
+++ b/ChangeLog-97b
@@ -22,119 +22,119 @@ Sun Nov 23 13:32:02 1997 David L. Levine <levine@cs.wustl.edu>
Sat Nov 22 19:16:35 1997 <irfan@TWOSTEP>
- * tests/Process_Strategy_Test.cpp:
+ * tests/Process_Strategy_Test.cpp:
- main: Removed signal handling code. It is unnecessary since we
- do not use kill() anymore.
+ main: Removed signal handling code. It is unnecessary since we
+ do not use kill() anymore.
- Process_Strategy: This subclass of ACE_Process_Strategy
- overwrites the process creation method to include connection
- counting.
+ Process_Strategy: This subclass of ACE_Process_Strategy
+ overwrites the process creation method to include connection
+ counting.
- connection_completed: Made sure that the Reactor is woken up
- after all the connections have completed.
+ connection_completed: Made sure that the Reactor is woken up
+ after all the connections have completed.
- * ace/Priority_Reactor.cpp (init_bucket): Removed extra code.
+ * ace/Priority_Reactor.cpp (init_bucket): Removed extra code.
- * ace/Acceptor.cpp (activate_svc_handler): open svc_handler only
- if result is 0. Also removed extra tracing code.
+ * ace/Acceptor.cpp (activate_svc_handler): open svc_handler only
+ if result is 0. Also removed extra tracing code.
- * ace/Handle_Set.i (reset): Purify is reporting a UMR
- (uninitialized memory copy) when copying a Handle_Set. This
- comes from the mask fd_set not being memset to 0 by FD_ZERO.
- This is therefore a harmless error.
+ * ace/Handle_Set.i (reset): Purify is reporting a UMR
+ (uninitialized memory copy) when copying a Handle_Set. This
+ comes from the mask fd_set not being memset to 0 by FD_ZERO.
+ This is therefore a harmless error.
- * tests/Priority_Reactor_Test.cpp (main): The ordering of
- auto_ptrs is very subtle.... "auto_ptr<ACE_Reactor> reactor"
- should come before "auto_ptr<ACE_Select_Reactor> impl", i.e.,
- the implementation should be destroyed *before* the forwarding
- class. This is apparent when the implementation class is
- removing registered event handlers that hold a pointer to the
- forwarding class.
+ * tests/Priority_Reactor_Test.cpp (main): The ordering of
+ auto_ptrs is very subtle.... "auto_ptr<ACE_Reactor> reactor"
+ should come before "auto_ptr<ACE_Select_Reactor> impl", i.e.,
+ the implementation should be destroyed *before* the forwarding
+ class. This is apparent when the implementation class is
+ removing registered event handlers that hold a pointer to the
+ forwarding class.
Sat Nov 22 16:04:07 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
- * ace/Message_Queue.cpp:
- Fixed some formating problems in the ACE_Message_Queue::dump
- method, thanks to Arturo Montes <mitosys@colomsat.net.co> for
- finding this one.
+ * ace/Message_Queue.cpp:
+ Fixed some formating problems in the ACE_Message_Queue::dump
+ method, thanks to Arturo Montes <mitosys@colomsat.net.co> for
+ finding this one.
Sat Nov 22 14:38:22 1997 Steve Huston <shuston@riverace.com>
- * ace/config-aix-4.2.x.h: Added ACE_TLI_TCP_DEVICE "/dev/xti/tcp".
- This fixes Riverace problem ID P32; AIX now joins HP-UX in
- supporting XTI/TLI, but not everything (problem P27).
+ * ace/config-aix-4.2.x.h: Added ACE_TLI_TCP_DEVICE "/dev/xti/tcp".
+ This fixes Riverace problem ID P32; AIX now joins HP-UX in
+ supporting XTI/TLI, but not everything (problem P27).
- * ace/UPIPE_Connector.h:
- * ace/TLI_Connector.h: Added meta-type information PEER_ADDR and
- PEER_STREAM. Fixes Riverace problem ID P37.
+ * ace/UPIPE_Connector.h:
+ * ace/TLI_Connector.h: Added meta-type information PEER_ADDR and
+ PEER_STREAM. Fixes Riverace problem ID P37.
- * apps/JAWS/server/HTTP_Server.cpp: Added 'const' to "char *prog".
- Fixes Riverace problem P36.
+ * apps/JAWS/server/HTTP_Server.cpp: Added 'const' to "char *prog".
+ Fixes Riverace problem P36.
- * examples/Connection/misc/test_upipe.cpp:
- * examples/Connection/non_blocking/CPP-connector.cpp:
- * examples/Threads/process_mutex.cpp:
- * examples/Threads/process_semaphore.cpp:
- Added 'const' to "char *" - can't initialize a char * with
- a const string. Fixes Riverace problem ID P38, P40.
+ * examples/Connection/misc/test_upipe.cpp:
+ * examples/Connection/non_blocking/CPP-connector.cpp:
+ * examples/Threads/process_mutex.cpp:
+ * examples/Threads/process_semaphore.cpp:
+ Added 'const' to "char *" - can't initialize a char * with
+ a const string. Fixes Riverace problem ID P38, P40.
- * examples/Threads/thread_specific.cpp, tss1.cpp: Moved the Errno
- class out to a new file, thread_specific.h. AIX xlC needs to have
- the class in a .h file for template generation. Fixes Riverace
- problem P42.
- * examples/Threads/Makefile: Make sure that, on AIX, the tempinc
- directory is cleared before building each new program.
+ * examples/Threads/thread_specific.cpp, tss1.cpp: Moved the Errno
+ class out to a new file, thread_specific.h. AIX xlC needs to have
+ the class in a .h file for template generation. Fixes Riverace
+ problem P42.
+ * examples/Threads/Makefile: Make sure that, on AIX, the tempinc
+ directory is cleared before building each new program.
- * performance-tests/Synch-Benchmarks/Makefile: Changed SHLIB to use
- $(SOEXT) rather than .so. Fixes Riverace problem ID P41.
+ * performance-tests/Synch-Benchmarks/Makefile: Changed SHLIB to use
+ $(SOEXT) rather than .so. Fixes Riverace problem ID P41.
- * tests/Thread_Pool_Test.cpp: Moved 'this->getq(mb)' out of an
- ACE_ASSERT. Thanks to Arturo Montes <mitosys@colomsat.net.co>
- for finding this.
+ * tests/Thread_Pool_Test.cpp: Moved 'this->getq(mb)' out of an
+ ACE_ASSERT. Thanks to Arturo Montes <mitosys@colomsat.net.co>
+ for finding this.
Sat Nov 22 05:44:10 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu>
- * tests/Process_Strategy_Test.cpp (main): Shuffled things around
- in fork() block. This is fun.
+ * tests/Process_Strategy_Test.cpp (main): Shuffled things around
+ in fork() block. This is fun.
- * ace/Strategies_T.cpp (activate_svc_handler): Added an
- ACE_UNUSED_ARG macro to muffle g++.
+ * ace/Strategies_T.cpp (activate_svc_handler): Added an
+ ACE_UNUSED_ARG macro to muffle g++.
- * tests/Process_Strategy_Test.cpp (handle_close): Added a return
- type specifier. Without it, g++ laments.
+ * tests/Process_Strategy_Test.cpp (handle_close): Added a return
+ type specifier. Without it, g++ laments.
- * ace/Acceptor.cpp (activate_svc_handler): Should be if (open (...) ==
- -1) then error, not if (open (...) != -1) then error.
+ * ace/Acceptor.cpp (activate_svc_handler): Should be if (open (...) ==
+ -1) then error, not if (open (...) != -1) then error.
- * ace/ACE.cpp (set_handle_limit): Removed a duplicated ACE_TRACE
- macro.
+ * ace/ACE.cpp (set_handle_limit): Removed a duplicated ACE_TRACE
+ macro.
Sat Nov 22 00:26:11 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu>
- * ace/Thread_Manager.cpp (close): Activated automatic wait on
- close functionality. I think I get it right this time.
+ * ace/Thread_Manager.cpp (close): Activated automatic wait on
+ close functionality. I think I get it right this time.
Fri Nov 21 19:59:37 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
- * ace/IPC_SAP.cpp:
- Added a couple of ACE_NOTREACHED protections. Thanks to Brian
- Mendel <bmendel@mdc.com> for reporting this.
+ * ace/IPC_SAP.cpp:
+ Added a couple of ACE_NOTREACHED protections. Thanks to Brian
+ Mendel <bmendel@mdc.com> for reporting this.
Fri Nov 21 17:12:48 1997 <nw1@CHA-CHA>
- * ace/Thread_Manager.cpp (close): Deactivated automatic wait on
- close for now. It doesn't seem to work on Solaris.
+ * ace/Thread_Manager.cpp (close): Deactivated automatic wait on
+ close for now. It doesn't seem to work on Solaris.
- * ace/Thread_Manager.{h,cpp} (wait): Added codes to remove detached
- threads. This function can be activated selectively. I added
- this so we can ignore detached threads when closing down the
- default thread manager.
+ * ace/Thread_Manager.{h,cpp} (wait): Added codes to remove detached
+ threads. This function can be activated selectively. I added
+ this so we can ignore detached threads when closing down the
+ default thread manager.
- (close): Activated the code to wait (join) all threads managed
- by the thread manager. It will ask wait function to remove all
- detached thread first (and so they won't be counted into threads
- we are waiting for.)
+ (close): Activated the code to wait (join) all threads managed
+ by the thread manager. It will ask wait function to remove all
+ detached thread first (and so they won't be counted into threads
+ we are waiting for.)
Fri Nov 21 13:22:25 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
@@ -142,139 +142,139 @@ Fri Nov 21 13:22:25 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
Fri Nov 21 12:18:28 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/Acceptor.cpp,Strategy_T.cpp: Removed the use of gotos. See
- Dijkstra '67 for motivation...
+ * ace/Acceptor.cpp,Strategy_T.cpp: Removed the use of gotos. See
+ Dijkstra '67 for motivation...
- * tests/Process_Strategy_Test.cpp (open): Make sure that we set
- the Reactor of the Svc_Handler to 0 if we're running the
- threading test.
+ * tests/Process_Strategy_Test.cpp (open): Make sure that we set
+ the Reactor of the Svc_Handler to 0 if we're running the
+ threading test.
- * tests/Reactor_Notify_Test.cpp: Added back THR_BOUND to
- make things work on Solaris.
+ * tests/Reactor_Notify_Test.cpp: Added back THR_BOUND to
+ make things work on Solaris.
Fri Nov 21 02:23:47 1997 <irfan@TWOSTEP>
- * tests/Process_Strategy_Test.cpp:
-
- - The event loop execution was based on a fragile timeout
- mechanism. This was changed to a more robust mechanism that
- counts the connections.
-
- - The unlinking of the file was moved from the server to the
- client. This is necessary since there maybe multiple server
- processes that cannot really coordinate when the file should
- be removed.
-
- * ace/Strategies_T.cpp (ACE_Concurrency_Strategy):
- ACE_Concurrency_Strategy and all three of the subclasses
- (ACE_Reactive_Strategy, ACE_Process_Strategy, and
- ACE_Thread_Strategy) were messed up. Only ACE_Reactive_Strategy
- was (trying) to set the correct blocking mode of the socket.
- Therefore, moved the socket mode setting code to the base class,
- ACE_Concurrency_Strategy, so that all the classes can share it.
-
- This did create one problem though. If the implementation of
- the reactor uses event associations (i.e., WFMO_Reactor), we
- cannot try to set the socket mode since the registration of the
- svc_handler caused an event association to be created for the
- socket and by default (thanks Microslush) the socket is set to
- non-blocking mode. If the user is excepting to have a socket in
- blocking mode, he is in for a surprise. Maybe we should return
- a failure if the user is expecting a socket in blocking mode.
- This is probably too harsh for now.
-
- * tests/Future_Test.cpp (open): Added THR_DETACHED since we don't
- wait for this thread.
-
- * tests/Reactor_Notify_Test.cpp (open): Changed THR_BOUND to
- THR_DETACHED since we don't wait for this thread.
-
- * tests/IOStream_Test.cpp (server): Make sure to close the socket
- in ACE_SOCK_Acceptor and ACE_SOCK_IOStream.
-
- * ace/WFMO_Reactor.cpp (open): When I changed open() last, I
- ignored the order of the registeration of notify_handler_ and
- wakeup_all_threads_handler_. Unfortunately, the order of the
- two registrations is very important since the optimization for
- owner thread takes advantage of this ordering. Therefore,
- revert the order of registertion to notify_handler_ followed by
- wakeup_all_threads_handler_.
-
- * tests/version_tests/run_all_tests.bat: Added new bat file to
- make the running of all the different configurations easier.
-
- * tests/version_tests/version_tests.{mak,mdp}: Added a mammoth
- testing scheme that is used to test all 8 configurations of the
- tests under Win32. These 8 configurations are:
-
- DLL Debug
- DLL Release
- DLL Unicode Debug
- DLL Unicode Release
- static Debug
- static Release
- static Unicode Debug
- static Unicode Release
-
- run_tests.bat from the test directory can then be used to run
- these various configurations. run_tests.bat was also extended
- to allow the user to purify the tests. Simply execute
- run_tests.bat with the purify command line option.
+ * tests/Process_Strategy_Test.cpp:
+
+ - The event loop execution was based on a fragile timeout
+ mechanism. This was changed to a more robust mechanism that
+ counts the connections.
+
+ - The unlinking of the file was moved from the server to the
+ client. This is necessary since there maybe multiple server
+ processes that cannot really coordinate when the file should
+ be removed.
+
+ * ace/Strategies_T.cpp (ACE_Concurrency_Strategy):
+ ACE_Concurrency_Strategy and all three of the subclasses
+ (ACE_Reactive_Strategy, ACE_Process_Strategy, and
+ ACE_Thread_Strategy) were messed up. Only ACE_Reactive_Strategy
+ was (trying) to set the correct blocking mode of the socket.
+ Therefore, moved the socket mode setting code to the base class,
+ ACE_Concurrency_Strategy, so that all the classes can share it.
+
+ This did create one problem though. If the implementation of
+ the reactor uses event associations (i.e., WFMO_Reactor), we
+ cannot try to set the socket mode since the registration of the
+ svc_handler caused an event association to be created for the
+ socket and by default (thanks Microslush) the socket is set to
+ non-blocking mode. If the user is excepting to have a socket in
+ blocking mode, he is in for a surprise. Maybe we should return
+ a failure if the user is expecting a socket in blocking mode.
+ This is probably too harsh for now.
+
+ * tests/Future_Test.cpp (open): Added THR_DETACHED since we don't
+ wait for this thread.
+
+ * tests/Reactor_Notify_Test.cpp (open): Changed THR_BOUND to
+ THR_DETACHED since we don't wait for this thread.
+
+ * tests/IOStream_Test.cpp (server): Make sure to close the socket
+ in ACE_SOCK_Acceptor and ACE_SOCK_IOStream.
+
+ * ace/WFMO_Reactor.cpp (open): When I changed open() last, I
+ ignored the order of the registeration of notify_handler_ and
+ wakeup_all_threads_handler_. Unfortunately, the order of the
+ two registrations is very important since the optimization for
+ owner thread takes advantage of this ordering. Therefore,
+ revert the order of registertion to notify_handler_ followed by
+ wakeup_all_threads_handler_.
+
+ * tests/version_tests/run_all_tests.bat: Added new bat file to
+ make the running of all the different configurations easier.
+
+ * tests/version_tests/version_tests.{mak,mdp}: Added a mammoth
+ testing scheme that is used to test all 8 configurations of the
+ tests under Win32. These 8 configurations are:
+
+ DLL Debug
+ DLL Release
+ DLL Unicode Debug
+ DLL Unicode Release
+ static Debug
+ static Release
+ static Unicode Debug
+ static Unicode Release
+
+ run_tests.bat from the test directory can then be used to run
+ these various configurations. run_tests.bat was also extended
+ to allow the user to purify the tests. Simply execute
+ run_tests.bat with the purify command line option.
Thu Nov 20 17:43:15 1997 <nw1@COYOTE>
- * ace/Thread_Manager.cpp (kill_thr): Changed to prevent thread
- manager from "discard" a thread when a certain operation is not
- supported by the operation system. Removed the mechanism that
- preserves errno during "thread removal." We no longer remove
- thread right after an error occured.
+ * ace/Thread_Manager.cpp (kill_thr): Changed to prevent thread
+ manager from "discard" a thread when a certain operation is not
+ supported by the operation system. Removed the mechanism that
+ preserves errno during "thread removal." We no longer remove
+ thread right after an error occured.
Thu Nov 20 17:53:35 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * examples/Shared_Malloc/test_multiple_mallocs.cpp (main): Make
- sure make sure that the semaphores created by the program are
- released as well as the storage files deleted. Thanks to Tom
- Arbuckle <arbuckle@uran.informatik.uni-bonn.de> for reporting
- this.
+ * examples/Shared_Malloc/test_multiple_mallocs.cpp (main): Make
+ sure make sure that the semaphores created by the program are
+ released as well as the storage files deleted. Thanks to Tom
+ Arbuckle <arbuckle@uran.informatik.uni-bonn.de> for reporting
+ this.
- * ace: Added a new version of config-osf1-3.2.h. Thanks to Dani
- Flexer <danif@ivory-sw.com> for updating this.
+ * ace: Added a new version of config-osf1-3.2.h. Thanks to Dani
+ Flexer <danif@ivory-sw.com> for updating this.
Thu Nov 20 18:22:24 1997 Steve Huston <shuston@riverace.com>
- * ace/README
- ace/TLI.h
- ace/TLI_Acceptor.h
- ace/TLI_Connector.h
- Changed from using hardcoded "/dev/tcp" as the XTI device name to
- a new config-related define, ACE_TLI_TCP_DEVICE. If the config
- doesn't set one, it defaults to "/dev/tcp". Thanks to Steve Coy
- <stevec@magna.com.au> for zeroing in on this problem in HP-UX.
+ * ace/README
+ ace/TLI.h
+ ace/TLI_Acceptor.h
+ ace/TLI_Connector.h
+ Changed from using hardcoded "/dev/tcp" as the XTI device name to
+ a new config-related define, ACE_TLI_TCP_DEVICE. If the config
+ doesn't set one, it defaults to "/dev/tcp". Thanks to Steve Coy
+ <stevec@magna.com.au> for zeroing in on this problem in HP-UX.
- ace/config-hpux-10.x.h: ACE_TLI_TCP_DEVICE is "/dev/inet_cots".
- Note that XTI won't work 100% well on HP still - this is Riverace
- problem ID P27.
+ ace/config-hpux-10.x.h: ACE_TLI_TCP_DEVICE is "/dev/inet_cots".
+ Note that XTI won't work 100% well on HP still - this is Riverace
+ problem ID P27.
- * netsvcs/lib/Server_Logging_Handler_T.h: Hardcoded to always use
- ACE_SOCK_Stream (and friends) rather than ACE_TLI_Stream and friends.
- XTI doesn't work real well on some platforms (particularly HP-UX
- and AIX). When they're fixed, this can be undone (Riverace problem
- ID P28).
+ * netsvcs/lib/Server_Logging_Handler_T.h: Hardcoded to always use
+ ACE_SOCK_Stream (and friends) rather than ACE_TLI_Stream and friends.
+ XTI doesn't work real well on some platforms (particularly HP-UX
+ and AIX). When they're fixed, this can be undone (Riverace problem
+ ID P28).
- * examples/IPC_SAP/TLI_SAP/CPP-client.cpp: Changed 'char *host' to
- 'const char *host' so it can be initialized from a const char string.
+ * examples/IPC_SAP/TLI_SAP/CPP-client.cpp: Changed 'char *host' to
+ 'const char *host' so it can be initialized from a const char string.
Thu Nov 20 14:19:57 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu>
- * tests/Priority_Reactor_Test.h:
- * tests/Priority_Reactor_Test.cpp:
- The test has a limited execution time now, and only reports a
- warning if runs out of time. This may be due to some failed
- connections, but it is hard to avoid that. On the other hand
- the default time should be large enough, in our machines the
- test only takes 14 seconds, so 60 seconds should be enough.
- NOTE: this problem reveals a problem *only* in the test itself
- not in ACE_Priority_Reactor.
+ * tests/Priority_Reactor_Test.h:
+ * tests/Priority_Reactor_Test.cpp:
+ The test has a limited execution time now, and only reports a
+ warning if runs out of time. This may be due to some failed
+ connections, but it is hard to avoid that. On the other hand
+ the default time should be large enough, in our machines the
+ test only takes 14 seconds, so 60 seconds should be enough.
+ NOTE: this problem reveals a problem *only* in the test itself
+ not in ACE_Priority_Reactor.
Thu Nov 20 11:29:51 1997 David L. Levine <levine@cs.wustl.edu>
@@ -288,27 +288,27 @@ Thu Nov 20 11:27:44 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
Thu Nov 20 10:45:08 1997 <irfan@TWOSTEP>
- * tests/MT_SOCK_Test.cpp: Uncommented socket close call.
+ * tests/MT_SOCK_Test.cpp: Uncommented socket close call.
- * ace/WFMO_Reactor.cpp (open): Open the notification handler
- *after* the timer queue has been created.
+ * ace/WFMO_Reactor.cpp (open): Open the notification handler
+ *after* the timer queue has been created.
- * ace/ACE.cpp (get_ip_interfaces): Changed rep() to fast_rep() to
- prevent memory leak.
+ * ace/ACE.cpp (get_ip_interfaces): Changed rep() to fast_rep() to
+ prevent memory leak.
- * ace/Reactor.cpp (ACE_Reactor): Fixed error of not creating any
- Reactors on UNIX.
+ * ace/Reactor.cpp (ACE_Reactor): Fixed error of not creating any
+ Reactors on UNIX.
Thu Nov 20 08:36:54 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu>
- * ace/Thread_Manager.{h,cpp}: Added a dummy argument to internal
- thread functions. Without them, MSVC wrongly optimizes codes
- and the stack were all clobbered when entering these functions.
+ * ace/Thread_Manager.{h,cpp}: Added a dummy argument to internal
+ thread functions. Without them, MSVC wrongly optimizes codes
+ and the stack were all clobbered when entering these functions.
Wed Nov 19 23:24:03 1997 <nw1@CHA-CHA>
- * ace/Reactor.cpp: Rearragned macros so we use Select_Reactor as
- default if we don't have Winsock2. Irfan did it, not me.
+ * ace/Reactor.cpp: Rearragned macros so we use Select_Reactor as
+ default if we don't have Winsock2. Irfan did it, not me.
Wed Nov 19 22:11:20 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
@@ -316,48 +316,48 @@ Wed Nov 19 22:11:20 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
Wed Nov 19 15:55:52 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu>
- * config-netbsd.h: NetBSD 1.3alpha has a better MSYNC. Commented out
- ACE_HAS_BROKEN_NETBSD_MSYNC
+ * config-netbsd.h: NetBSD 1.3alpha has a better MSYNC. Commented out
+ ACE_HAS_BROKEN_NETBSD_MSYNC
Wed Nov 19 14:26:36 1997 Nanbor Wang <nw1@lindy.cs.wustl.edu>
- * stdcpp.h, OS.h: Changed ACE_CONFIG_H to ACE_USER_CONFIG_H. It
- conflicts with the macro in various configuration files.
+ * stdcpp.h, OS.h: Changed ACE_CONFIG_H to ACE_USER_CONFIG_H. It
+ conflicts with the macro in various configuration files.
Wed Nov 19 15:55:45 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/config-sunos5.*.h: Replaced all uses of ACE_HAS_UNICODE with
- ACE_HAS_XPG4_MULTIBYTE_CHAR. At this point, I think only NT has
- the UNICODE macro now. Thanks to Steve Huston for validating
- this.
+ * ace/config-sunos5.*.h: Replaced all uses of ACE_HAS_UNICODE with
+ ACE_HAS_XPG4_MULTIBYTE_CHAR. At this point, I think only NT has
+ the UNICODE macro now. Thanks to Steve Huston for validating
+ this.
- * STL/bstring.h: Added a special-case for BorlandC++. However, I
- think this can be generalized for all compilers. Thanks to
- Valik Solorzano Barboza <valik@xs4all.nl> for reporting this.
+ * STL/bstring.h: Added a special-case for BorlandC++. However, I
+ think this can be generalized for all compilers. Thanks to
+ Valik Solorzano Barboza <valik@xs4all.nl> for reporting this.
- * ace/OS: Fixed strpbrk() to handle the const char * and char *
- cases of ANSI C++. Thanks to Valik Solorzano Barboza
- <valik@xs4all.nl> for reporting this.
+ * ace/OS: Fixed strpbrk() to handle the const char * and char *
+ cases of ANSI C++. Thanks to Valik Solorzano Barboza
+ <valik@xs4all.nl> for reporting this.
- * ace/OS.h: Added a special case for _MSC_VER since BC++ doesn't
- have wchar.h! Thanks to Valik Solorzano Barboza
- <valik@xs4all.nl> for reporting this.
+ * ace/OS.h: Added a special case for _MSC_VER since BC++ doesn't
+ have wchar.h! Thanks to Valik Solorzano Barboza
+ <valik@xs4all.nl> for reporting this.
Wed Nov 19 13:43:33 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
- * Merged the purify testing into run_tests. Just use
+ * Merged the purify testing into run_tests. Just use
- "run_tests purify ..."
+ "run_tests purify ..."
- to purify instead of running the tests. If you thought this
- batch file looked bad before....
+ to purify instead of running the tests. If you thought this
+ batch file looked bad before....
Wed Nov 19 12:17:50 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu>
- * ace/{OS,stdcpp}.h (ACE_CONFIG_H): Added this macro to protect
- config.h from getting included multiple times.
+ * ace/{OS,stdcpp}.h (ACE_CONFIG_H): Added this macro to protect
+ config.h from getting included multiple times.
- * ace/stdcpp.h: Reverted include OS.h back to config.h.
+ * ace/stdcpp.h: Reverted include OS.h back to config.h.
Wed Nov 19 09:20:05 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
@@ -365,21 +365,21 @@ Wed Nov 19 09:20:05 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
Wed Nov 19 07:54:44 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
- * ace/ACE.cpp (crc32): Reverted the COMPUTE macro back to its
- original value. For some reason, the version given by Valik was
- failing.
+ * ace/ACE.cpp (crc32): Reverted the COMPUTE macro back to its
+ original value. For some reason, the version given by Valik was
+ failing.
- * ace/SV_Semaphore_Complex.cpp (open): Make sure initialize the
- sem_number_ data member, though this isn't actually used for
- anything.
+ * ace/SV_Semaphore_Complex.cpp (open): Make sure initialize the
+ sem_number_ data member, though this isn't actually used for
+ anything.
- * ace/ACE.cpp: Added a #ifdef for __unix since this is the only
- case where we'll actually have the ifreq autoptr. Thanks to
- Valik Solorzano Barboza <valik@xs4all.nl> for reporting this.
+ * ace/ACE.cpp: Added a #ifdef for __unix since this is the only
+ case where we'll actually have the ifreq autoptr. Thanks to
+ Valik Solorzano Barboza <valik@xs4all.nl> for reporting this.
- * ace/Log_Record.cpp (print): Added a work around for a really
- lame bug with BORLANDC. Thanks to Valik Solorzano Barboza
- <valik@xs4all.nl> for reporting this.
+ * ace/Log_Record.cpp (print): Added a work around for a really
+ lame bug with BORLANDC. Thanks to Valik Solorzano Barboza
+ <valik@xs4all.nl> for reporting this.
Wed Nov 19 04:22:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
@@ -387,126 +387,126 @@ Wed Nov 19 04:22:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
Wed Nov 19 04:02:09 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * include/makeinclude/rules.local.GNU (show_uninit): It seems
- there was a missing '@' at the beginning of the line. Thanks to
- Hans Rohnert for reporting this.
+ * include/makeinclude/rules.local.GNU (show_uninit): It seems
+ there was a missing '@' at the beginning of the line. Thanks to
+ Hans Rohnert for reporting this.
- * tests/Process_Strategy_Test.cpp (handle_input): Fixed Irfan's
- code, which keeps breaking ACE ;-).
+ * tests/Process_Strategy_Test.cpp (handle_input): Fixed Irfan's
+ code, which keeps breaking ACE ;-).
Wed Nov 19 01:55:06 1997 <irfan@TWOSTEP>
- * ace/WFMO_Reactor.cpp (resume_handler_i, suspend_handler_i,
- unbind_i): Since things don't happen immediately in the
- WFMO_Reactor world, we must make sure that this request is not a
- duplicate. If so we must ignore it.
+ * ace/WFMO_Reactor.cpp (resume_handler_i, suspend_handler_i,
+ unbind_i): Since things don't happen immediately in the
+ WFMO_Reactor world, we must make sure that this request is not a
+ duplicate. If so we must ignore it.
- * ace/Asynch_Acceptor.cpp (open): Fixed addr type mismatch problem.
+ * ace/Asynch_Acceptor.cpp (open): Fixed addr type mismatch problem.
- * tests/UPIPE_SAP_Test.cpp (main): Make sure to close the socket
- in ACE_UPIPE_Acceptor.
+ * tests/UPIPE_SAP_Test.cpp (main): Make sure to close the socket
+ in ACE_UPIPE_Acceptor.
- * tests/SPIPE_Test.cpp (server): Make sure to close the socket in
- ACE_SPIPE_Acceptor.
+ * tests/SPIPE_Test.cpp (server): Make sure to close the socket in
+ ACE_SPIPE_Acceptor.
- * tests/SOCK_Test.cpp (spawn): Make sure to close the socket in
- ACE_SOCK_Acceptor.
+ * tests/SOCK_Test.cpp (spawn): Make sure to close the socket in
+ ACE_SOCK_Acceptor.
- * tests/Reactor_Notify_Test.cpp (Supplier_Task): Make sure to
- close the pipe down.
+ * tests/Reactor_Notify_Test.cpp (Supplier_Task): Make sure to
+ close the pipe down.
- * tests/Process_Strategy_Test.cpp (handle_input): Fixed ACE_DEBUG
- statement to pass the correct number of arguments.
+ * tests/Process_Strategy_Test.cpp (handle_input): Fixed ACE_DEBUG
+ statement to pass the correct number of arguments.
- * tests/MT_SOCK_Test.cpp (spawn): Make sure to close the socket in
- ACE_SOCK_Acceptor.
+ * tests/MT_SOCK_Test.cpp (spawn): Make sure to close the socket in
+ ACE_SOCK_Acceptor.
- * tests/Reactor_Exceptions_Test.cpp (main): Make sure to close the
- socket in ACE_SOCK_Dgram.
+ * tests/Reactor_Exceptions_Test.cpp (main): Make sure to close the
+ socket in ACE_SOCK_Dgram.
- * tests/run_purify_tests.bat: Added "mkdir purify_results".
+ * tests/run_purify_tests.bat: Added "mkdir purify_results".
- * tests/run_tests.bat, run_purify_tests.bat: Changed explicit name
- of bat file (e.g., run_tests, run_purify_tests) to %0. This
- will allow the bat file to be used from other directories.
+ * tests/run_tests.bat, run_purify_tests.bat: Changed explicit name
+ of bat file (e.g., run_tests, run_purify_tests) to %0. This
+ will allow the bat file to be used from other directories.
- * ace/config-win32-common.h: Removed extraneous define of
- ACE_HAS_TEMPLATE_INSTANTIATION.
+ * ace/config-win32-common.h: Removed extraneous define of
+ ACE_HAS_TEMPLATE_INSTANTIATION.
Wed Nov 19 00:37:22 1997 <nw1@COYOTE>
- * ace/stdcpp.h: Changed to use "ace/OS.h" instead of using
- "ace/config.h" directly to avoid redefinition of user defined
- macros.
+ * ace/stdcpp.h: Changed to use "ace/OS.h" instead of using
+ "ace/config.h" directly to avoid redefinition of user defined
+ macros.
- * ace/Log_Msg.cpp (close): Disable Win32 to delete
- ACE_Log_Msg::instance (). On Win32, this should be done by
- ACE_TSS_Cleanup.
+ * ace/Log_Msg.cpp (close): Disable Win32 to delete
+ ACE_Log_Msg::instance (). On Win32, this should be done by
+ ACE_TSS_Cleanup.
- * ace/OS.cpp (cleanup_tss): Enabled Win32 to call
- ACE_Log_Msg::close. This is required to properly release
- resourses held by ACE_Log_Msg_Manager.
+ * ace/OS.cpp (cleanup_tss): Enabled Win32 to call
+ ACE_Log_Msg::close. This is required to properly release
+ resourses held by ACE_Log_Msg_Manager.
Tue Nov 18 19:28:36 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
- * ace/Select_Reactor.cpp (unbind),
- ace/WFMO_Reactor.cpp (handle_signal): Fixed a large number of
- bugs with non-portable "scope of the for loop counter"...
- Thanks to Valik Solorzano Barboza <valik@xs4all.nl> for
- reporting this.
+ * ace/Select_Reactor.cpp (unbind),
+ ace/WFMO_Reactor.cpp (handle_signal): Fixed a large number of
+ bugs with non-portable "scope of the for loop counter"...
+ Thanks to Valik Solorzano Barboza <valik@xs4all.nl> for
+ reporting this.
- * ace/Thread_Manager: Added == and != operators for
- ACE_Thread_Descriptor to fix things with BORLANDC's template
- mechanism. Thanks to Valik Solorzano Barboza <valik@xs4all.nl>
- for reporting this.
+ * ace/Thread_Manager: Added == and != operators for
+ ACE_Thread_Descriptor to fix things with BORLANDC's template
+ mechanism. Thanks to Valik Solorzano Barboza <valik@xs4all.nl>
+ for reporting this.
- * ace/Select_Reactor: Added == and != operators for
- ACE_Event_Tuple to fix things with BORLANDC's template
- mechanism. Thanks to Valik Solorzano Barboza <valik@xs4all.nl>
- for reporting this.
+ * ace/Select_Reactor: Added == and != operators for
+ ACE_Event_Tuple to fix things with BORLANDC's template
+ mechanism. Thanks to Valik Solorzano Barboza <valik@xs4all.nl>
+ for reporting this.
- * ace/OS.i (tempnam): Fixed a typo -- WIN32 should be ACE_WIN32.
- Thanks to Valik Solorzano Barboza <valik@xs4all.nl> for
- reporting this.
+ * ace/OS.i (tempnam): Fixed a typo -- WIN32 should be ACE_WIN32.
+ Thanks to Valik Solorzano Barboza <valik@xs4all.nl> for
+ reporting this.
- * ace/OS.h: Reordered the ACE_SEH_* macros so they work correctly
- with BORLANDC. Thanks to Valik Solorzano Barboza
- <valik@xs4all.nl> for reporting this.
+ * ace/OS.h: Reordered the ACE_SEH_* macros so they work correctly
+ with BORLANDC. Thanks to Valik Solorzano Barboza
+ <valik@xs4all.nl> for reporting this.
- * ace/OS: Added operator== and operator!= for ACE_Cleanup_Info so
- that it will work correctly with BORLANDC's template mechanism.
- Thanks to Valik Solorzano Barboza <valik@xs4all.nl> for
- reporting this.
+ * ace/OS: Added operator== and operator!= for ACE_Cleanup_Info so
+ that it will work correctly with BORLANDC's template mechanism.
+ Thanks to Valik Solorzano Barboza <valik@xs4all.nl> for
+ reporting this.
- * ace/config-win32-common.h: Added
- ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION for BORLANDC. Thanks to
- Valik Solorzano Barboza <valik@xs4all.nl> for reporting this.
+ * ace/config-win32-common.h: Added
+ ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION for BORLANDC. Thanks to
+ Valik Solorzano Barboza <valik@xs4all.nl> for reporting this.
- * ace/Filecache.cpp: Fixed a bug with BORLANDC. Thanks to Valik
- Solorzano Barboza <valik@xs4all.nl> for reporting this.
+ * ace/Filecache.cpp: Fixed a bug with BORLANDC. Thanks to Valik
+ Solorzano Barboza <valik@xs4all.nl> for reporting this.
- * ace/ACE.cpp (crc32): Added some parens to the COMPUTE macro to
- make it easier to grok. Thanks to Valik Solorzano Barboza
- <valik@xs4all.nl> for reporting this.
+ * ace/ACE.cpp (crc32): Added some parens to the COMPUTE macro to
+ make it easier to grok. Thanks to Valik Solorzano Barboza
+ <valik@xs4all.nl> for reporting this.
Tue Nov 18 16:27:32 1997 <irfan@TWOSTEP>
- * ace/Log_Msg.cpp (log): Added a %D option to Log_Msg for
- "month/day/year hour:minute:second:microsecond". Thanks to John
- Mulhern <9107@MN3.LAWSON.lawson.com> for suggesting this.
+ * ace/Log_Msg.cpp (log): Added a %D option to Log_Msg for
+ "month/day/year hour:minute:second:microsecond". Thanks to John
+ Mulhern <9107@MN3.LAWSON.lawson.com> for suggesting this.
- * ace/config-win32-common.h: If __ACE_INLINE__ is defined to be 0,
- we will undefine it.
+ * ace/config-win32-common.h: If __ACE_INLINE__ is defined to be 0,
+ we will undefine it.
Tue Nov 18 15:59:37 1997 Steve Huston <shuston@riverace.com>
- * ace/IOStream.cpp: In underflow() and overflow(), use base() to
- check for buffer in use in every case - not just without
- ACE_HAS_STANDARD_CPP_LIBRARY==1. Thanks to James CE Johnson
- (jcej@lads.com) for this fix.
+ * ace/IOStream.cpp: In underflow() and overflow(), use base() to
+ check for buffer in use in every case - not just without
+ ACE_HAS_STANDARD_CPP_LIBRARY==1. Thanks to James CE Johnson
+ (jcej@lads.com) for this fix.
- * tests/MT_SOCK_Test.cpp: Allow the test to run even if not all of
- the proceses can be forked.
+ * tests/MT_SOCK_Test.cpp: Allow the test to run even if not all of
+ the proceses can be forked.
Tue Nov 18 15:27:37 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu>
@@ -973,7 +973,7 @@ Tue Nov 11 23:44:17 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
Tue Nov 11 21:26:36 1997 Douglas C. Schmidt <schmidt@lindy.cs.wustl.edu>
* platform_sunos5_sunc++.GNU, platform_irix6.x-sgic++.GNU, rules.local.GNU:
- Added some minor fixes.
+ Added some minor fixes.
Tue Nov 11 20:18:27 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
@@ -6195,13 +6195,13 @@ Wed Sep 3 21:38:18 1997 Carlos O'Ryan <coryan@polka.cs.wustl.edu>
* ace/Timer_Queue_T.h:
* ace/Timer_Wheel_T.cpp:
* ace/Timer_Wheel_T.h:
- In the word of its author: Modified the iterators kept in each
- of these classes so that they are constructed dynamically on the
- heap after the Queue has been properly initialized. Otherwise,
- the iterators try to iterate over a non-initialized queue, and
- fail miserably (usually dumping core).
- Once more thanks to Gonzalo Diethelm (gonzo@ing.puc.cl) for this
- changes.
+ In the word of its author: Modified the iterators kept in
+ each of these classes so that they are constructed
+ dynamically on the heap after the Queue has been properly
+ initialized. Otherwise, the iterators try to iterate over a
+ non-initialized queue, and fail miserably (usually dumping
+ core). Once more thanks to Gonzalo Diethelm
+ (gonzo@ing.puc.cl) for this changes.
* tests/UPIPE_SAP_Test.cpp:
Gonzalo improved the error message.
@@ -7822,8 +7822,8 @@ Tue Aug 12 15:03:42 1997 Steve Huston <shuston@riverace.com>
* ace/Timer_Hash_T.cpp, Timer_Wheel_T.cpp: Replaced references to
ACE_High_Res_Timer::gettimeofday with ACE_OS::gettimeofday.
- The High Res version is deprecated, and doesn't work correctly
- on HP-UX.
+ The High Res version is deprecated, and doesn't work
+ correctly on HP-UX.
Tue Aug 12 07:51:02 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu>
diff --git a/ChangeLog-99b b/ChangeLog-99b
index b11d2cdad08..1cbdfa81d81 100644
--- a/ChangeLog-99b
+++ b/ChangeLog-99b
@@ -1,3 +1,34 @@
+Sat Jul 3 12:05:46 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * tests/Future_Set_Test.cpp (main): We were casting a const ASYS_TCHAR *
+ to u_int, yikes!
+
+ * ace/RB_Tree.cpp: Cleaned up the code so it's conformant with the
+ ACE programming style, particularly for dynamic memory
+ allocation (which wasn't using ACE_NEW).
+
+ * ace/ACE.cpp (get_ip_interfaces): Cleaned up the code so it conforms
+ to the ACE programming guidelines.
+
+ * ace/Timer_Hash_T.cpp: Fixed a number mistakes where the return
+ value of new wasn't being checked.
+
+ * ace/Timer_Heap_T.cpp,
+ ace/Timer_Wheel_T.cpp: Removed the apparently extraneous parens
+ used in the ACE_NEW* macros in order to keep EGCS 2.95 happy.
+ Thanks to Jody Hagins and Arturo Montes
+ <mitosys@colomsat.com.co> for reporting this. BTW, if this
+ causes problems on any compilers please let me know.
+
+ * ace: Reformatted all the ACE_NEW* macros so they conform to
+ ACE programming style.
+
+ * ace/Priority_Reactor.cpp: Cleaned up the code to conform to
+ the ACE programming style.
+
+ * ace/OS.cpp (tss_base): Cleaned up a loop a bit so it conforms
+ to the ACE programming style.
+
Sat Jul 3 11:09:51 1999 Alexander Babu Arulanthu <alex@cs.wustl.edu>
* ace/WIN32_Asynch_IO.cpp
diff --git a/TAO/ChangeLog-99c b/TAO/ChangeLog-99c
index f9aece665f2..93f91c72082 100644
--- a/TAO/ChangeLog-99c
+++ b/TAO/ChangeLog-99c
@@ -1,3 +1,11 @@
+Sat Jul 3 13:05:00 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * performance-tests/Cubit/TAO/IDL_Cubit/server.cpp (main): Removed
+ an unreachable ACE_TRY_CHECK.
+
+ * orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp: Replaced the
+ TAO_THROW macros with ACE_THROW macros.
+
Sat Jul 3 09:30:00 1999 Chris Gill <cdgill@cs.wustl.edu>
* orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.h
diff --git a/TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp b/TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp
index aaa6ddd4387..55b51bd98fd 100644
--- a/TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp
+++ b/TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp
@@ -44,14 +44,13 @@ CC_Lock::lock (CORBA::Environment &)
ACE_DEBUG ((LM_DEBUG,
"CC_Lock::lock\n"));
lock_held_++;
-
- // if (semaphore_.acquire () == -1)
- // TAO_THROW (CORBA::INTERNAL ());
}
CORBA::Boolean
-CC_Lock::try_lock (CORBA::Environment &TAO_IN_ENV)
+CC_Lock::try_lock (CORBA::Environment &ACE_TRY_ENV)
{
+ ACE_UNUSED_ARG (ACE_TRY_ENV);
+
ACE_DEBUG ((LM_DEBUG,
"CC_Lock::try_lock. "));
@@ -74,7 +73,7 @@ CC_Lock::try_lock (CORBA::Environment &TAO_IN_ENV)
return 0;
}
else
- TAO_THROW_RETURN (CORBA::INTERNAL (),
+ ACE_THROW_RETURN (CORBA::INTERNAL (),
0);
}
ACE_DEBUG ((LM_DEBUG,
@@ -85,17 +84,17 @@ CC_Lock::try_lock (CORBA::Environment &TAO_IN_ENV)
}
void
-CC_Lock::unlock (CORBA::Environment &TAO_IN_ENV)
+CC_Lock::unlock (CORBA::Environment &ACE_TRY_ENV)
{
ACE_DEBUG ((LM_DEBUG,
"CC_Lock::unlock\n"));
if (lock_held_ == 0)
- TAO_THROW (CosConcurrencyControl::LockNotHeld());
+ ACE_THROW (CosConcurrencyControl::LockNotHeld ());
int success = 0; //semaphore_.release ();
if (success == -1)
- TAO_THROW (CORBA::INTERNAL ());
+ ACE_THROW (CORBA::INTERNAL ());
lock_held_--;
@@ -106,8 +105,9 @@ CC_Lock::unlock (CORBA::Environment &TAO_IN_ENV)
void
CC_Lock::change_mode (CosConcurrencyControl::lock_mode new_mode,
- CORBA::Environment &TAO_IN_ENV)
+ CORBA::Environment &ACE_TRY_ENV)
{
+ ACE_UNUSED_ARG (ACE_TRY_ENV);
ACE_DEBUG ((LM_DEBUG,
"CC_Lock::change_mode\n"));
@@ -116,7 +116,7 @@ CC_Lock::change_mode (CosConcurrencyControl::lock_mode new_mode,
// write lock
if (lock_held_ == 0)
- TAO_THROW (CosConcurrencyControl::LockNotHeld());
+ ACE_THROW (CosConcurrencyControl::LockNotHeld ());
this->mode_ = new_mode;
}
@@ -146,21 +146,24 @@ CC_Lock::GetMode (void)
}
int
-CC_Lock::GetLocksHeld(void)
+CC_Lock::GetLocksHeld (void)
{
return this->lock_held_;
}
void
-CC_Lock::DecLocksHeld(void)
+CC_Lock::DecLocksHeld (void)
{
this->lock_held_--;
}
void
-CC_Lock::dump(void)
+CC_Lock::dump (void)
{
- printf("mode_ %i, lock_held_: %i\n", mode_, lock_held_);
+ ACE_DEBUG ((LM_DEBUG,
+ "mode_ %i, lock_held_: %i\n",
+ mode_,
+ lock_held_));
}
// The check of compatibility is a hard coded table statically
@@ -187,23 +190,23 @@ CORBA::Boolean CC_Lock::compatible_[NUMBER_OF_LOCK_MODES][NUMBER_OF_LOCK_MODES]
// CC_LockModeterator
-CC_LockModeIterator::CC_LockModeIterator(void)
+CC_LockModeIterator::CC_LockModeIterator (void)
: current_ (CosConcurrencyControl::intention_read)
{
}
-CC_LockModeIterator::~CC_LockModeIterator(void)
+CC_LockModeIterator::~CC_LockModeIterator (void)
{
// Do nothing
}
-void CC_LockModeIterator::First(void)
+void CC_LockModeIterator::First (void)
{
current_ = CosConcurrencyControl::intention_read;
}
-void CC_LockModeIterator::Next(CORBA::Environment &TAO_IN_ENV)
+void CC_LockModeIterator::Next (CORBA::Environment &ACE_TRY_ENV)
{
- switch(current_)
+ switch (current_)
{
case CosConcurrencyControl::intention_read:
current_ = CosConcurrencyControl::read;
@@ -218,23 +221,23 @@ void CC_LockModeIterator::Next(CORBA::Environment &TAO_IN_ENV)
current_ = CosConcurrencyControl::write;
break;
case CosConcurrencyControl::write:
- TAO_THROW(CORBA::INTERNAL ());
+ ACE_THROW (CORBA::INTERNAL ());
default:
- TAO_THROW(CORBA::INTERNAL ());
+ ACE_THROW (CORBA::INTERNAL ());
}
}
CORBA::Boolean
-CC_LockModeIterator::IsDone(void)
+CC_LockModeIterator::IsDone (void)
{
- if(current_==CosConcurrencyControl::write)
+ if (current_==CosConcurrencyControl::write)
return 1;
else
return 0;
}
CosConcurrencyControl::lock_mode
-CC_LockModeIterator::GetLockMode(void)
+CC_LockModeIterator::GetLockMode (void)
{
return current_;
}
diff --git a/TAO/performance-tests/Cubit/TAO/IDL_Cubit/server.cpp b/TAO/performance-tests/Cubit/TAO/IDL_Cubit/server.cpp
index c9db73e3b18..f4d37fd467b 100644
--- a/TAO/performance-tests/Cubit/TAO/IDL_Cubit/server.cpp
+++ b/TAO/performance-tests/Cubit/TAO/IDL_Cubit/server.cpp
@@ -15,7 +15,7 @@ main (int argc, char *argv[])
(ACE_Sched_Params::priority_min (ACE_SCHED_FIFO)
+ ACE_Sched_Params::priority_max (ACE_SCHED_FIFO)) / 2;
priority = ACE_Sched_Params::next_priority (ACE_SCHED_FIFO,
- priority);
+ priority);
// Enable FIFO scheduling, e.g., RT scheduling class on Solaris.
if (ACE_OS::sched_params (ACE_Sched_Params (ACE_SCHED_FIFO,
@@ -41,11 +41,10 @@ main (int argc, char *argv[])
{
int ret = cubit_server.init (argc, argv, ACE_TRY_ENV);
ACE_TRY_CHECK;
+
if (ret == -1)
- {
- return -1;
- ACE_TRY_CHECK;
- }
+ return -1;
+
cubit_server.run (ACE_TRY_ENV);
ACE_TRY_CHECK;
}
@@ -62,7 +61,7 @@ main (int argc, char *argv[])
ACE_ENDTRY;
ACE_TIMEPROBE_PRINT;
-// ACE_END_TEST;
+ // ACE_END_TEST;
return 0;
}
diff --git a/ace/ACE.cpp b/ace/ACE.cpp
index a2c91eae749..794e7db5401 100644
--- a/ace/ACE.cpp
+++ b/ace/ACE.cpp
@@ -134,7 +134,7 @@ ACE::terminate_process (pid_t pid)
pid);
if (process_handle == ACE_INVALID_HANDLE
- || process_handle == NULL)
+ || process_handle == 0)
return -1;
else
{
@@ -175,7 +175,7 @@ ACE::process_active (pid_t pid)
ACE_HANDLE process_handle =
::OpenProcess (PROCESS_QUERY_INFORMATION, FALSE, pid);
if (process_handle == ACE_INVALID_HANDLE
- || process_handle == NULL)
+ || process_handle == 0)
return 0;
else
{
@@ -1046,7 +1046,9 @@ ACE::send (ACE_HANDLE handle, size_t n, ...)
#if defined (ACE_HAS_ALLOCA)
iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
+ ACE_NEW_RETURN (iovp,
+ iovec[total_tuples],
+ -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
@@ -1082,7 +1084,9 @@ ACE::recv (ACE_HANDLE handle, size_t n, ...)
#if defined (ACE_HAS_ALLOCA)
iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
+ ACE_NEW_RETURN (iovp,
+ iovec[total_tuples],
+ -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
@@ -3122,8 +3126,8 @@ ACE::get_ip_interfaces (size_t &count,
0, 0,
info, sizeof(info),
&bytes,
- NULL,
- NULL);
+ 0,
+ 0);
closesocket (sock);
if (status == SOCKET_ERROR)
return -1;
@@ -3132,7 +3136,9 @@ ACE::get_ip_interfaces (size_t &count,
if (n_interfaces == 0)
return 0;
- ACE_NEW_RETURN (addrs, ACE_INET_Addr[n_interfaces], -1);
+ ACE_NEW_RETURN (addrs,
+ ACE_INET_Addr[n_interfaces],
+ -1);
// Now go through the list and transfer the good ones to the list of
// because they're down or don't have an IP address.
@@ -3164,55 +3170,73 @@ ACE::get_ip_interfaces (size_t &count,
#else /* Winsock 2 && MSVC 5 or later */
- // PharLap ETS has kernel routines to rummage through the device configs
- // and extract the interface info. Sort of a pain in the butt, but better
- // than trying to figure out where it moved to in the registry... :-|
+ // PharLap ETS has kernel routines to rummage through the device
+ // configs and extract the interface info. Sort of a pain in the
+ // butt, but better than trying to figure out where it moved to in
+ // the registry... :-|
# if defined (ACE_HAS_PHARLAP)
# if !defined (ACE_HAS_PHARLAP_RT)
ACE_NOTSUP_RETURN (-1);
# endif /* ACE_HAS_PHARLAP_RT */
- // Locate all of the IP devices in the system, saving a DEVHANDLE for
- // each. Then allocate the ACE_INET_Addrs needed and fetch all the IP
- // addresses.
- // To locate the devices, try the available device name roots and increment
- // the device number until the kernel says there are no more of that type.
- const size_t ACE_MAX_ETS_DEVICES = 64; /* Arbitrary, but should be enough */
- DEVHANDLE ip_dev[ACE_MAX_ETS_DEVICES];
+ // Locate all of the IP devices in the system, saving a DEVHANDLE
+ // for each. Then allocate the ACE_INET_Addrs needed and fetch all
+ // the IP addresses. To locate the devices, try the available
+ // device name roots and increment the device number until the
+ // kernel says there are no more of that type.
+ const size_t ACE_MAX_ETS_DEVICES = 64; // Arbitrary, but should be enough.
+ DEVHANDLE ip_dev[ACE_MAX_ETS_DEVICES];
EK_TCPIPCFG *devp;
- size_t i, j;
- char dev_name[16];
+ size_t i, j;
+ char dev_name[16];
count = 0;
for (i = 0; count < ACE_MAX_ETS_DEVICES; i++, ++count)
{
- ACE_OS::sprintf (dev_name, "ether%d", i); /* Ethernet */
- if ((ip_dev[count] = EtsTCPGetDeviceHandle (dev_name)) == NULL)
+ // Ethernet.
+ ACE_OS::sprintf (dev_name,
+ "ether%d",
+ i);
+ ip_dev[count] = EtsTCPGetDeviceHandle (dev_name);
+ if (ip_dev[count] == 0)
break;
}
for (i = 0; count < ACE_MAX_ETS_DEVICES; i++, ++count)
{
- ACE_OS::sprintf (dev_name, "sl%d", i); /* SLIP */
- if ((ip_dev[count] = EtsTCPGetDeviceHandle (dev_name)) == NULL)
+ // SLIP.
+ ACE_OS::sprintf (dev_name,
+ "sl%d",
+ i);
+ ip_dev[count] = EtsTCPGetDeviceHandle (dev_name);
+ if (ip_dev[count] == 0)
break;
}
for (i = 0; count < ACE_MAX_ETS_DEVICES; i++, ++count)
{
- ACE_OS::sprintf (dev_name, "ppp%d", i); /* PPP */
- if ((ip_dev[count] = EtsTCPGetDeviceHandle (dev_name)) == NULL)
+ // PPP.
+ ACE_OS::sprintf (dev_name,
+ "ppp%d",
+ i);
+ ip_dev[count] = EtsTCPGetDeviceHandle (dev_name);
+ if (ip_dev[count] == 0)
break;
}
if (count > 0)
- addrs = new ACE_INET_Addr[count];
+ ACE_NEW_RETURN (addrs,
+ ACE_INET_Addr[count],
+ -1);
else
addrs = 0;
for (i = 0, j = 0; i < count; i++)
{
- if ((devp = EtsTCPGetDeviceCfg (ip_dev[i])) != NULL)
+ devp = EtsTCPGetDeviceCfg (ip_dev[i]);
+ if (devp != 0)
{
- addrs[j].set (0, devp->nwIPAddress, 0); /* Already in net order */
+ addrs[j].set (0,
+ devp->nwIPAddress,
+ 0); // Already in net order.
j++;
}
// There's no call to close the DEVHANDLE.
@@ -3248,14 +3272,14 @@ ACE::get_ip_interfaces (size_t &count,
raw_buffer,
raw_buflen))
return -1;
- // return buffer contains NULL delimited strings
+ // return buffer contains 0 delimited strings
ACE_Tokenizer dev_names (raw_buffer);
dev_names.delimiter (ACE_TEXT('\0'));
int n_interfaces = 0;
// Count the number of interfaces
- while (dev_names.next () != NULL)
+ while (dev_names.next () != 0)
n_interfaces ++;
// case 1. no interfaces present, empty string? OS version change?
diff --git a/ace/ARGV.cpp b/ace/ARGV.cpp
index 73460c87b44..27a54e26f0b 100644
--- a/ace/ARGV.cpp
+++ b/ace/ARGV.cpp
@@ -115,7 +115,8 @@ ACE_ARGV::ACE_ARGV (ASYS_TCHAR *argv[],
// Step through all argv params and copy each one into buf; separate
// each param with white space.
- ACE_NEW (this->buf_, ASYS_TCHAR[buf_len + 1]);
+ ACE_NEW (this->buf_,
+ ASYS_TCHAR[buf_len + 1]);
ASYS_TCHAR *end = this->buf_;
int j;
@@ -174,7 +175,8 @@ ACE_ARGV::ACE_ARGV (ASYS_TCHAR *first_argv[],
int buf_len = ACE_OS::strlen (first_buf) + ACE_OS::strlen (second_buf) + 1;
// Allocate memory to the lenght of the combined argv string.
- ACE_NEW (this->buf_, ASYS_TCHAR[buf_len + 1]);
+ ACE_NEW (this->buf_,
+ ASYS_TCHAR[buf_len + 1]);
// copy the first argv string to the buffer
ACE_OS::strcpy (this->buf_,first_buf);
diff --git a/ace/Asynch_Acceptor.cpp b/ace/Asynch_Acceptor.cpp
index 8426eb22f58..13c3153915c 100644
--- a/ace/Asynch_Acceptor.cpp
+++ b/ace/Asynch_Acceptor.cpp
@@ -411,7 +411,9 @@ ACE_Asynch_Acceptor<HANDLER>::make_handler (void)
{
// Default behavior
HANDLER *handler = 0;
- ACE_NEW_RETURN (handler, HANDLER, 0);
+ ACE_NEW_RETURN (handler,
+ HANDLER,
+ 0);
return handler;
}
diff --git a/ace/CDR_Stream.cpp b/ace/CDR_Stream.cpp
index c1c0b71a122..9220778588b 100644
--- a/ace/CDR_Stream.cpp
+++ b/ace/CDR_Stream.cpp
@@ -736,7 +736,9 @@ ACE_InputCDR::read_string (char *&x)
this->read_ulong (len);
if (len > 0)
{
- ACE_NEW_RETURN (x, ACE_CDR::Char[len], 0);
+ ACE_NEW_RETURN (x,
+ ACE_CDR::Char[len],
+ 0);
if (this->read_char_array (x, len))
return 1;
delete [] x;
@@ -774,7 +776,9 @@ ACE_InputCDR::read_wstring (ACE_CDR::WChar*& x)
this->read_ulong (len);
if (this->good_bit())
{
- ACE_NEW_RETURN (x, ACE_CDR::WChar[len], 0);
+ ACE_NEW_RETURN (x,
+ ACE_CDR::WChar[len],
+ 0);
if (this->read_wchar_array (x, len))
return 1;
diff --git a/ace/CORBA_Handler.cpp b/ace/CORBA_Handler.cpp
index 1e74d6c21c5..5ae478cc84e 100644
--- a/ace/CORBA_Handler.cpp
+++ b/ace/CORBA_Handler.cpp
@@ -306,7 +306,9 @@ ACE_ST_CORBA_Handler::instance (void)
if (ACE_ST_CORBA_Handler::instance_ == 0)
{
- ACE_NEW_RETURN (ACE_ST_CORBA_Handler::instance_, ACE_ST_CORBA_Handler, 0);
+ ACE_NEW_RETURN (ACE_ST_CORBA_Handler::instance_,
+ ACE_ST_CORBA_Handler,
+ 0);
ACE_ST_CORBA_Handler::instance_->get_orbix_descriptors ();
}
diff --git a/ace/Containers_T.cpp b/ace/Containers_T.cpp
index e5c4d04a295..9956bdcdb52 100644
--- a/ace/Containers_T.cpp
+++ b/ace/Containers_T.cpp
@@ -32,7 +32,8 @@ ACE_Bounded_Stack<T>::ACE_Bounded_Stack (size_t size)
: top_ (0),
size_ (size)
{
- ACE_NEW (this->stack_, T[size]);
+ ACE_NEW (this->stack_,
+ T[size]);
ACE_TRACE ("ACE_Bounded_Stack<T>::ACE_Bounded_Stack");
}
@@ -41,7 +42,8 @@ ACE_Bounded_Stack<T>::ACE_Bounded_Stack (const ACE_Bounded_Stack<T> &s)
: top_ (s.top_),
size_ (s.size_)
{
- ACE_NEW (this->stack_, T[s.size_]);
+ ACE_NEW (this->stack_,
+ T[s.size_]);
ACE_TRACE ("ACE_Bounded_Stack<T>::ACE_Bounded_Stack");
@@ -1486,8 +1488,8 @@ ACE_Bounded_Set<T>::operator= (const ACE_Bounded_Set<T> &bs)
if (this->max_size_ < bs.cur_size_)
{
delete [] this->search_structure_;
- ACE_NEW (this->search_structure_, ACE_TYPENAME
- ACE_Bounded_Set<T>::Search_Structure[bs.cur_size_]);
+ ACE_NEW (this->search_structure_,
+ ACE_TYPENAME ACE_Bounded_Set<T>::Search_Structure[bs.cur_size_]);
this->max_size_ = bs.cur_size_;
}
diff --git a/ace/DEV_IO.cpp b/ace/DEV_IO.cpp
index de00433333d..2b9e86f370e 100644
--- a/ace/DEV_IO.cpp
+++ b/ace/DEV_IO.cpp
@@ -66,7 +66,9 @@ ACE_DEV_IO::send (size_t n, ...) const
#if defined (ACE_HAS_ALLOCA)
iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
+ ACE_NEW_RETURN (iovp,
+ iovec[total_tuples],
+ -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
@@ -101,7 +103,9 @@ ACE_DEV_IO::recv (size_t n, ...) const
#if defined (ACE_HAS_ALLOCA)
iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
+ ACE_NEW_RETURN (iovp,
+ iovec[total_tuples],
+ -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
diff --git a/ace/Dump.cpp b/ace/Dump.cpp
index 6e578547bd3..7479f2489e1 100644
--- a/ace/Dump.cpp
+++ b/ace/Dump.cpp
@@ -63,7 +63,9 @@ ACE_ODB::instance (void)
ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, *lock, 0));
if (ACE_ODB::instance_ == 0)
- ACE_NEW_RETURN (ACE_ODB::instance_, ACE_ODB, 0);
+ ACE_NEW_RETURN (ACE_ODB::instance_,
+ ACE_ODB,
+ 0);
}
return ACE_ODB::instance_;
diff --git a/ace/FILE_IO.cpp b/ace/FILE_IO.cpp
index 9f5a848bcce..353a8060672 100644
--- a/ace/FILE_IO.cpp
+++ b/ace/FILE_IO.cpp
@@ -44,7 +44,9 @@ ACE_FILE_IO::send (size_t n, ...) const
#if defined (ACE_HAS_ALLOCA)
iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
+ ACE_NEW_RETURN (iovp,
+ iovec[total_tuples],
+ -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
@@ -81,7 +83,9 @@ ACE_FILE_IO::recv (size_t n, ...) const
#if defined (ACE_HAS_ALLOCA)
iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
+ ACE_NEW_RETURN (iovp,
+ iovec[total_tuples],
+ -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
diff --git a/ace/Filecache.cpp b/ace/Filecache.cpp
index b92896f1b49..89a60e91cc4 100644
--- a/ace/Filecache.cpp
+++ b/ace/Filecache.cpp
@@ -203,7 +203,9 @@ ACE_Filecache::instance (void)
// @@ James, please check each of the ACE_NEW_RETURN calls to
// make sure that it is safe to return if allocation fails.
if (ACE_Filecache::cvf_ == 0)
- ACE_NEW_RETURN (ACE_Filecache::cvf_, ACE_Filecache, 0);
+ ACE_NEW_RETURN (ACE_Filecache::cvf_,
+ ACE_Filecache,
+ 0);
}
return ACE_Filecache::cvf_;
diff --git a/ace/Future.cpp b/ace/Future.cpp
index 173c56501ec..eb54be3b2fa 100644
--- a/ace/Future.cpp
+++ b/ace/Future.cpp
@@ -67,7 +67,11 @@ template <class T> ACE_Future_Rep<T> *
ACE_Future_Rep<T>::create (void)
{
// Yes set ref count to zero.
- return new ACE_Future_Rep<T> ();
+ ACE_Future_Rep<T> *t = 0;
+ ACE_NEW_RETURN (t,
+ ACE_Future_Rep<T>,
+ 0);
+ return t;
}
template <class T> ACE_Future_Rep<T> *
diff --git a/ace/IOStream.cpp b/ace/IOStream.cpp
index 0603f926060..b77fc6c57dd 100644
--- a/ace/IOStream.cpp
+++ b/ace/IOStream.cpp
@@ -559,7 +559,9 @@ ACE_Streambuf::reset_get_buffer (char *newBuffer,
this->eback_saved_ = newBuffer;
}
else
- ACE_NEW_RETURN (this->eback_saved_, char[streambuf_size_], 0);
+ ACE_NEW_RETURN (this->eback_saved_,
+ char[streambuf_size_],
+ 0);
this->gptr_saved_ = this->eback_saved_ + _gptr;
this->egptr_saved_ = this->eback_saved_ + _egptr;
@@ -606,7 +608,9 @@ ACE_Streambuf::reset_put_buffer (char *newBuffer,
this->pbase_saved_ = newBuffer;
}
else
- ACE_NEW_RETURN (this->pbase_saved_, char[streambuf_size_], 0);
+ ACE_NEW_RETURN (this->pbase_saved_,
+ char[streambuf_size_],
+ 0);
this->pptr_saved_ = this->pbase_saved_ + _pptr;
this->epptr_saved_ = this->pbase_saved_ + streambuf_size_;
diff --git a/ace/Local_Name_Space_T.cpp b/ace/Local_Name_Space_T.cpp
index 37789a779a7..143fc3ae0d4 100644
--- a/ace/Local_Name_Space_T.cpp
+++ b/ace/Local_Name_Space_T.cpp
@@ -311,7 +311,9 @@ ACE_Local_Name_Space<ACE_MEM_POOL_2, ACE_LOCK>::resolve_i (const ACE_WString &na
// Makes a copy here. Caller needs to call delete to free up
// memory.
char *new_type;
- ACE_NEW_RETURN (new_type, char [len + 1], -1);
+ ACE_NEW_RETURN (new_type,
+ char [len + 1],
+ -1);
ACE_OS::strncpy (new_type, temp, len);
new_type[len] = '\0'; // Null terminate the string
@@ -439,7 +441,9 @@ ACE_Local_Name_Space<ACE_MEM_POOL_2, ACE_LOCK>::create_manager_i (void)
if (ACE_LOG_MSG->op_status ())
ACE_ERROR_RETURN ((LM_ERROR, "Allocator::Allocator\n"), -1);
- ACE_NEW_RETURN (this->lock_, ACE_LOCK (lock_name_for_local_name_space), -1);
+ ACE_NEW_RETURN (this->lock_,
+ ACE_LOCK (lock_name_for_local_name_space),
+ -1);
#if !defined (ACE_LACKS_ACCESS)
// Now check if the backing store has been created successfully
diff --git a/ace/Local_Tokens.cpp b/ace/Local_Tokens.cpp
index a5c1260f0b8..041e1cf1045 100644
--- a/ace/Local_Tokens.cpp
+++ b/ace/Local_Tokens.cpp
@@ -40,8 +40,6 @@ ACE_Tokens::make_owner (ACE_TPQ_Entry *caller)
this->waiters_.enqueue (caller, 0);
}
-// ************************************************************
-
#if defined (ACE_LACKS_INLINE_FUNCTIONS)
ACE_Null_Token::ACE_Null_Token (void)
{
@@ -52,10 +50,6 @@ ACE_Null_Token::~ACE_Null_Token (void)
}
#endif /* ACE_LACKS_INLINE_FUNCTIONS */
-// ************************************************************
-// ************************************************************
-
-
void
ACE_TPQ_Entry::dump (void) const
{
@@ -158,10 +152,6 @@ ACE_TPQ_Entry::client_id (const ASYS_TCHAR *id)
this->client_id_[ACE_MAXCLIENTIDLEN - 1] = '\0';
}
-// ************************************************************
-// ************************************************************
-// ************************************************************
-
void
ACE_TSS_TPQ_Entry::dump (void) const
{
@@ -195,7 +185,10 @@ ACE_TSS_TPQ_Entry::make_TSS_TYPE (void) const
ACE_TRACE ("ACE_TSS_TPQ_Entry::make_TSS_TYPE");
ACE_TPQ_Entry *temp;
- ACE_NEW_RETURN (temp, ACE_TPQ_Entry (this->proxy_, this->client_id_), 0);
+ ACE_NEW_RETURN (temp,
+ ACE_TPQ_Entry (this->proxy_,
+ this->client_id_),
+ 0);
return temp;
}
@@ -205,10 +198,6 @@ ACE_TSS_TPQ_Entry::operator ACE_TPQ_Entry * (void)
return (ACE_TPQ_Entry *) (*((ACE_TSS<ACE_TPQ_Entry> *) this));
}
-// ************************************************************
-// ************************************************************
-// ************************************************************
-
ACE_TPQ_Iterator::ACE_TPQ_Iterator (ACE_Token_Proxy_Queue &q)
: current_ (q.head_)
{
@@ -254,10 +243,6 @@ ACE_TPQ_Iterator::dump (void) const
ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
}
-// ************************************************************
-// ************************************************************
-// ************************************************************
-
void
ACE_Token_Proxy_Queue::dump (void) const
{
@@ -414,10 +399,6 @@ ACE_Token_Proxy_Queue::remove (const ACE_TPQ_Entry *remove_me)
return;
}
-// ************************************************************
-// ************************************************************
-// ************************************************************
-
void
ACE_Mutex_Token::dump (void) const
{
@@ -653,10 +634,6 @@ ACE_Mutex_Token::is_owner (const ASYS_TCHAR *id)
return 0;
}
-// ************************************************************
-// ************************************************************
-// ************************************************************
-
void
ACE_RW_Token::dump (void) const
{
@@ -1035,11 +1012,6 @@ ACE_RW_Token::is_owner (const ASYS_TCHAR *id)
return 0;
}
-// ************************************************************
-// ************************************************************
-// ************************************************************
-// 7..
-
void
ACE_Token_Proxy::dump (void) const
{
@@ -1391,8 +1363,6 @@ ACE_Token_Proxy::token_acquired (ACE_TPQ_Entry *e)
return;
}
-// ************************************************************
-
ACE_Token_Name::ACE_Token_Name (const ASYS_TCHAR *token_name)
{
ACE_TRACE ("ACE_Token_Name::ACE_Token_Name");
diff --git a/ace/Log_Msg.cpp b/ace/Log_Msg.cpp
index 487b41e2fd3..70cf92c3d42 100644
--- a/ace/Log_Msg.cpp
+++ b/ace/Log_Msg.cpp
@@ -96,7 +96,9 @@ ACE_Log_Msg_Manager::get_lock (void)
{
ACE_NO_HEAP_CHECK;
- ACE_NEW_RETURN_I (ACE_Log_Msg_Manager::lock_, ACE_Recursive_Thread_Mutex, 0);
+ ACE_NEW_RETURN_I (ACE_Log_Msg_Manager::lock_,
+ ACE_Recursive_Thread_Mutex,
+ 0);
// Allocate the ACE_Log_Msg IPC instance.
ACE_NEW_RETURN (ACE_Log_Msg_message_queue, ACE_LOG_MSG_IPC_STREAM, 0);
@@ -212,7 +214,9 @@ ACE_Log_Msg::instance (void)
{
ACE_NO_HEAP_CHECK;
- ACE_NEW_RETURN_I (tss_log_msg, ACE_Log_Msg, 0);
+ ACE_NEW_RETURN_I (tss_log_msg,
+ ACE_Log_Msg,
+ 0);
// Store the dynamically allocated pointer in thread-specific
// storage. It gets deleted via the ACE_TSS_cleanup function
// when the thread terminates.
@@ -232,8 +236,9 @@ ACE_Log_Msg::instance (void)
// ACE_Log_Msg_Manager::get_lock() to initialize the message queue,
// so instead we do it here.
if (ACE_Log_Msg_message_queue == 0)
- ACE_NEW_RETURN (ACE_Log_Msg_message_queue, ACE_LOG_MSG_IPC_STREAM, 0);
-
+ ACE_NEW_RETURN (ACE_Log_Msg_message_queue,
+ ACE_LOG_MSG_IPC_STREAM,
+ 0);
// Singleton implementation.
static ACE_Cleanup_Adapter<ACE_Log_Msg> *log_msg = 0;
if (log_msg == 0)
diff --git a/ace/Module.cpp b/ace/Module.cpp
index 9562a09a22c..da64cac7f4f 100644
--- a/ace/Module.cpp
+++ b/ace/Module.cpp
@@ -84,10 +84,10 @@ ACE_Module<ACE_SYNCH_USE>::link (ACE_Module<ACE_SYNCH_USE> *m)
template <ACE_SYNCH_DECL> int
ACE_Module<ACE_SYNCH_USE>::open (const ASYS_TCHAR *mod_name,
- ACE_Task<ACE_SYNCH_USE> *writer_q,
- ACE_Task<ACE_SYNCH_USE> *reader_q,
- void *arg,
- int flags /* = M_DELETE */)
+ ACE_Task<ACE_SYNCH_USE> *writer_q,
+ ACE_Task<ACE_SYNCH_USE> *reader_q,
+ void *arg,
+ int flags /* = M_DELETE */)
{
ACE_TRACE ("ACE_Module<ACE_SYNCH_USE>::open");
this->name (mod_name);
@@ -102,13 +102,17 @@ ACE_Module<ACE_SYNCH_USE>::open (const ASYS_TCHAR *mod_name,
if (writer_q == 0)
{
- writer_q = new ACE_Thru_Task<ACE_SYNCH_USE>;
+ ACE_NEW_RETURN (writer_q,
+ ACE_Thru_Task<ACE_SYNCH_USE>,
+ -1);
ACE_SET_BITS (flags, M_DELETE_WRITER);
}
if (reader_q == 0)
{
- reader_q = new ACE_Thru_Task<ACE_SYNCH_USE>;
+ ACE_NEW_RETURN (reader_q,
+ ACE_Thru_Task<ACE_SYNCH_USE>,
+ -1);
ACE_SET_BITS (flags, M_DELETE_READER);
}
@@ -187,7 +191,9 @@ ACE_Module<ACE_SYNCH_USE>::ACE_Module (const ASYS_TCHAR *mod_name,
this->q_pair_[1] = 0;
if (this->open (mod_name, writer_q, reader_q, args, flags) == -1)
- ACE_ERROR ((LM_ERROR, ASYS_TEXT ("%p\n"), ASYS_TEXT ("ACE_Module")));
+ ACE_ERROR ((LM_ERROR,
+ ASYS_TEXT ("%p\n"),
+ ASYS_TEXT ("ACE_Module")));
}
template <ACE_SYNCH_DECL> int
diff --git a/ace/OS.cpp b/ace/OS.cpp
index b20051f125d..8754dbc8f60 100644
--- a/ace/OS.cpp
+++ b/ace/OS.cpp
@@ -1848,9 +1848,9 @@ ACE_TSS_Cleanup::instance (void)
// Now, use the Double-Checked Locking pattern to make sure we
// only create the ACE_TSS_Cleanup instance once.
if (ACE_TSS_Cleanup::instance_ == 0)
- {
- ACE_NEW_RETURN (ACE_TSS_Cleanup::instance_, ACE_TSS_Cleanup, 0);
- }
+ ACE_NEW_RETURN (ACE_TSS_Cleanup::instance_,
+ ACE_TSS_Cleanup,
+ 0);
}
return ACE_TSS_Cleanup::instance_;
@@ -2004,11 +2004,14 @@ ACE_TSS_Cleanup::tss_keys ()
if (ts_keys == 0)
{
- ACE_NEW_RETURN (ts_keys, ACE_TSS_Keys, 0);
+ ACE_NEW_RETURN (ts_keys,
+ ACE_TSS_Keys,
+ 0);
// Store the dynamically allocated pointer in thread-specific
// storage.
if (ACE_OS::thr_setspecific (in_use_,
- ACE_reinterpret_cast (void *, ts_keys)) == -1)
+ ACE_reinterpret_cast (void *,
+ ts_keys)) == -1)
{
delete ts_keys;
return 0; // Major problems, this should *never* happen!
@@ -2087,15 +2090,19 @@ ACE_TSS_Emulation::tss_base (void* ts_storage[])
{
ACE_NO_HEAP_CHECK;
- ACE_NEW_RETURN (ts_storage, void*[ACE_TSS_THREAD_KEYS_MAX], 0);
+ ACE_NEW_RETURN (ts_storage,
+ void*[ACE_TSS_THREAD_KEYS_MAX],
+ 0);
// Zero the entire TSS array. Do it manually instead of using
- // memset, for optimum speed. Though, memset may be faster :-)
+ // memset, for optimum speed. Though, memset may be faster
+ // :-)
void **tss_base_p = ts_storage;
- for (u_int i = 0; i < ACE_TSS_THREAD_KEYS_MAX; ++i, ++tss_base_p)
- {
- *tss_base_p = 0;
- }
+
+ for (u_int i = 0;
+ i < ACE_TSS_THREAD_KEYS_MAX;
+ ++i)
+ *tss_base_p++ = 0;
}
// Store the pointer in thread-specific storage. It gets deleted
@@ -4193,7 +4200,9 @@ writev (ACE_HANDLE handle, ACE_WRITEV_TYPE iov[], int n)
# if defined (ACE_HAS_ALLOCA)
buf = (char *) alloca (length);
# else
- ACE_NEW_RETURN (buf, char[length], -1);
+ ACE_NEW_RETURN (buf,
+ char[length],
+ -1);
# endif /* !defined (ACE_HAS_ALLOCA) */
char *ptr = buf;
@@ -4237,7 +4246,9 @@ ACE_TRACE ("readv");
# if defined (ACE_HAS_ALLOCA)
buf = (char *) alloca (length);
# else
- ACE_NEW_RETURN (buf, char[length], -1);
+ ACE_NEW_RETURN (buf,
+ char[length],
+ -1);
# endif /* !defined (ACE_HAS_ALLOCA) */
length = ACE_OS::read_n (handle, buf, length);
@@ -6277,7 +6288,9 @@ ACE_OS_Object_Manager::instance (void)
{
ACE_OS_Object_Manager *instance_pointer;
- ACE_NEW_RETURN (instance_pointer, ACE_OS_Object_Manager, 0);
+ ACE_NEW_RETURN (instance_pointer,
+ ACE_OS_Object_Manager,
+ 0);
ACE_ASSERT (instance_pointer == instance_);
instance_pointer->dynamically_allocated_ = 1;
diff --git a/ace/OS.h b/ace/OS.h
index 516e56190ce..26ccd0d102c 100644
--- a/ace/OS.h
+++ b/ace/OS.h
@@ -7279,8 +7279,9 @@ private:
# if defined (__BORLANDC__) && (__BORLANDC__ <= 0x540)
# define ACE_WIN32CALL_RETURN(X,TYPE,FAILVALUE) \
do { \
+ TYPE ace_result_; \
TYPE ace_local_result_ = (TYPE) X; \
- TYPE ace_result_ = ace_local_result_; \
+ ace_result_ = ace_local_result_; \
if (ace_result_ == FAILVALUE) \
ACE_OS::set_errno_to_last_error (); \
return ace_result_; \
diff --git a/ace/Object_Manager.cpp b/ace/Object_Manager.cpp
index c6f5e15b430..9ce357842aa 100644
--- a/ace/Object_Manager.cpp
+++ b/ace/Object_Manager.cpp
@@ -235,15 +235,16 @@ ACE_Object_Manager::init (void)
ACE_TSS_Emulation::tss_open (ts_storage_);
# endif /* ACE_HAS_TSS_EMULATION */
- ACE_NEW_RETURN (preallocations_, ACE_Object_Manager_Preallocations,
+ ACE_NEW_RETURN (preallocations_,
+ ACE_Object_Manager_Preallocations,
-1);
-
// Open the main thread's ACE_Log_Msg.
(void) ACE_LOG_MSG;
}
- ACE_NEW_RETURN (default_mask_, ACE_Sig_Set (1), -1);
-
+ ACE_NEW_RETURN (default_mask_,
+ ACE_Sig_Set (1),
+ -1);
// Finally, indicate that the ACE_Object_Manager instance has
// been initialized.
object_manager_state_ = OBJ_MAN_INITIALIZED;
@@ -301,7 +302,9 @@ ACE_Object_Manager::instance (void)
{
ACE_Object_Manager *instance_pointer;
- ACE_NEW_RETURN (instance_pointer, ACE_Object_Manager, 0);
+ ACE_NEW_RETURN (instance_pointer,
+ ACE_Object_Manager,
+ 0);
ACE_ASSERT (instance_pointer == instance_);
instance_pointer->dynamically_allocated_ = 1;
@@ -309,9 +312,7 @@ ACE_Object_Manager::instance (void)
return instance_pointer;
}
else
- {
- return instance_;
- }
+ return instance_;
}
ACE_Sig_Set &
@@ -401,41 +402,40 @@ ACE_Object_Manager::get_singleton_lock (ACE_Thread_Mutex *&lock)
{
if (lock == 0)
{
- if (starting_up () || shutting_down ())
- {
- // The Object_Manager and its internal lock have not been
- // constructed yet. Therefore, the program is single-
- // threaded at this point. Or, the ACE_Object_Manager
- // instance has been destroyed, so the internal lock is not
- // available. Either way, we can not use double-checked
- // locking. So, we'll leak the lock.
-
- ACE_NEW_RETURN (lock, ACE_Thread_Mutex, -1);
- }
- else
+ if (starting_up () || shutting_down ())
+ // The Object_Manager and its internal lock have not been
+ // constructed yet. Therefore, the program is single-
+ // threaded at this point. Or, the ACE_Object_Manager
+ // instance has been destroyed, so the internal lock is not
+ // available. Either way, we can not use double-checked
+ // locking. So, we'll leak the lock.
+ ACE_NEW_RETURN (lock,
+ ACE_Thread_Mutex,
+ -1);
+ }
+ else
+ {
+ // Allocate a new lock, but use double-checked locking to
+ // ensure that only one thread allocates it.
+ ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex,
+ ace_mon,
+ *ACE_Object_Manager::instance ()->
+ internal_lock_,
+ -1));
+
+ if (lock == 0)
{
- // Allocate a new lock, but use double-checked locking to
- // ensure that only one thread allocates it.
- ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex,
- ace_mon,
- *ACE_Object_Manager::instance ()->
- internal_lock_,
- -1));
-
- if (lock == 0)
- {
- ACE_Cleanup_Adapter<ACE_Thread_Mutex> *lock_adapter;
- ACE_NEW_RETURN (lock_adapter,
- ACE_Cleanup_Adapter<ACE_Thread_Mutex>,
- -1);
- lock = &lock_adapter->object ();
+ ACE_Cleanup_Adapter<ACE_Thread_Mutex> *lock_adapter;
+ ACE_NEW_RETURN (lock_adapter,
+ ACE_Cleanup_Adapter<ACE_Thread_Mutex>,
+ -1);
+ lock = &lock_adapter->object ();
- // Register the lock for destruction at program
- // termination. This call will cause us to grab the
- // ACE_Object_Manager::instance ()->internal_lock_
- // again; that's why it is a recursive lock.
- ACE_Object_Manager::at_exit (lock_adapter);
- }
+ // Register the lock for destruction at program
+ // termination. This call will cause us to grab the
+ // ACE_Object_Manager::instance ()->internal_lock_
+ // again; that's why it is a recursive lock.
+ ACE_Object_Manager::at_exit (lock_adapter);
}
}
@@ -448,16 +448,16 @@ ACE_Object_Manager::get_singleton_lock (ACE_Mutex *&lock)
if (lock == 0)
{
if (starting_up () || shutting_down ())
- {
- // The Object_Manager and its internal lock have not been
- // constructed yet. Therefore, the program is single-
- // threaded at this point. Or, the ACE_Object_Manager
- // instance has been destroyed, so the internal lock is not
- // available. Either way, we can not use double-checked
- // locking. So, we'll leak the lock.
-
- ACE_NEW_RETURN (lock, ACE_Mutex, -1);
- }
+ // The Object_Manager and its internal lock have not been
+ // constructed yet. Therefore, the program is single-
+ // threaded at this point. Or, the ACE_Object_Manager
+ // instance has been destroyed, so the internal lock is not
+ // available. Either way, we can not use double-checked
+ // locking. So, we'll leak the lock.
+
+ ACE_NEW_RETURN (lock,
+ ACE_Mutex,
+ -1);
else
{
// Allocate a new lock, but use double-checked locking to
@@ -529,17 +529,17 @@ ACE_Object_Manager::get_singleton_lock (ACE_RW_Thread_Mutex *&lock)
{
if (lock == 0)
{
- if (starting_up () || shutting_down ())
- {
- // The Object_Manager and its internal lock have not been
- // constructed yet. Therefore, the program is single-
- // threaded at this point. Or, the ACE_Object_Manager
- // instance has been destroyed, so the internal lock is not
- // available. Either way, we can not use double-checked
- // locking. So, we'll leak the lock.
-
- ACE_NEW_RETURN (lock, ACE_RW_Thread_Mutex, -1);
- }
+ if (starting_up () || shutting_down ())
+ // The Object_Manager and its internal lock have not been
+ // constructed yet. Therefore, the program is single-
+ // threaded at this point. Or, the ACE_Object_Manager
+ // instance has been destroyed, so the internal lock is not
+ // available. Either way, we can not use double-checked
+ // locking. So, we'll leak the lock.
+
+ ACE_NEW_RETURN (lock,
+ ACE_RW_Thread_Mutex,
+ -1);
else
{
// Allocate a new lock, but use double-checked locking to
@@ -547,7 +547,7 @@ ACE_Object_Manager::get_singleton_lock (ACE_RW_Thread_Mutex *&lock)
ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex,
ace_mon,
*ACE_Object_Manager::instance ()->
- internal_lock_,
+ internal_lock_,
-1));
if (lock == 0)
diff --git a/ace/POSIX_Proactor.cpp b/ace/POSIX_Proactor.cpp
index 9738b4f1c1a..9a6eb50e940 100644
--- a/ace/POSIX_Proactor.cpp
+++ b/ace/POSIX_Proactor.cpp
@@ -357,8 +357,6 @@ ACE_POSIX_Proactor::post_wakeup_completions (int how_many)
return 0;
}
-// *********************************************************************
-
class ACE_Export ACE_AIOCB_Notify_Pipe_Manager : public ACE_Handler
{
// = TITLE
@@ -913,7 +911,9 @@ ACE_Asynch_Read_Stream_Impl *
ACE_POSIX_SIG_Proactor::create_asynch_read_stream (void)
{
ACE_Asynch_Read_Stream_Impl *implementation = 0;
- ACE_NEW_RETURN (implementation, ACE_POSIX_SIG_Asynch_Read_Stream (this), 0);
+ ACE_NEW_RETURN (implementation,
+ ACE_POSIX_SIG_Asynch_Read_Stream (this),
+ 0);
return implementation;
}
@@ -921,7 +921,9 @@ ACE_Asynch_Write_Stream_Impl *
ACE_POSIX_SIG_Proactor::create_asynch_write_stream (void)
{
ACE_Asynch_Write_Stream_Impl *implementation = 0;
- ACE_NEW_RETURN (implementation, ACE_POSIX_SIG_Asynch_Write_Stream (this), 0);
+ ACE_NEW_RETURN (implementation,
+ ACE_POSIX_SIG_Asynch_Write_Stream (this),
+ 0);
return implementation;
}
@@ -929,7 +931,9 @@ ACE_Asynch_Read_File_Impl *
ACE_POSIX_SIG_Proactor::create_asynch_read_file (void)
{
ACE_Asynch_Read_File_Impl *implementation = 0;
- ACE_NEW_RETURN (implementation, ACE_POSIX_SIG_Asynch_Read_File (this), 0);
+ ACE_NEW_RETURN (implementation,
+ ACE_POSIX_SIG_Asynch_Read_File (this),
+ 0);
return implementation;
}
@@ -937,7 +941,9 @@ ACE_Asynch_Write_File_Impl *
ACE_POSIX_SIG_Proactor::create_asynch_write_file (void)
{
ACE_Asynch_Write_File_Impl *implementation = 0;
- ACE_NEW_RETURN (implementation, ACE_POSIX_SIG_Asynch_Write_File (this), 0);
+ ACE_NEW_RETURN (implementation,
+ ACE_POSIX_SIG_Asynch_Write_File (this),
+ 0);
return implementation;
}
@@ -945,7 +951,9 @@ ACE_Asynch_Accept_Impl *
ACE_POSIX_SIG_Proactor::create_asynch_accept (void)
{
ACE_Asynch_Accept_Impl *implementation = 0;
- ACE_NEW_RETURN (implementation, ACE_POSIX_SIG_Asynch_Accept (this), 0);
+ ACE_NEW_RETURN (implementation,
+ ACE_POSIX_SIG_Asynch_Accept (this),
+ 0);
return implementation;
}
diff --git a/ace/Priority_Reactor.cpp b/ace/Priority_Reactor.cpp
index 6ce6b11ffc8..de12d4b755e 100644
--- a/ace/Priority_Reactor.cpp
+++ b/ace/Priority_Reactor.cpp
@@ -35,13 +35,13 @@ ACE_Priority_Reactor::init_bucket (void)
TUPLE_ALLOCATOR (ACE_Select_Reactor::DEFAULT_SIZE));
// The event handlers are assigned to a new As the Event
- ACE_NEW (this->bucket_, QUEUE*[npriorities]);
+ ACE_NEW (this->bucket_,
+ QUEUE *[npriorities]);
+
// This loops "ensures" exception safety.
- int i;
- for (i = 0; i < npriorities; ++i)
- {
- ACE_NEW (this->bucket_[i], QUEUE (this->tuple_allocator_));
- }
+ for (int i = 0; i < npriorities; ++i)
+ ACE_NEW (this->bucket_[i],
+ QUEUE (this->tuple_allocator_));
}
ACE_Priority_Reactor::ACE_Priority_Reactor (ACE_Sig_Handler *sh,
@@ -69,10 +69,10 @@ ACE_Priority_Reactor::ACE_Priority_Reactor (size_t size,
ACE_Priority_Reactor::~ACE_Priority_Reactor (void)
{
ACE_TRACE ("ACE_Priority_Reactor::~ACE_Priority_Reactor");
+
for (int i = 0; i < npriorities; ++i)
- {
- delete this->bucket_[i];
- }
+ delete this->bucket_[i];
+
delete[] this->bucket_;
delete tuple_allocator_;
}
@@ -88,49 +88,37 @@ ACE_Priority_Reactor::dispatch_io_set (int number_of_active_handles,
ACE_TRACE ("ACE_Priority_Reactor::dispatch_io_set");
if (number_of_active_handles == 0)
- {
- return 0;
- }
-
- // ACE_DEBUG ((LM_DEBUG, ASYS_TEXT ("ACE_Priority_Reactor::dispatch_io_set\n")));
-
- ACE_HANDLE handle;
-
+ return 0;
// The range for which there exists any Event_Tuple is computed on
- // the ordering loop, minimizing iterations on the dispatching
- // loop.
+ // the ordering loop, minimizing iterations on the dispatching loop.
int min_priority = ACE_Event_Handler::HI_PRIORITY;
int max_priority = ACE_Event_Handler::LO_PRIORITY;
ACE_Handle_Set_Iterator handle_iter (dispatch_mask);
- while ((handle = handle_iter ()) != ACE_INVALID_HANDLE)
+ for (ACE_HANDLE handle;
+ (handle = handle_iter ()) != ACE_INVALID_HANDLE;
+ )
{
- ACE_Event_Tuple et (this->handler_rep_.find (handle), handle);
+ ACE_Event_Tuple et (this->handler_rep_.find (handle),
+ handle);
int prio = et.event_handler_->priority ();
// If the priority is out of range assign the minimum priority.
if (prio < ACE_Event_Handler::LO_PRIORITY
|| prio > ACE_Event_Handler::HI_PRIORITY)
- {
- prio = ACE_Event_Handler::LO_PRIORITY;
- }
+ prio = ACE_Event_Handler::LO_PRIORITY;
bucket_[prio]->enqueue_tail (et);
+
// Update the priority ranges....
if (min_priority > prio)
- {
- min_priority = prio;
- }
+ min_priority = prio;
if (max_priority < prio)
- {
- max_priority = prio;
- }
+ max_priority = prio;
}
- // ACE_DEBUG ((LM_DEBUG, ASYS_TEXT ("dispatching.... %d\n"), number_of_active_handles));
-
for (int i = max_priority; i >= min_priority; --i)
{
// Remove all the entries from the wrappers
@@ -153,9 +141,7 @@ ACE_Priority_Reactor::dispatch_io_set (int number_of_active_handles,
}
if (number_dispatched > 0 && this->state_changed_)
- {
- return -1;
- }
+ return -1;
return 0;
}
diff --git a/ace/Proactor.cpp b/ace/Proactor.cpp
index 48700ed4d3c..96a982d9b3e 100644
--- a/ace/Proactor.cpp
+++ b/ace/Proactor.cpp
@@ -250,15 +250,19 @@ ACE_Proactor::ACE_Proactor (ACE_Proactor_Impl *implementation,
#if defined (ACE_HAS_AIO_CALLS)
// POSIX Proactor.
#if defined (ACE_POSIX_AIOCB_PROACTOR)
- ACE_NEW (implementation, ACE_POSIX_AIOCB_Proactor);
+ ACE_NEW (implementation,
+ ACE_POSIX_AIOCB_Proactor);
#elif defined (ACE_POSIX_SIG_PROACTOR)
- ACE_NEW (implementation, ACE_POSIX_SIG_Proactor);
+ ACE_NEW (implementation,
+ ACE_POSIX_SIG_Proactor);
#else /* Default is to use the SIG one */
- ACE_NEW (implementation, ACE_POSIX_SIG_Proactor);
+ ACE_NEW (implementation,
+ ACE_POSIX_SIG_Proactor);
#endif
#elif (defined (ACE_WIN32) && !defined (ACE_HAS_WINCE))
// WIN_Proactor.
- ACE_NEW (implementation, ACE_WIN32_Proactor);
+ ACE_NEW (implementation,
+ ACE_WIN32_Proactor);
#endif /* ACE_HAS_AIO_CALLS */
this->implementation (implementation);
this->delete_implementation_ = 1;
@@ -680,7 +684,8 @@ ACE_Proactor::timer_queue (TIMER_QUEUE *tq)
// New timer queue.
if (tq == 0)
{
- this->timer_queue_ = new TIMER_HEAP;
+ ACE_NEW (this->timer_queue_,
+ TIMER_HEAP);
this->delete_timer_queue_ = 1;
}
else
diff --git a/ace/Process.cpp b/ace/Process.cpp
index d560a9d51e8..b4a90c62f8e 100644
--- a/ace/Process.cpp
+++ b/ace/Process.cpp
@@ -239,13 +239,16 @@ ACE_Process_Options::ACE_Process_Options (int ie,
command_line_argv_calculated_ (0),
command_line_buf_ (0)
{
- ACE_NEW (command_line_buf_, TCHAR[cobl]);
+ ACE_NEW (command_line_buf_,
+ TCHAR[cobl]);
command_line_buf_[0] = '\0';
#if !defined (ACE_HAS_WINCE)
working_directory_[0] = '\0';
- ACE_NEW (environment_buf_, TCHAR[ebl]);
- ACE_NEW (environment_argv_, LPTSTR[mea]);
+ ACE_NEW (environment_buf_,
+ TCHAR[ebl]);
+ ACE_NEW (environment_argv_,
+ LPTSTR[mea]);
environment_buf_[0] = '\0';
environment_argv_[0] = 0;
diff --git a/ace/Process_Manager.cpp b/ace/Process_Manager.cpp
index d1d3f0ada79..6be9d9b4c4c 100644
--- a/ace/Process_Manager.cpp
+++ b/ace/Process_Manager.cpp
@@ -55,7 +55,9 @@ ACE_Process_Manager::resize (size_t size)
ACE_Process_Descriptor *temp;
- ACE_NEW_RETURN (temp, ACE_Process_Descriptor[size], -1);
+ ACE_NEW_RETURN (temp,
+ ACE_Process_Descriptor[size],
+ -1);
for (size_t i = 0; i < this->max_table_size_; i++)
temp[i] = this->proc_table_[i]; // Structure assignment.
diff --git a/ace/RB_Tree.cpp b/ace/RB_Tree.cpp
index 251f5c563e3..0a0b0e073d4 100644
--- a/ace/RB_Tree.cpp
+++ b/ace/RB_Tree.cpp
@@ -17,11 +17,6 @@
ACE_RCSID(ace, RB_Tree, "$Id$")
-/////////////////////////////////////////////////////
-// template class ACE_RB_Tree_Node<EXT_ID, INT_ID> //
-/////////////////////////////////////////////////////
-
-
// Constructor.
template <class EXT_ID, class INT_ID>
@@ -40,7 +35,7 @@ ACE_RB_Tree_Node<EXT_ID, INT_ID>::ACE_RB_Tree_Node (const EXT_ID &k, const INT_I
// Destructor.
template <class EXT_ID, class INT_ID>
-ACE_RB_Tree_Node<EXT_ID, INT_ID>::~ACE_RB_Tree_Node ()
+ACE_RB_Tree_Node<EXT_ID, INT_ID>::~ACE_RB_Tree_Node (void)
{
ACE_TRACE ("ACE_RB_Tree_Node<EXT_ID, INT_ID>::~ACE_RB_Tree_Node");
@@ -51,12 +46,6 @@ ACE_RB_Tree_Node<EXT_ID, INT_ID>::~ACE_RB_Tree_Node ()
delete right_;
}
-
-
-////////////////////////////////////////////////
-// template class ACE_RB_Tree<EXT_ID, INT_ID> //
-////////////////////////////////////////////////
-
// Constructor.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK>
@@ -71,7 +60,6 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::ACE_RB_Tree (ACE_Allocator
ACE_ERROR ((LM_ERROR, ASYS_TEXT ("ACE_RB_Tree::ACE_RB_Tree\n")));
}
-
// Copy constructor.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK>
@@ -86,10 +74,10 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::ACE_RB_Tree (const ACE_RB_T
// Make a deep copy of the passed tree.
ACE_RB_Tree_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> iter(rbt);
+
for (iter.first (); iter.is_done () == 0; iter.next ())
- {
- insert_i (*(iter.key ()), *(iter.item ()));
- }
+ insert_i (*(iter.key ()),
+ *(iter.item ()));
}
// Destructor.
@@ -99,12 +87,11 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::~ACE_RB_Tree ()
{
ACE_TRACE ("ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::~ACE_RB_Tree");
- // Use the locked public method, to be totally safe, as the
- // class can be used with an allocator and placement new.
+ // Use the locked public method, to be totally safe, as the class
+ // can be used with an allocator and placement new.
this->close ();
}
-
// Assignment operator.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> void
@@ -118,17 +105,17 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::operator = (const ACE_RB_Tr
// Make a deep copy of the passed tree.
ACE_RB_Tree_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> iter(rbt);
+
for (iter.first (); iter.is_done () == 0; iter.next ())
- {
- insert_i (*(iter.key ()), *(iter.item ()));
- }
+ insert_i (*(iter.key ()),
+ *(iter.item ()));
// Use the same allocator as the rhs.
allocator_ = rbt.allocator_;
}
-// Less than comparison function for keys, default
-// functor implementation returns 1 if k1 < k2, 0 otherwise.
+// Less than comparison function for keys, default functor
+// implementation returns 1 if k1 < k2, 0 otherwise.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> int
ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::lessthan (const EXT_ID &k1, const EXT_ID &k2)
@@ -137,7 +124,6 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::lessthan (const EXT_ID &k1,
return this->compare_keys_ (k1, k2);
}
-
// Method for right rotation of the tree about a given node.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> void
@@ -146,48 +132,37 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::RB_rotate_right (ACE_RB_Tre
ACE_TRACE ("ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::RB_rotate_right");
if (! x)
- {
- ACE_ERROR ((LM_ERROR, ASYS_TEXT ("%p\n"),
- ASYS_TEXT ("\nerror: x is a null pointer in "
- "ACE_RB_Tree<EXT_ID, INT_ID>::RB_rotate_right\n")));
- }
+ ACE_ERROR ((LM_ERROR,
+ ASYS_TEXT ("%p\n"),
+ ASYS_TEXT ("\nerror: x is a null pointer in "
+ "ACE_RB_Tree<EXT_ID, INT_ID>::RB_rotate_right\n")));
else if (! (x->left()))
- {
- ACE_ERROR ((LM_ERROR, ASYS_TEXT ("%p\n"),
+ ACE_ERROR ((LM_ERROR,
+ ASYS_TEXT ("%p\n"),
ASYS_TEXT ("\nerror: x->left () is a null pointer in "
"ACE_RB_Tree<EXT_ID, INT_ID>::RB_rotate_right\n")));
- }
else
- {
- ACE_RB_Tree_Node<EXT_ID, INT_ID> * y;
- y = x->left ();
- x->left (y->right ());
- if (y->right ())
- {
- y->right ()->parent (x);
- }
- y->parent (x->parent ());
- if (x->parent ())
{
- if (x == x->parent ()->right ())
- {
- x->parent ()->right (y);
- }
+ ACE_RB_Tree_Node<EXT_ID, INT_ID> * y;
+ y = x->left ();
+ x->left (y->right ());
+ if (y->right ())
+ y->right ()->parent (x);
+ y->parent (x->parent ());
+ if (x->parent ())
+ {
+ if (x == x->parent ()->right ())
+ x->parent ()->right (y);
+ else
+ x->parent ()->left (y);
+ }
else
- {
- x->parent ()->left (y);
- }
+ root_ = y;
+ y->right (x);
+ x->parent (y);
}
- else
- {
- root_ = y;
- }
- y->right (x);
- x->parent (y);
- }
}
-
// Method for left rotation of the tree about a given node.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> void
@@ -196,48 +171,37 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::RB_rotate_left (ACE_RB_Tree
ACE_TRACE ("ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::RB_rotate_left");
if (! x)
- {
- ACE_ERROR ((LM_ERROR, ASYS_TEXT ("%p\n"),
+ ACE_ERROR ((LM_ERROR,
+ ASYS_TEXT ("%p\n"),
ASYS_TEXT ("\nerror: x is a null pointer in "
"ACE_RB_Tree<EXT_ID, INT_ID>::RB_rotate_left\n")));
- }
else if (! (x->right()))
- {
- ACE_ERROR ((LM_ERROR, ASYS_TEXT ("%p\n"),
+ ACE_ERROR ((LM_ERROR,
+ ASYS_TEXT ("%p\n"),
ASYS_TEXT ("\nerror: x->right () is a null pointer "
"in ACE_RB_Tree<EXT_ID, INT_ID>::RB_rotate_left\n")));
- }
else
- {
- ACE_RB_Tree_Node<EXT_ID, INT_ID> * y;
- y = x->right ();
- x->right (y->left ());
- if (y->left ())
- {
- y->left ()->parent (x);
- }
- y->parent (x->parent ());
- if (x->parent ())
{
- if (x == x->parent ()->left ())
- {
- x->parent ()->left (y);
- }
+ ACE_RB_Tree_Node<EXT_ID, INT_ID> * y;
+ y = x->right ();
+ x->right (y->left ());
+ if (y->left ())
+ y->left ()->parent (x);
+ y->parent (x->parent ());
+ if (x->parent ())
+ {
+ if (x == x->parent ()->left ())
+ x->parent ()->left (y);
+ else
+ x->parent ()->right (y);
+ }
else
- {
- x->parent ()->right (y);
- }
- }
- else
- {
- root_ = y;
+ root_ = y;
+ y->left (x);
+ x->parent (y);
}
- y->left (x);
- x->parent (y);
- }
}
-
// Method for restoring Red-Black properties after deletion.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> void
@@ -245,120 +209,107 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::RB_delete_fixup (ACE_RB_Tre
{
ACE_TRACE ("ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::RB_delete_fixup");
- while (x &&
- x->parent () &&
- x->color () == ACE_RB_Tree_Node_Base::BLACK)
- {
- if (x == x->parent ()->left ())
+ while (x
+ && x->parent ()
+ && x->color () == ACE_RB_Tree_Node_Base::BLACK)
{
- ACE_RB_Tree_Node<EXT_ID, INT_ID> *w = x->parent ()->right ();
- if (w && w->color () == ACE_RB_Tree_Node_Base::RED)
- {
- w->color (ACE_RB_Tree_Node_Base::BLACK);
- x->parent ()->color (ACE_RB_Tree_Node_Base::RED);
- RB_rotate_left (x->parent ());
- w = x->parent ()->right ();
- }
- // CLR pp. 263 says that nil nodes are implicitly colored BLACK
- if ((w) &&
- (!w->left () ||
- w->left ()->color () == ACE_RB_Tree_Node_Base::BLACK) &&
- (!w->right () ||
- w->right ()->color () == ACE_RB_Tree_Node_Base::BLACK))
- {
- w->color (ACE_RB_Tree_Node_Base::RED);
- x = x->parent ();
- }
- else
- {
- // CLR pp. 263 says that nil nodes are implicitly colored BLACK
- if (w &&
- (!w->right () ||
- w->right ()->color () == ACE_RB_Tree_Node_Base::BLACK))
+ if (x == x->parent ()->left ())
{
- if (w->left ())
+ ACE_RB_Tree_Node<EXT_ID, INT_ID> *w = x->parent ()->right ();
+ if (w && w->color () == ACE_RB_Tree_Node_Base::RED)
+ {
+ w->color (ACE_RB_Tree_Node_Base::BLACK);
+ x->parent ()->color (ACE_RB_Tree_Node_Base::RED);
+ RB_rotate_left (x->parent ());
+ w = x->parent ()->right ();
+ }
+ // CLR pp. 263 says that nil nodes are implicitly colored BLACK
+ if ((w) &&
+ (!w->left ()
+ || w->left ()->color () == ACE_RB_Tree_Node_Base::BLACK)
+ && (!w->right ()
+ || w->right ()->color () == ACE_RB_Tree_Node_Base::BLACK))
+ {
+ w->color (ACE_RB_Tree_Node_Base::RED);
+ x = x->parent ();
+ }
+ else
{
- w->left ()->color (ACE_RB_Tree_Node_Base::BLACK);
+ // CLR pp. 263 says that nil nodes are implicitly colored BLACK
+ if (w &&
+ (!w->right ()
+ || w->right ()->color () == ACE_RB_Tree_Node_Base::BLACK))
+ {
+ if (w->left ())
+ w->left ()->color (ACE_RB_Tree_Node_Base::BLACK);
+ w->color (ACE_RB_Tree_Node_Base::RED);
+ RB_rotate_right (w);
+ w = x->parent ()->right ();
+ }
+ if (w)
+ {
+ w->color (x->parent ()->color ());
+ if (w->right ())
+ w->right ()->color (ACE_RB_Tree_Node_Base::BLACK);
+ }
+ x->parent ()->color (ACE_RB_Tree_Node_Base::BLACK);
+ RB_rotate_left (x->parent ());
+ x = root_;
}
- w->color (ACE_RB_Tree_Node_Base::RED);
- RB_rotate_right (w);
- w = x->parent ()->right ();
}
- if (w)
- {
- w->color (x->parent ()->color ());
- if (w->right ())
- {
- w->right ()->color (ACE_RB_Tree_Node_Base::BLACK);
- }
- }
- x->parent ()->color (ACE_RB_Tree_Node_Base::BLACK);
- RB_rotate_left (x->parent ());
- x = root_;
- }
- }
- else
- {
- ACE_RB_Tree_Node<EXT_ID, INT_ID> *w = x->parent ()->left ();
- if (w && w->color () == ACE_RB_Tree_Node_Base::RED)
- {
- w->color (ACE_RB_Tree_Node_Base::BLACK);
- x->parent ()->color (ACE_RB_Tree_Node_Base::RED);
- RB_rotate_right (x->parent ());
- w = x->parent ()->left ();
- }
- // CLR pp. 263 says that nil nodes are implicitly colored BLACK
- if (w &&
- (!w->left () ||
- w->left ()->color () == ACE_RB_Tree_Node_Base::BLACK) &&
- (!w->right () ||
- w->right ()->color () == ACE_RB_Tree_Node_Base::BLACK))
- {
- w->color (ACE_RB_Tree_Node_Base::RED);
- x = x->parent ();
- }
else
- {
- // CLR pp. 263 says that nil nodes are implicitly colored BLACK
- if (w &&
- (!w->left () ||
- w->left ()->color () == ACE_RB_Tree_Node_Base::BLACK))
{
- w->color (ACE_RB_Tree_Node_Base::RED);
- if (w->right ())
+ ACE_RB_Tree_Node<EXT_ID, INT_ID> *w = x->parent ()->left ();
+ if (w && w->color () == ACE_RB_Tree_Node_Base::RED)
+ {
+ w->color (ACE_RB_Tree_Node_Base::BLACK);
+ x->parent ()->color (ACE_RB_Tree_Node_Base::RED);
+ RB_rotate_right (x->parent ());
+ w = x->parent ()->left ();
+ }
+ // CLR pp. 263 says that nil nodes are implicitly colored BLACK
+ if (w &&
+ (!w->left ()
+ || w->left ()->color () == ACE_RB_Tree_Node_Base::BLACK)
+ && (!w->right ()
+ || w->right ()->color () == ACE_RB_Tree_Node_Base::BLACK))
{
- w->right ()->color (ACE_RB_Tree_Node_Base::BLACK);
+ w->color (ACE_RB_Tree_Node_Base::RED);
+ x = x->parent ();
+ }
+ else
+ {
+ // CLR pp. 263 says that nil nodes are implicitly colored BLACK
+ if (w &&
+ (!w->left ()
+ || w->left ()->color () == ACE_RB_Tree_Node_Base::BLACK))
+ {
+ w->color (ACE_RB_Tree_Node_Base::RED);
+ if (w->right ())
+ w->right ()->color (ACE_RB_Tree_Node_Base::BLACK);
+ RB_rotate_left (w);
+ w = x->parent ()->left ();
+ }
+ if (w)
+ {
+ w->color (x->parent ()->color ());
+ if (w->left ())
+ w->left ()->color (ACE_RB_Tree_Node_Base::BLACK);
+ }
+ x->parent ()->color (ACE_RB_Tree_Node_Base::BLACK);
+ RB_rotate_right (x->parent ());
+ x = root_;
}
- RB_rotate_left (w);
- w = x->parent ()->left ();
}
- if (w)
- {
- w->color (x->parent ()->color ());
- if (w->left ())
- {
- w->left ()->color (ACE_RB_Tree_Node_Base::BLACK);
- }
- }
- x->parent ()->color (ACE_RB_Tree_Node_Base::BLACK);
- RB_rotate_right (x->parent ());
- x = root_;
- }
}
- }
if (x)
- {
x->color (ACE_RB_Tree_Node_Base::BLACK);
- }
}
-
-
-// Return a pointer to a matching node if there is one,
-// a pointer to the node under which to insert the item
-// if the tree is not empty and there is no such match,
-// or 0 if the tree is empty.
+// Return a pointer to a matching node if there is one, a pointer to
+// the node under which to insert the item if the tree is not empty
+// and there is no such match, or 0 if the tree is empty.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> ACE_RB_Tree_Node<EXT_ID, INT_ID> *
ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::find_node (const EXT_ID &k, ACE_RB_Tree_Base::RB_SearchResult &result)
@@ -369,52 +320,47 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::find_node (const EXT_ID &k,
ACE_RB_Tree_Node<EXT_ID, INT_ID> *current = root_;
while (current)
- {
- // While there are more nodes to examine.
- if (this->lessthan (current->key (), k))
- {
- // If the search key is greater than the current node's key.
- if (current->right ())
- {
- // If the right subtree is not empty, search to the right.
- current = current->right ();
- }
- else
- {
- // If the right subtree is empty, we're done searching,
- // and are positioned to the left of the insertion point.
- result = LEFT;
- break;
- }
- }
- else if (this->lessthan (k, current->key ()))
{
- // Else if the search key is less than the current node's key.
- if (current->left ())
- {
- // If the left subtree is not empty, search to the left.
- current = current->left ();
- }
+ // While there are more nodes to examine.
+ if (this->lessthan (current->key (), k))
+ {
+ // If the search key is greater than the current node's key.
+ if (current->right ())
+ // If the right subtree is not empty, search to the right.
+ current = current->right ();
+ else
+ {
+ // If the right subtree is empty, we're done searching,
+ // and are positioned to the left of the insertion point.
+ result = LEFT;
+ break;
+ }
+ }
+ else if (this->lessthan (k, current->key ()))
+ {
+ // Else if the search key is less than the current node's key.
+ if (current->left ())
+ // If the left subtree is not empty, search to the left.
+ current = current->left ();
+ else
+ {
+ // If the left subtree is empty, we're done searching,
+ // and are positioned to the right of the insertion point.
+ result = RIGHT;
+ break;
+ }
+ }
else
- {
- // If the left subtree is empty, we're done searching,
- // and are positioned to the right of the insertion point.
- result = RIGHT;
- break;
- }
- }
- else
- {
- // If the keys match exactly, we're done as well.
- result = EXACT;
- break;
+ {
+ // If the keys match exactly, we're done as well.
+ result = EXACT;
+ break;
+ }
}
- }
return current;
}
-
// Rebalance the tree after insertion of a node.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> void
@@ -425,74 +371,74 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::RB_rebalance (ACE_RB_Tree_N
ACE_RB_Tree_Node<EXT_ID, INT_ID> *y = 0;
while (x &&
- x->parent () &&
- x->parent ()->color () == ACE_RB_Tree_Node_Base::RED)
- {
- if (! x->parent ()->parent ())
- {
- // If we got here, something is drastically wrong!
- ACE_ERROR ((LM_ERROR, ASYS_TEXT ("%p\n"),
- ASYS_TEXT ("\nerror: parent's parent is null in "
- "ACE_RB_Tree<EXT_ID, INT_ID>::RB_rebalance\n")));
- return;
- }
-
- if (x->parent () == x->parent ()->parent ()->left ())
+ x->parent ()
+ && x->parent ()->color () == ACE_RB_Tree_Node_Base::RED)
{
- y = x->parent ()->parent ()->right ();
- if (y && y->color () == ACE_RB_Tree_Node_Base::RED)
- {
- // Handle case 1 (see CLR book, pp. 269).
- x->parent ()->color (ACE_RB_Tree_Node_Base::BLACK);
- y->color (ACE_RB_Tree_Node_Base::BLACK);
- x->parent ()->parent ()->color (ACE_RB_Tree_Node_Base::RED);
- x = x->parent ()->parent ();
- }
- else
- {
- if (x == x->parent ()->right ())
+ if (! x->parent ()->parent ())
{
- // Transform case 2 into case 3 (see CLR book, pp. 269).
- x = x->parent ();
- RB_rotate_left (x);
+ // If we got here, something is drastically wrong!
+ ACE_ERROR ((LM_ERROR,
+ ASYS_TEXT ("%p\n"),
+ ASYS_TEXT ("\nerror: parent's parent is null in "
+ "ACE_RB_Tree<EXT_ID, INT_ID>::RB_rebalance\n")));
+ return;
}
- // Handle case 3 (see CLR book, pp. 269).
- x->parent ()->color (ACE_RB_Tree_Node_Base::BLACK);
- x->parent ()->parent ()->color (ACE_RB_Tree_Node_Base::RED);
- RB_rotate_right (x->parent ()->parent ());
- }
- }
- else
- {
- y = x->parent ()->parent ()->left ();
- if (y && y->color () == ACE_RB_Tree_Node_Base::RED)
- {
- // Handle case 1 (see CLR book, pp. 269).
- x->parent ()->color (ACE_RB_Tree_Node_Base::BLACK);
- y->color (ACE_RB_Tree_Node_Base::BLACK);
- x->parent ()->parent ()->color (ACE_RB_Tree_Node_Base::RED);
- x = x->parent ()->parent ();
- }
+ if (x->parent () == x->parent ()->parent ()->left ())
+ {
+ y = x->parent ()->parent ()->right ();
+ if (y && y->color () == ACE_RB_Tree_Node_Base::RED)
+ {
+ // Handle case 1 (see CLR book, pp. 269).
+ x->parent ()->color (ACE_RB_Tree_Node_Base::BLACK);
+ y->color (ACE_RB_Tree_Node_Base::BLACK);
+ x->parent ()->parent ()->color (ACE_RB_Tree_Node_Base::RED);
+ x = x->parent ()->parent ();
+ }
+ else
+ {
+ if (x == x->parent ()->right ())
+ {
+ // Transform case 2 into case 3 (see CLR book, pp. 269).
+ x = x->parent ();
+ RB_rotate_left (x);
+ }
+
+ // Handle case 3 (see CLR book, pp. 269).
+ x->parent ()->color (ACE_RB_Tree_Node_Base::BLACK);
+ x->parent ()->parent ()->color (ACE_RB_Tree_Node_Base::RED);
+ RB_rotate_right (x->parent ()->parent ());
+ }
+ }
else
- {
- if (x == x->parent ()->left ())
{
- // Transform case 2 into case 3 (see CLR book, pp. 269).
- x = x->parent ();
- RB_rotate_right (x);
+ y = x->parent ()->parent ()->left ();
+ if (y && y->color () == ACE_RB_Tree_Node_Base::RED)
+ {
+ // Handle case 1 (see CLR book, pp. 269).
+ x->parent ()->color (ACE_RB_Tree_Node_Base::BLACK);
+ y->color (ACE_RB_Tree_Node_Base::BLACK);
+ x->parent ()->parent ()->color (ACE_RB_Tree_Node_Base::RED);
+ x = x->parent ()->parent ();
+ }
+ else
+ {
+ if (x == x->parent ()->left ())
+ {
+ // Transform case 2 into case 3 (see CLR book, pp. 269).
+ x = x->parent ();
+ RB_rotate_right (x);
+ }
+
+ // Handle case 3 (see CLR book, pp. 269).
+ x->parent ()->color (ACE_RB_Tree_Node_Base::BLACK);
+ x->parent ()->parent ()->color (ACE_RB_Tree_Node_Base::RED);
+ RB_rotate_left (x->parent ()->parent ());
+ }
}
-
- // Handle case 3 (see CLR book, pp. 269).
- x->parent ()->color (ACE_RB_Tree_Node_Base::BLACK);
- x->parent ()->parent ()->color (ACE_RB_Tree_Node_Base::RED);
- RB_rotate_left (x->parent ()->parent ());
- }
}
- }
}
-
// Method to find the successor node of the given node in the tree.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> ACE_RB_Tree_Node<EXT_ID, INT_ID> *
@@ -501,21 +447,18 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::RB_tree_successor (ACE_RB_T
ACE_TRACE ("ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::RB_tree_successor");
if (x->right ())
- {
return RB_tree_minimum (x->right ());
- }
ACE_RB_Tree_Node<EXT_ID, INT_ID> *y = x->parent ();
while ((y) && (x == y->right ()))
- {
- x = y;
- y = y->parent ();
- }
+ {
+ x = y;
+ y = y->parent ();
+ }
return y;
}
-
// Method to find the predecessor node of the given node in the tree.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> ACE_RB_Tree_Node<EXT_ID, INT_ID> *
@@ -524,21 +467,19 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::RB_tree_predecessor (ACE_RB
ACE_TRACE ("ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::RB_tree_predecessor");
if (x->left ())
- {
return RB_tree_maximum (x->left ());
- }
ACE_RB_Tree_Node<EXT_ID, INT_ID> *y = x->parent ();
+
while ((y) && (x == y->left ()))
- {
- x = y;
- y = y->parent ();
- }
+ {
+ x = y;
+ y = y->parent ();
+ }
return y;
}
-
// Method to find the minimum node of the subtree rooted at the given node.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> ACE_RB_Tree_Node<EXT_ID, INT_ID> *
@@ -547,14 +488,11 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::RB_tree_minimum (ACE_RB_Tre
ACE_TRACE ("ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::RB_tree_minimum");
while ((x) && (x->left ()))
- {
x = x->left ();
- }
return x;
}
-
// Method to find the maximum node of the subtree rooted at the given node.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> ACE_RB_Tree_Node<EXT_ID, INT_ID> *
@@ -563,18 +501,15 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::RB_tree_maximum (ACE_RB_Tre
ACE_TRACE ("ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::RB_tree_maximum");
while ((x) && (x->right ()))
- {
x = x->right ();
- }
return x;
}
-// Close down an RB_Tree. this method should
-// only be called with locks already held.
+// Close down an RB_Tree. this method should only be called with
+// locks already held.
-template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK>
-int
+template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> int
ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::close_i ()
{
ACE_TRACE ("ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::close_i");
@@ -586,9 +521,9 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::close_i ()
return 0;
}
-// Returns a pointer to the item corresponding to the given key,
-// or 0 if it cannot find the key in the tree. This method should
-// only be called with locks already held.
+// Returns a pointer to the item corresponding to the given key, or 0
+// if it cannot find the key in the tree. This method should only be
+// called with locks already held.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> int
ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::find_i (const EXT_ID &k,
@@ -601,30 +536,26 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::find_i (const EXT_ID &k,
ACE_RB_Tree_Node<EXT_ID, INT_ID> *current = find_node (k, result);
if (current && result == EXACT)
- {
- // Found an exact match: return a pointer to the node.
- entry = current;
- return 0;
- }
+ {
+ // Found an exact match: return a pointer to the node.
+ entry = current;
+ return 0;
+ }
else
- {
// The node is not there.
return -1;
- }
}
-
-// Inserts a *copy* of the key and the item into the tree:
-// both the key type EXT_ID and the item type INT_ID must have well
-// defined semantics for copy construction and < comparison.
-// This method returns a pointer to the inserted item copy,
-// or 0 if an error occurred. NOTE: if an identical key
-// already exists in the tree, no new item is created, and
-// the returned pointer addresses the existing item
-// associated with the existing key. This method should
+// Inserts a *copy* of the key and the item into the tree: both the
+// key type EXT_ID and the item type INT_ID must have well defined
+// semantics for copy construction and < comparison. This method
+// returns a pointer to the inserted item copy, or 0 if an error
+// occurred. NOTE: if an identical key already exists in the tree, no
+// new item is created, and the returned pointer addresses the
+// existing item associated with the existing key. This method should
// only be called with locks already held.
-template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> INT_ID*
+template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> INT_ID *
ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::insert_i (const EXT_ID &k, const INT_ID &t)
{
ACE_TRACE ("ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::insert_i (const EXT_ID &k, const INT_ID &t)");
@@ -633,116 +564,105 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::insert_i (const EXT_ID &k,
RB_SearchResult result = LEFT;
ACE_RB_Tree_Node<EXT_ID, INT_ID> *current = find_node (k, result);
if (current)
- {
- // If the keys match, just return a pointer to the node's item.
- if (result == EXACT)
- {
- return &(current->item ());
- }
- // Otherwise if we're to the left of the insertion
- // point, insert into the right subtree.
- else if (result == LEFT)
{
- if (current->right ())
- {
- // If there is already a right subtree, complain.
- ACE_ERROR_RETURN ((LM_ERROR, ASYS_TEXT ("%p\n"),
- ASYS_TEXT ("\nright subtree already present in "
- "ACE_RB_Tree<EXT_ID, INT_ID>::insert_i\n")), 0);
- }
- else
- {
- // The right subtree is empty: insert new node there.
- current->right (new ACE_RB_Tree_Node<EXT_ID, INT_ID> (k, t));
- if (current->right ())
+ // If the keys match, just return a pointer to the node's item.
+ if (result == EXACT)
+ return &current->item ();
+
+ // Otherwise if we're to the left of the insertion point, insert
+ // into the right subtree.
+ else if (result == LEFT)
{
- // If the node was successfully inserted, set its parent, rebalance
- // the tree, color the root black, and return a pointer to the
- // inserted item.
- INT_ID *item = &(current->right ()->item ());
- current->right ()->parent (current);
- RB_rebalance (current->right ());
- root_->color (ACE_RB_Tree_Node_Base::BLACK);
- ++current_size_;
- return item;
+ if (current->right ())
+ // If there is already a right subtree, complain.
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ASYS_TEXT ("%p\n"),
+ ASYS_TEXT ("\nright subtree already present in "
+ "ACE_RB_Tree<EXT_ID, INT_ID>::insert_i\n")),
+ 0);
+ else
+ {
+ // The right subtree is empty: insert new node there.
+ ACE_RB_Tree_Node<EXT_ID, INT_ID> *tmp = 0;
+
+ ACE_NEW_RETURN (tmp,
+ ACE_RB_Tree_Node<EXT_ID, INT_ID> (k, t),
+ 0);
+ current->right (tmp);
+
+ // If the node was successfully inserted, set its
+ // parent, rebalance the tree, color the root black, and
+ // return a pointer to the inserted item.
+ INT_ID *item = &(current->right ()->item ());
+ current->right ()->parent (current);
+ RB_rebalance (current->right ());
+ root_->color (ACE_RB_Tree_Node_Base::BLACK);
+ ++current_size_;
+ return item;
+ }
}
- else
+ // Otherwise, we're to the right of the insertion point, so
+ // insert into the left subtree.
+ else // (result == RIGHT)
{
- // Memory allocation failed.
- ACE_ERROR_RETURN ((LM_ERROR, ASYS_TEXT ("%p\n"),
- ASYS_TEXT ("\nmemory allocation to current->right_ failed "
- "in ACE_RB_Tree<EXT_ID, INT_ID>::insert_i\n")), 0);
+ if (current->left ())
+ // If there is already a left subtree, complain.
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ASYS_TEXT ("%p\n"),
+ ASYS_TEXT ("\nleft subtree already present in "
+ "ACE_RB_Tree<EXT_ID, INT_ID>::insert_i\n")),
+ 0);
+ else
+ {
+ // The left subtree is empty: insert new node there.
+ ACE_RB_Tree_Node<EXT_ID, INT_ID> *tmp = 0;
+ ACE_NEW_RETURN (tmp,
+ ACE_RB_Tree_Node<EXT_ID, INT_ID> (k, t),
+ 0);
+ current->left (tmp);
+
+ // If the node was successfully inserted, set its
+ // parent, rebalance the tree, color the root black, and
+ // return a pointer to the inserted item.
+ INT_ID *item = &current->left ()->item ();
+ current->left ()->parent (current);
+ RB_rebalance (current->left ());
+ root_->color (ACE_RB_Tree_Node_Base::BLACK);
+ ++current_size_;
+ return item;
+ }
}
- }
}
- // Otherwise, we're to the right of the insertion
- // point, so insert into the left subtree.
- else // (result == RIGHT)
+ else
{
- if (current->left ())
- {
- // If there is already a left subtree, complain.
- ACE_ERROR_RETURN ((LM_ERROR, ASYS_TEXT ("%p\n"),
- ASYS_TEXT ("\nleft subtree already present in "
- "ACE_RB_Tree<EXT_ID, INT_ID>::insert_i\n")), 0);
- }
- else
- {
- // The left subtree is empty: insert new node there.
- current->left (new ACE_RB_Tree_Node<EXT_ID, INT_ID> (k, t));
- if (current->left ())
+ // The tree is empty: insert at the root and color the root
+ // black.
+ ACE_NEW_RETURN (ACE_root_,
+ ACE_RB_Tree_Node<EXT_ID, INT_ID> (k, t),
+ 0);
+ if (root_)
{
- // If the node was successfully inserted, set its parent, rebalance
- // the tree, color the root black, and return a pointer to the
- // inserted item.
- INT_ID *item = &(current->left ()->item ());
- current->left ()->parent (current);
- RB_rebalance (current->left ());
root_->color (ACE_RB_Tree_Node_Base::BLACK);
++current_size_;
- return item;
+ return &root_->item ();
}
- else
- {
- // Memory allocation failed.
- ACE_ERROR_RETURN ((LM_ERROR, ASYS_TEXT ("%p\n"),
- ASYS_TEXT ("\nmemory allocation to current->left_ failed in "
- "ACE_RB_Tree<EXT_ID, INT_ID>::insert_i\n")), 0);
- }
- }
- }
- }
- else
- {
- // The tree is empty: insert at the root and color the root black.
- root_ = new ACE_RB_Tree_Node<EXT_ID, INT_ID> (k, t);
- if (root_)
- {
- root_->color (ACE_RB_Tree_Node_Base::BLACK);
- ++current_size_;
- return &(root_->item ());
- }
- else
- {
- ACE_ERROR_RETURN ((LM_ERROR, ASYS_TEXT ("%p\n"),
- ASYS_TEXT ("\nmemory allocation to root_ failed in "
- "ACE_RB_Tree<EXT_ID, INT_ID>::insert_i\n")), 0);
}
- }
+ return 0;
}
-
// Inserts a *copy* of the key and the item into the tree: both the
-// key type EXT_ID and the item type INT_ID must have well defined semantics
-// for copy construction. The default implementation also requires that
-// the key type support well defined < semantics. This method passes back
-// a pointer to the inserted (or existing) node, and the search status. If
-// the node already exists, the method returns 1. If the node does not
-// exist, and a new one is successfully created, and the method returns 0.
-// If there was an error, the method returns -1.
+// key type EXT_ID and the item type INT_ID must have well defined
+// semantics for copy construction. The default implementation also
+// requires that the key type support well defined < semantics. This
+// method passes back a pointer to the inserted (or existing) node,
+// and the search status. If the node already exists, the method
+// returns 1. If the node does not exist, and a new one is
+// successfully created, and the method returns 0. If there was an
+// error, the method returns -1.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> int
-ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::insert_i (const EXT_ID &k, const INT_ID &t,
+ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::insert_i (const EXT_ID &k,
+ const INT_ID &t,
ACE_RB_Tree_Node<EXT_ID, INT_ID> *&entry)
{
ACE_TRACE ("ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::insert_i (const EXT_ID &k, const INT_ID &t, "
@@ -752,112 +672,96 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::insert_i (const EXT_ID &k,
RB_SearchResult result = LEFT;
ACE_RB_Tree_Node<EXT_ID, INT_ID> *current = find_node (k, result);
if (current)
- {
- // If the keys match, just return a pointer to the node's item.
- if (result == EXACT)
- {
- entry = current;
- return 1;
- }
- // Otherwise if we're to the left of the insertion
- // point, insert into the right subtree.
- else if (result == LEFT)
{
- if (current->right ())
- {
- // If there is already a right subtree, complain.
- ACE_ERROR_RETURN ((LM_ERROR, ASYS_TEXT ("%p\n"),
- ASYS_TEXT ("\nright subtree already present in "
- "ACE_RB_Tree<EXT_ID, INT_ID>::insert_i\n")), -1);
- }
- else
- {
- // The right subtree is empty: insert new node there.
- current->right (new ACE_RB_Tree_Node<EXT_ID, INT_ID> (k, t));
- if (current->right ())
+ // If the keys match, just return a pointer to the node's item.
+ if (result == EXACT)
{
- // If the node was successfully inserted, set its parent, rebalance
- // the tree, color the root black, and return a pointer to the
- // inserted item.
- entry = current->right ();
- current->right ()->parent (current);
- RB_rebalance (current->right ());
- root_->color (ACE_RB_Tree_Node_Base::BLACK);
- ++current_size_;
- return 0;
+ entry = current;
+ return 1;
}
- else
+ // Otherwise if we're to the left of the insertion
+ // point, insert into the right subtree.
+ else if (result == LEFT)
{
- // Memory allocation failed.
- ACE_ERROR_RETURN ((LM_ERROR, ASYS_TEXT ("%p\n"),
- ASYS_TEXT ("\nmemory allocation to current->right_ failed "
- "in ACE_RB_Tree<EXT_ID, INT_ID>::insert_i\n")), -1);
- }
- }
- }
- // Otherwise, we're to the right of the insertion
- // point, so insert into the left subtree.
- else // (result == RIGHT)
- {
- if (current->left ())
- {
- // If there is already a left subtree, complain.
- ACE_ERROR_RETURN ((LM_ERROR, ASYS_TEXT ("%p\n"),
- ASYS_TEXT ("\nleft subtree already present in "
- "ACE_RB_Tree<EXT_ID, INT_ID>::insert_i\n")), -1);
- }
- else
- {
- // The left subtree is empty: insert new node there.
- current->left (new ACE_RB_Tree_Node<EXT_ID, INT_ID> (k, t));
- if (current->left ())
- {
- // If the node was successfully inserted, set its parent, rebalance
- // the tree, color the root black, and return a pointer to the
- // inserted item.
- entry = current->left ();
- current->left ()->parent (current);
- RB_rebalance (current->left ());
- root_->color (ACE_RB_Tree_Node_Base::BLACK);
- ++current_size_;
- return 0;
+ if (current->right ())
+ {
+ // If there is already a right subtree, complain.
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ASYS_TEXT ("%p\n"),
+ ASYS_TEXT ("\nright subtree already present in "
+ "ACE_RB_Tree<EXT_ID, INT_ID>::insert_i\n")),
+ -1);
+ }
+ else
+ {
+ // The right subtree is empty: insert new node there.
+ ACE_RB_Tree_Node<EXT_ID, INT_ID> *tmp = 0;
+ ACE_NEW_RETURN (tmp,
+ ACE_RB_Tree_Node<EXT_ID, INT_ID> (k, t),
+ -1);
+ current->right (tmp);
+
+ // If the node was successfully inserted, set its parent, rebalance
+ // the tree, color the root black, and return a pointer to the
+ // inserted item.
+ entry = current->right ();
+ current->right ()->parent (current);
+ RB_rebalance (current->right ());
+ root_->color (ACE_RB_Tree_Node_Base::BLACK);
+ ++current_size_;
+ return 0;
+ }
}
- else
+ // Otherwise, we're to the right of the insertion point, so
+ // insert into the left subtree.
+ else // (result == RIGHT)
{
- // Memory allocation failed.
- ACE_ERROR_RETURN ((LM_ERROR, ASYS_TEXT ("%p\n"),
- ASYS_TEXT ("\nmemory allocation to current->left_ failed in "
- "ACE_RB_Tree<EXT_ID, INT_ID>::insert_i\n")), -1);
+ if (current->left ())
+ // If there is already a left subtree, complain.
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ASYS_TEXT ("%p\n"),
+ ASYS_TEXT ("\nleft subtree already present in "
+ "ACE_RB_Tree<EXT_ID, INT_ID>::insert_i\n")),
+ -1);
+ else
+ {
+ // The left subtree is empty: insert new node there.
+ ACE_RB_Tree_Node<EXT_ID, INT_ID> *tmp = 0;
+ ACE_NEW_RETURN (tmp,
+ ACE_RB_Tree_Node<EXT_ID, INT_ID> (k, t),
+ -1);
+ current->left (tmp);
+ // If the node was successfully inserted, set its
+ // parent, rebalance the tree, color the root black, and
+ // return a pointer to the inserted item.
+ entry = current->left ();
+ current->left ()->parent (current);
+ RB_rebalance (current->left ());
+ root_->color (ACE_RB_Tree_Node_Base::BLACK);
+ ++current_size_;
+ return 0;
+ }
}
- }
}
- }
else
- {
- // The tree is empty: insert at the root and color the root black.
- root_ = new ACE_RB_Tree_Node<EXT_ID, INT_ID> (k, t);
- if (root_)
{
+ // The tree is empty: insert at the root and color the root black.
+ ACE_NEW_RETURN (root_,
+ ACE_RB_Tree_Node<EXT_ID, INT_ID> (k, t),
+ -1);
root_->color (ACE_RB_Tree_Node_Base::BLACK);
++current_size_;
entry = root_;
return 0;
}
- else
- {
- ACE_ERROR_RETURN ((LM_ERROR, ASYS_TEXT ("%p\n"),
- ASYS_TEXT ("\nmemory allocation to root_ failed in "
- "ACE_RB_Tree<EXT_ID, INT_ID>::insert_i\n")), -1);
- }
- }
+ return -1;
}
-
-// Removes the item associated with the given key from the
-// tree and destroys it. Returns 1 if it found the item
-// and successfully destroyed it, 0 if it did not find the
-// item, or -1 if an error occurred. This method should
-// only be called with locks already held.
+// Removes the item associated with the given key from the tree and
+// destroys it. Returns 1 if it found the item and successfully
+// destroyed it, 0 if it did not find the item, or -1 if an error
+// occurred. This method should only be called with locks already
+// held.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> int
ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::remove_i (const EXT_ID &k, INT_ID &i)
@@ -874,7 +778,7 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::remove_i (const EXT_ID &k,
{
// Return the internal id stored in the deleted node.
i = z->item ();
- return (-1 == this->remove_i (z)) ? -1 : 1;
+ return -1 == this->remove_i (z) ? -1 : 1;
}
else
{
@@ -888,56 +792,45 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::remove_i (ACE_RB_Tree_Node<
{
ACE_TRACE ("ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::remove_i (ACE_RB_Tree_Node<EXT_ID, INT_ID> *z)");
- // Delete the node and reorganize the tree to satisfy the Red-Black properties.
+ // Delete the node and reorganize the tree to satisfy the Red-Black
+ // properties.
ACE_RB_Tree_Node<EXT_ID, INT_ID> *x, *y;
- if ((z->left ()) && (z->right ()))
- {
+ if (z->left () && z->right ())
y = RB_tree_successor (z);
- }
else
- {
y = z;
- }
+
if (y->left ())
- {
x = y->left ();
- }
else
- {
x = y->right ();
- }
+
if (x)
- {
- x->parent (y->parent ());
- }
+ x->parent (y->parent ());
+
if (y->parent ())
- {
- if (y == y->parent ()->left ())
{
- y->parent ()->left (x);
- }
- else
- {
- y->parent ()->right (x);
+ if (y == y->parent ()->left ())
+ y->parent ()->left (x);
+ else
+ y->parent ()->right (x);
}
- }
else
- {
root_ = x;
- }
+
if (y != z)
- {
- // Copy the elements of y into z.
- z->key () = y->key ();
- z->item () = y->item ();
- }
+ {
+ // Copy the elements of y into z.
+ z->key () = y->key ();
+ z->item () = y->item ();
+ }
+
// CLR pp. 263 says that nil nodes are implicitly colored BLACK
if (!y || y->color () == ACE_RB_Tree_Node_Base::BLACK)
- {
RB_delete_fixup (x);
- }
+
y->parent (0);
y->right (0);
y->left (0);
@@ -947,13 +840,6 @@ ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::remove_i (ACE_RB_Tree_Node<
return 0;
}
-
-
-///////////////////////////////////////////////////////////////////////
-// template class //
-// ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> //
-///////////////////////////////////////////////////////////////////////
-
ACE_ALLOC_HOOK_DEFINE(ACE_RB_Tree_Iterator_Base)
// Constructor.
@@ -966,13 +852,9 @@ ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::ACE_RB_Tree_I
// Position the iterator at the first (or last) node in the tree.
if (set_first)
- {
- node_ = tree_->RB_tree_minimum (tree_->root_);
- }
+ node_ = tree_->RB_tree_minimum (tree_->root_);
else
- {
- node_ = tree_->RB_tree_maximum (tree_->root_);
- }
+ node_ = tree_->RB_tree_maximum (tree_->root_);
}
// Copy constructor.
@@ -995,7 +877,6 @@ ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::operator= (co
node_ = iter.node_;
}
-
// Destructor.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK>
@@ -1004,12 +885,6 @@ ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::~ACE_RB_Tree_
ACE_TRACE ("ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::~ACE_RB_Tree_Iterator_Base");
}
-
-//////////////////////////////////////////////////////////////////
-// template class //
-// ACE_RB_Tree_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> //
-//////////////////////////////////////////////////////////////////
-
ACE_ALLOC_HOOK_DEFINE(ACE_RB_Tree_Iterator)
// Constructor.
@@ -1022,7 +897,6 @@ ACE_RB_Tree_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::ACE_RB_Tree_Iterat
ACE_TRACE ("ACE_RB_Tree_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::ACE_RB_Tree_Iterator");
}
-
// Destructor.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK>
@@ -1031,11 +905,6 @@ ACE_RB_Tree_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::~ACE_RB_Tree_Itera
ACE_TRACE ("ACE_RB_Tree_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::~ACE_RB_Tree_Iterator");
}
-//////////////////////////////////////////////////////////////////////////
-// template class //
-// ACE_RB_Tree_Reverse_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> //
-//////////////////////////////////////////////////////////////////////////
-
ACE_ALLOC_HOOK_DEFINE(ACE_RB_Tree_Reverse_Iterator)
// Constructor.
@@ -1047,7 +916,6 @@ ACE_RB_Tree_Reverse_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::ACE_RB_Tre
ACE_TRACE ("ACE_RB_Tree_Reverse_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::ACE_RB_Tree_Reverse_Iterator");
}
-
// Destructor.
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK>
@@ -1056,5 +924,4 @@ ACE_RB_Tree_Reverse_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::~ACE_RB_Tr
ACE_TRACE ("ACE_RB_Tree_Reverse_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::~ACE_RB_Tree_Reverse_Iterator");
}
-
#endif /* !defined (ACE_RB_TREE_C) */
diff --git a/ace/Reactor.cpp b/ace/Reactor.cpp
index bb43fcbdee8..ebf860d9786 100644
--- a/ace/Reactor.cpp
+++ b/ace/Reactor.cpp
@@ -35,15 +35,19 @@ ACE_Reactor::ACE_Reactor (ACE_Reactor_Impl *impl,
|| defined (ACE_USE_SELECT_REACTOR_FOR_REACTOR_IMPL) \
|| defined (ACE_USE_TP_REACTOR_FOR_REACTOR_IMPL)
#if defined (ACE_USE_TP_REACTOR_FOR_REACTOR_IMPL)
- ACE_NEW (impl, ACE_TP_Reactor);
+ ACE_NEW (impl,
+ ACE_TP_Reactor);
#else
- ACE_NEW (impl, ACE_Select_Reactor);
+ ACE_NEW (impl,
+ ACE_Select_Reactor);
#endif /* ACE_USE_TP_REACTOR_FOR_REACTOR_IMPL */
#else /* We are on Win32 and we have winsock and ACE_USE_SELECT_REACTOR_FOR_REACTOR_IMPL is not defined */
#if defined (ACE_USE_MSG_WFMO_REACTOR_FOR_REACTOR_IMPL)
- ACE_NEW (impl, ACE_Msg_WFMO_Reactor);
+ ACE_NEW (impl,
+ ACE_Msg_WFMO_Reactor);
#else
- ACE_NEW (impl, ACE_WFMO_Reactor);
+ ACE_NEW (impl,
+ ACE_WFMO_Reactor);
#endif /* ACE_USE_MSG_WFMO_REACTOR_FOR_REACTOR_IMPL */
#endif /* !defined (ACE_WIN32) || !defined (ACE_HAS_WINSOCK2) || (ACE_HAS_WINSOCK2 == 0) || defined (ACE_USE_SELECT_REACTOR_FOR_REACTOR_IMPL) */
this->implementation (impl);
@@ -80,7 +84,9 @@ ACE_Reactor::instance (void)
if (ACE_Reactor::reactor_ == 0)
{
- ACE_NEW_RETURN (ACE_Reactor::reactor_, ACE_Reactor, 0);
+ ACE_NEW_RETURN (ACE_Reactor::reactor_,
+ ACE_Reactor,
+ 0);
ACE_Reactor::delete_reactor_ = 1;
}
}
diff --git a/ace/Remote_Tokens.cpp b/ace/Remote_Tokens.cpp
index 72881602d7d..7e47be74ac0 100644
--- a/ace/Remote_Tokens.cpp
+++ b/ace/Remote_Tokens.cpp
@@ -58,7 +58,9 @@ ACE_TSS_Connection::make_TSS_TYPE (void) const
ACE_SOCK_Connector connector;
ACE_SOCK_Stream *stream = 0;
- ACE_NEW_RETURN (stream, ACE_SOCK_Stream, 0);
+ ACE_NEW_RETURN (stream,
+ ACE_SOCK_Stream,
+ 0);
if (connector.connect (*stream, server_address_) == -1)
{
diff --git a/ace/SOCK_Dgram.cpp b/ace/SOCK_Dgram.cpp
index 7c25da9af3e..1e780337673 100644
--- a/ace/SOCK_Dgram.cpp
+++ b/ace/SOCK_Dgram.cpp
@@ -283,7 +283,9 @@ ACE_SOCK_Dgram::send (const iovec iov[],
#if defined (ACE_HAS_ALLOCA)
buf = alloca (length);
#else
- ACE_NEW_RETURN (buf, char[length], -1);
+ ACE_NEW_RETURN (buf,
+ char[length],
+ -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
char *ptr = buf;
@@ -330,7 +332,9 @@ ACE_SOCK_Dgram::recv (iovec iov[],
#if defined (ACE_HAS_ALLOCA)
buf = alloca (length);
#else
- ACE_NEW_RETURN (buf, char[length], -1);
+ ACE_NEW_RETURN (buf,
+ char[length],
+ -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
length = ACE_SOCK_Dgram::recv (buf, length, addr, flags);
diff --git a/ace/SOCK_IO.cpp b/ace/SOCK_IO.cpp
index abf00af3559..2431033c70d 100644
--- a/ace/SOCK_IO.cpp
+++ b/ace/SOCK_IO.cpp
@@ -94,7 +94,9 @@ ACE_SOCK_IO::send (size_t n, ...) const
#if defined (ACE_HAS_ALLOCA)
iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
+ ACE_NEW_RETURN (iovp,
+ iovec[total_tuples],
+ -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
@@ -132,7 +134,9 @@ ACE_SOCK_IO::recv (size_t n, ...) const
#if defined (ACE_HAS_ALLOCA)
iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
+ ACE_NEW_RETURN (iovp,
+ iovec[total_tuples],
+ -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
diff --git a/ace/SPIPE_Stream.cpp b/ace/SPIPE_Stream.cpp
index 29a5433dd3d..533a47bf080 100644
--- a/ace/SPIPE_Stream.cpp
+++ b/ace/SPIPE_Stream.cpp
@@ -40,7 +40,9 @@ ACE_SPIPE_Stream::send (size_t n, ...) const
#if defined (ACE_HAS_ALLOCA)
iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
+ ACE_NEW_RETURN (iovp,
+ iovec[total_tuples],
+ -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
@@ -75,7 +77,9 @@ ACE_SPIPE_Stream::recv (size_t n, ...) const
#if defined (ACE_HAS_ALLOCA)
iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
+ ACE_NEW_RETURN (iovp,
+ iovec[total_tuples],
+ -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
diff --git a/ace/SString.cpp b/ace/SString.cpp
index ce850e4673f..84d12bedf9a 100644
--- a/ace/SString.cpp
+++ b/ace/SString.cpp
@@ -646,7 +646,9 @@ ACE_WString::char_rep (void) const
{
char *t;
- ACE_NEW_RETURN (t, char[this->len_ + 1], 0);
+ ACE_NEW_RETURN (t,
+ char[this->len_ + 1],
+ 0);
for (size_t i = 0; i < this->len_; i++)
// Note that this cast may lose data if wide chars are
diff --git a/ace/Service_Config.cpp b/ace/Service_Config.cpp
index 8ddf2e566f5..52a2ec4b190 100644
--- a/ace/Service_Config.cpp
+++ b/ace/Service_Config.cpp
@@ -73,8 +73,9 @@ ACE_STATIC_SVCS *
ACE_Service_Config::static_svcs (void)
{
if (ACE_Service_Config::static_svcs_ == 0)
- ACE_NEW_RETURN (ACE_Service_Config::static_svcs_, ACE_STATIC_SVCS, 0);
-
+ ACE_NEW_RETURN (ACE_Service_Config::static_svcs_,
+ ACE_STATIC_SVCS,
+ 0);
return ACE_Service_Config::static_svcs_;
}
@@ -514,11 +515,12 @@ ACE_Service_Config::load_static_svcs (void)
ACE_Service_Type *sr;
- ACE_NEW_RETURN (sr, ACE_Service_Type (ssd->name_,
- stp,
- 0,
- ssd->active_), -1);
-
+ ACE_NEW_RETURN (sr,
+ ACE_Service_Type (ssd->name_,
+ stp,
+ 0,
+ ssd->active_),
+ -1);
if (ACE_Service_Repository::instance ()->insert (sr) == -1)
return -1;
}
diff --git a/ace/Signal.cpp b/ace/Signal.cpp
index 16fd4fef9f5..a596ba17a33 100644
--- a/ace/Signal.cpp
+++ b/ace/Signal.cpp
@@ -465,8 +465,9 @@ ACE_Sig_Handlers_Set::instance (int signum)
if (signum <= 0 || signum >= ACE_NSIG)
return 0; // This will cause problems...
else if (ACE_Sig_Handlers_Set::sig_handlers_[signum] == 0)
- ACE_NEW_RETURN (ACE_Sig_Handlers_Set::sig_handlers_[signum], ACE_SIG_HANDLERS_SET, 0);
-
+ ACE_NEW_RETURN (ACE_Sig_Handlers_Set::sig_handlers_[signum],
+ ACE_SIG_HANDLERS_SET,
+ 0);
return ACE_Sig_Handlers_Set::sig_handlers_[signum];
}
@@ -527,8 +528,10 @@ ACE_Sig_Handlers::register_handler (int signum,
// Create a new 3rd party disposition, remembering its
// preferred signal blocking etc...;
- ACE_NEW_RETURN (extern_sh, ACE_Sig_Adapter (sa, ++ACE_Sig_Handlers::sigkey_), -1);
-
+ ACE_NEW_RETURN (extern_sh,
+ ACE_Sig_Adapter (sa,
+ ++ACE_Sig_Handlers::sigkey_),
+ -1);
// Add the external signal handler to the set of handlers
// for this signal.
if (ACE_Sig_Handlers_Set::instance (signum)->insert (extern_sh) == -1)
@@ -538,8 +541,10 @@ ACE_Sig_Handlers::register_handler (int signum,
}
}
// Add our new handler at this point.
- ACE_NEW_RETURN (ace_sig_adapter, ACE_Sig_Adapter (new_sh, ++ACE_Sig_Handlers::sigkey_), -1);
-
+ ACE_NEW_RETURN (ace_sig_adapter,
+ ACE_Sig_Adapter (new_sh,
+ ++ACE_Sig_Handlers::sigkey_),
+ -1);
// Add the ACE signal handler to the set of handlers for this
// signal (make sure it goes before the external one if there is
// one of these).
@@ -750,7 +755,10 @@ ACE_Sig_Handlers::handler (int signum, ACE_Event_Handler *new_sh)
// ACE_Unbounded_Set...).
ACE_Sig_Adapter *temp;
- ACE_NEW_RETURN (temp, ACE_Sig_Adapter (new_sh, ++ACE_Sig_Handlers::sigkey_), 0);
+ ACE_NEW_RETURN (temp,
+ ACE_Sig_Adapter (new_sh,
+ ++ACE_Sig_Handlers::sigkey_),
+ 0);
handler_set->insert (temp);
return *eh;
}
diff --git a/ace/Singleton.cpp b/ace/Singleton.cpp
index 3ebca15eed5..81c64546af6 100644
--- a/ace/Singleton.cpp
+++ b/ace/Singleton.cpp
@@ -68,8 +68,9 @@ ACE_Singleton<TYPE, ACE_LOCK>::instance (void)
// ACE_Object_Manager: we'll have to leak this instance.
#endif /* ACE_MT_SAFE */
- ACE_NEW_RETURN (singleton, (ACE_Singleton<TYPE, ACE_LOCK>), 0);
-
+ ACE_NEW_RETURN (singleton,
+ (ACE_Singleton<TYPE,
+ ACE_LOCK>), 0);
#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
}
else
@@ -86,8 +87,9 @@ ACE_Singleton<TYPE, ACE_LOCK>::instance (void)
if (singleton == 0)
{
- ACE_NEW_RETURN (singleton, (ACE_Singleton<TYPE, ACE_LOCK>), 0);
-
+ ACE_NEW_RETURN (singleton,
+ (ACE_Singleton<TYPE,
+ ACE_LOCK>), 0);
// Register for destruction with ACE_Object_Manager.
ACE_Object_Manager::at_exit (singleton);
}
@@ -159,9 +161,9 @@ ACE_TSS_Singleton<TYPE, ACE_LOCK>::instance (void)
// don't register for destruction with the
// ACE_Object_Manager: we'll have to leak this instance.
#endif /* ACE_MT_SAFE */
-
- ACE_NEW_RETURN (singleton, (ACE_TSS_Singleton<TYPE, ACE_LOCK>), 0);
-
+ ACE_NEW_RETURN (singleton,
+ (ACE_TSS_Singleton<TYPE, ACE_LOCK>),
+ 0);
#if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
}
else
@@ -177,9 +179,9 @@ ACE_TSS_Singleton<TYPE, ACE_LOCK>::instance (void)
if (singleton == 0)
{
- ACE_NEW_RETURN (singleton, (ACE_TSS_Singleton<TYPE, ACE_LOCK>),
+ ACE_NEW_RETURN (singleton,
+ (ACE_TSS_Singleton<TYPE, ACE_LOCK>),
0);
-
// Register for destruction with ACE_Object_Manager.
ACE_Object_Manager::at_exit (singleton);
}
diff --git a/ace/Strategies_T.cpp b/ace/Strategies_T.cpp
index 55898c2ecc8..47a832cbb99 100644
--- a/ace/Strategies_T.cpp
+++ b/ace/Strategies_T.cpp
@@ -77,18 +77,17 @@ ACE_DLL_Strategy<SVC_HANDLER>::make_svc_handler (SVC_HANDLER *&sh)
// Create an ACE_Service_Type containing the SVC_Handler and
// insert into this->svc_rep_;
- ACE_Service_Type_Impl *stp =
- new ACE_Service_Object_Type (svc_handler, this->svc_name_);
-
- if (stp == 0)
- {
- errno = ENOMEM;
- return -1;
- }
+ ACE_Service_Type_Impl *stp;
+ ACE_NEW_RETURN (stp,
+ ACE_Service_Object_Type (svc_handler,
+ this->svc_name_),
+ -1);
ACE_Service_Type *srp =
- new ACE_Service_Type (this->svc_name_, stp, handle, 1);
-
+ new ACE_Service_Type (this->svc_name_,
+ stp,
+ handle,
+ 1);
if (srp == 0)
{
delete stp;
diff --git a/ace/Stream.cpp b/ace/Stream.cpp
index f8af657ff6d..efdffd1cbb0 100644
--- a/ace/Stream.cpp
+++ b/ace/Stream.cpp
@@ -231,26 +231,10 @@ ACE_Stream<ACE_SYNCH_USE>::push_module (ACE_Module<ACE_SYNCH_USE> *new_top,
return 0;
}
-#if 0
template <ACE_SYNCH_DECL> int
ACE_Stream<ACE_SYNCH_USE>::open (void *a,
- ACE_Multiplexor &muxer,
- ACE_Module<ACE_SYNCH_USE> *head)
-{
- ACE_TRACE ("ACE_Stream<ACE_SYNCH_USE>::open");
- this->stream_head_ = head == 0
- ? new ACE_Module<ACE_SYNCH_USE> ("ACE_Stream_Head",
- new ACE_Stream_Head<ACE_SYNCH_USE>,
- new ACE_Stream_Head<ACE_SYNCH_USE>, a) : head;
- this->stream_tail_ = 0;
- return muxer.link_from_below (this->stream_head_);
-}
-#endif
-
-template <ACE_SYNCH_DECL> int
-ACE_Stream<ACE_SYNCH_USE>::open (void *a,
- ACE_Module<ACE_SYNCH_USE> *head,
- ACE_Module<ACE_SYNCH_USE> *tail)
+ ACE_Module<ACE_SYNCH_USE> *head,
+ ACE_Module<ACE_SYNCH_USE> *tail)
{
ACE_TRACE ("ACE_Stream<ACE_SYNCH_USE>::open");
ACE_GUARD_RETURN (ACE_SYNCH_MUTEX_T, ace_mon, this->lock_, -1);
@@ -355,11 +339,12 @@ ACE_Stream<ACE_SYNCH_USE>::control (ACE_IO_Cntl_Msg::ACE_IO_Cntl_Cmds cmd,
ACE_Message_Block *db;
// Try to create a data block that contains the user-supplied data.
- ACE_NEW_RETURN (db, ACE_Message_Block (sizeof (int),
- ACE_Message_Block::MB_IOCTL,
- 0,
- (char *) a), -1);
-
+ ACE_NEW_RETURN (db,
+ ACE_Message_Block (sizeof (int),
+ ACE_Message_Block::MB_IOCTL,
+ 0,
+ (char *) a),
+ -1);
// Try to create a control block <cb> that contains the control
// field and a pointer to the data block <db> in <cb>'s continuation
// field.
diff --git a/ace/Synch_T.cpp b/ace/Synch_T.cpp
index 5946d443182..2c75b420838 100644
--- a/ace/Synch_T.cpp
+++ b/ace/Synch_T.cpp
@@ -32,7 +32,8 @@ ACE_Lock_Adapter<ACE_LOCKING_MECHANISM>::ACE_Lock_Adapter (void)
: lock_ (0),
delete_lock_ (1)
{
- ACE_NEW (this->lock_, ACE_LOCKING_MECHANISM);
+ ACE_NEW (this->lock_,
+ ACE_LOCKING_MECHANISM);
}
template <class ACE_LOCKING_MECHANISM>
@@ -725,7 +726,9 @@ ACE_TSS_Guard<ACE_LOCK>::ACE_TSS_Guard (ACE_LOCK &lock, int block)
this->init_key ();
ACE_Guard<ACE_LOCK> *guard;
- ACE_NEW (guard, ACE_Guard<ACE_LOCK> (lock, block));
+ ACE_NEW (guard,
+ ACE_Guard<ACE_LOCK> (lock,
+ block));
#if defined (ACE_HAS_THR_C_DEST)
ACE_TSS_Adapter *tss_adapter;
@@ -788,7 +791,9 @@ ACE_TSS_Write_Guard<ACE_LOCK>::ACE_TSS_Write_Guard (ACE_LOCK &lock,
this->init_key ();
ACE_Guard<ACE_LOCK> *guard;
- ACE_NEW (guard, ACE_Write_Guard<ACE_LOCK> (lock, block));
+ ACE_NEW (guard,
+ ACE_Write_Guard<ACE_LOCK> (lock,
+ block));
#if defined (ACE_HAS_THR_C_DEST)
ACE_TSS_Adapter *tss_adapter;
@@ -873,8 +878,9 @@ ACE_TSS_Read_Guard<ACE_LOCK>::ACE_TSS_Read_Guard (ACE_LOCK &lock, int block)
this->init_key ();
ACE_Guard<ACE_LOCK> *guard;
- ACE_NEW (guard, ACE_Read_Guard<ACE_LOCK> (lock, block));
-
+ ACE_NEW (guard,
+ ACE_Read_Guard<ACE_LOCK> (lock,
+ block));
#if defined (ACE_HAS_THR_C_DEST)
ACE_TSS_Adapter *tss_adapter;
ACE_NEW (tss_adapter,
diff --git a/ace/System_Time.cpp b/ace/System_Time.cpp
index 0ad522daca9..833086650cd 100644
--- a/ace/System_Time.cpp
+++ b/ace/System_Time.cpp
@@ -10,7 +10,8 @@ ACE_System_Time::ACE_System_Time (LPCTSTR poolname)
: delta_time_ (0)
{
ACE_TRACE ("ACE_System_Time::ACE_System_Time");
- ACE_NEW (this->shmem_, ALLOCATOR (poolname));
+ ACE_NEW (this->shmem_,
+ ALLOCATOR (poolname));
}
ACE_System_Time::~ACE_System_Time (void)
diff --git a/ace/TLI.cpp b/ace/TLI.cpp
index f6d0ec697cc..39b17f2a58d 100644
--- a/ace/TLI.cpp
+++ b/ace/TLI.cpp
@@ -27,7 +27,8 @@ ACE_TLI::ACE_TLI (void)
// (jph@ccrl.nj.nec.com) for the help.
this->so_opt_req.opt.maxlen = sizeof (opthdr) + sizeof (long);
- ACE_NEW (this->so_opt_req.opt.buf, char[this->so_opt_req.opt.maxlen]);
+ ACE_NEW (this->so_opt_req.opt.buf,
+ char[this->so_opt_req.opt.maxlen]);
this->so_opt_ret.opt.maxlen = sizeof (opthdr) + sizeof (long);
this->so_opt_ret.opt.buf = new char[this->so_opt_ret.opt.maxlen];
diff --git a/ace/Task_T.cpp b/ace/Task_T.cpp
index b6425369a05..17c4612e67e 100644
--- a/ace/Task_T.cpp
+++ b/ace/Task_T.cpp
@@ -56,7 +56,8 @@ ACE_Task<ACE_SYNCH_USE>::ACE_Task (ACE_Thread_Manager *thr_man,
if (mq == 0)
{
- ACE_NEW (mq, ACE_Message_Queue<ACE_SYNCH_USE>);
+ ACE_NEW (mq,
+ ACE_Message_Queue<ACE_SYNCH_USE>);
this->delete_msg_queue_ = 1;
}
diff --git a/ace/Thread_Manager.cpp b/ace/Thread_Manager.cpp
index b4210955aa6..560cf96f404 100644
--- a/ace/Thread_Manager.cpp
+++ b/ace/Thread_Manager.cpp
@@ -203,7 +203,11 @@ ACE_Thread_Descriptor::at_exit (void *object,
else
{
ACE_At_Thread_Exit* cleanup;
- ACE_NEW_RETURN (cleanup, ACE_At_Thread_Exit_Func (object,cleanup_hook,param), -1);
+ ACE_NEW_RETURN (cleanup,
+ ACE_At_Thread_Exit_Func (object,
+ cleanup_hook,
+ param),
+ -1);
this->at_push (cleanup);
}
#endif /* ACE_USE_ONE_SHOT_AT_THREAD_EXIT */
@@ -240,7 +244,8 @@ ACE_Thread_Descriptor::ACE_Thread_Descriptor (void)
this->cleanup_info_.object_ = 0;
this->cleanup_info_.param_ = 0;
#endif /* ACE_USE_ONE_SHOT_AT_THREAD_EXIT */
- ACE_NEW (this->sync_, ACE_DEFAULT_THREAD_MANAGER_LOCK);
+ ACE_NEW (this->sync_,
+ ACE_DEFAULT_THREAD_MANAGER_LOCK);
}
void
@@ -334,7 +339,9 @@ ACE_Thread_Manager::instance (void)
if (ACE_Thread_Manager::thr_mgr_ == 0)
{
- ACE_NEW_RETURN (ACE_Thread_Manager::thr_mgr_, ACE_Thread_Manager, 0);
+ ACE_NEW_RETURN (ACE_Thread_Manager::thr_mgr_,
+ ACE_Thread_Manager,
+ 0);
ACE_Thread_Manager::delete_thr_mgr_ = 1;
}
}
@@ -443,13 +450,19 @@ ACE_Thread_Exit::instance (void)
if (instance_ == 0)
{
- ACE_NEW_RETURN (instance_, ACE_TSS_TYPE (ACE_Thread_Exit), 0);
+ ACE_NEW_RETURN (instance_,
+ ACE_TSS_TYPE (ACE_Thread_Exit),
+ 0);
// Register for destruction with ACE_Object_Manager.
#if defined ACE_HAS_SIG_C_FUNC
- ACE_Object_Manager::at_exit (instance_, ACE_Thread_Exit_cleanup, 0);
+ ACE_Object_Manager::at_exit (instance_,
+ ACE_Thread_Exit_cleanup,
+ 0);
#else
- ACE_Object_Manager::at_exit (instance_, ACE_Thread_Exit::cleanup, 0);
+ ACE_Object_Manager::at_exit (instance_,
+ ACE_Thread_Exit::cleanup,
+ 0);
#endif /* ACE_HAS_SIG_C_FUNC */
}
}
@@ -660,7 +673,9 @@ ACE_Thread_Manager::spawn_i (ACE_THR_FUNC func,
if (t_id == 0)
{
char *thr_id;
- ACE_NEW_RETURN (thr_id, char[16], -1);
+ ACE_NEW_RETURN (thr_id,
+ char[16],
+ -1);
// Mark the thread ID to show that the ACE_Thread_Manager
// allocated it.
thr_id[0] = ACE_THR_ID_ALLOCATED;
@@ -842,7 +857,9 @@ ACE_Thread_Manager::append_thr (ACE_thread_t t_id,
ACE_Thread_Descriptor *thr_desc;
if (td == 0)
- ACE_NEW_RETURN (thr_desc, ACE_Thread_Descriptor, -1);
+ ACE_NEW_RETURN (thr_desc,
+ ACE_Thread_Descriptor,
+ -1);
else
thr_desc = td;
diff --git a/ace/Timer_Hash_T.cpp b/ace/Timer_Hash_T.cpp
index d6d8e2b3921..66a4f26031d 100644
--- a/ace/Timer_Hash_T.cpp
+++ b/ace/Timer_Hash_T.cpp
@@ -56,14 +56,16 @@ ACE_Timer_Hash_Upcall<TYPE, FUNCTOR, ACE_LOCK>::timeout (ACE_Timer_Queue_T<ACE_E
{
ACE_UNUSED_ARG (timer_queue);
- Hash_Token *h = (Hash_Token *)arg;
-
- int ret = this->timer_hash_->upcall_functor ().timeout (*this->timer_hash_,
- handler,
- h->act_,
- cur_time);
+ Hash_Token *h = ACE_reinterpret_cast (Hash_Token *,
+ ACE_const_cast (void *,
+ arg));
+ int result =
+ this->timer_hash_->upcall_functor ().timeout (*this->timer_hash_,
+ handler,
+ h->act_,
+ cur_time);
delete h;
- return ret;
+ return result;
}
@@ -85,20 +87,22 @@ ACE_Timer_Hash_Upcall<TYPE, FUNCTOR, ACE_LOCK>::cancellation (ACE_Timer_Queue_T<
template <class TYPE, class FUNCTOR, class ACE_LOCK> int
ACE_Timer_Hash_Upcall<TYPE, FUNCTOR, ACE_LOCK>::deletion (ACE_Timer_Queue_T<ACE_Event_Handler *,
- ACE_Timer_Hash_Upcall<TYPE, FUNCTOR, ACE_LOCK>,
- ACE_Null_Mutex> &timer_queue,
- ACE_Event_Handler *handler,
- const void *arg)
+ ACE_Timer_Hash_Upcall<TYPE, FUNCTOR, ACE_LOCK>,
+ ACE_Null_Mutex> &timer_queue,
+ ACE_Event_Handler *handler,
+ const void *arg)
{
ACE_UNUSED_ARG (timer_queue);
- Hash_Token *h = (Hash_Token *)arg;
-
- int ret = this->timer_hash_->upcall_functor ().deletion (*this->timer_hash_,
- handler,
- h->act_);
+ Hash_Token *h = ACE_reinterpret_cast (Hash_Token *,
+ ACE_const_cast (void *,
+ arg));
+ int result =
+ this->timer_hash_->upcall_functor ().deletion (*this->timer_hash_,
+ handler,
+ h->act_);
delete h;
- return ret;
+ return result;
}
@@ -107,7 +111,7 @@ template <class TYPE, class FUNCTOR, class ACE_LOCK, class BUCKET>
ACE_Timer_Hash_Iterator_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::ACE_Timer_Hash_Iterator_T (ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET> &hash)
: timer_hash_ (hash)
{
- this->first();
+ this->first ();
// Nothing
}
@@ -133,7 +137,6 @@ ACE_Timer_Hash_Iterator_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::first (void)
this->iter_ = 0;
}
-
// Positions the iterator at the next node in the bucket or goes to the next
// bucket
@@ -164,7 +167,6 @@ ACE_Timer_Hash_Iterator_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::next (void)
this->iter_->next ();
}
-
// Returns true when we are at the end (when bucket_item_ == 0)
template <class TYPE, class FUNCTOR, class ACE_LOCK, class BUCKET> int
@@ -173,7 +175,6 @@ ACE_Timer_Hash_Iterator_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::isdone (void)
return this->iter_ == 0;
}
-
// Returns the node at the current position in the sequence
template <class TYPE, class FUNCTOR, class ACE_LOCK, class BUCKET> ACE_Timer_Node_T<TYPE> *
@@ -211,11 +212,14 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::ACE_Timer_Hash_T (size_t tabl
for (size_t i = 0; i < table_size; i++)
{
- this->table_[i] = new BUCKET (&this->table_functor_, this->free_list_);
+ ACE_NEW (this->table_[i],
+ BUCKET (&this->table_functor_,
+ this->free_list_));
this->table_[i]->gettimeofday (ACE_OS::gettimeofday);
}
- iterator_ = new HASH_ITERATOR(*this);
+ ACE_NEW (iterator_,
+ HASH_ITERATOR (*this));
}
@@ -235,11 +239,14 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::ACE_Timer_Hash_T (FUNCTOR *up
for (size_t i = 0; i < this->table_size_; i++)
{
- this->table_[i] = new BUCKET (&this->table_functor_, this->free_list_);
+ ACE_NEW (this->table_[i],
+ BUCKET (&this->table_functor_,
+ this->free_list_));
this->table_[i]->gettimeofday (ACE_OS::gettimeofday);
}
- iterator_ = new HASH_ITERATOR(*this);
+ ACE_NEW (iterator_,
+ HASH_ITERATOR (*this));
}
@@ -268,7 +275,6 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::is_empty (void) const
return this->table_[this->earliest_position_]->is_empty ();
}
-
// Returns earliest time in a non-empty bucket
template <class TYPE, class FUNCTOR, class ACE_LOCK, class BUCKET> const ACE_Time_Value &
@@ -292,7 +298,6 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::dump (void) const
ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
}
-
// Reschedule a periodic timer. This function must be called with the
// mutex lock held.
@@ -301,9 +306,12 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::reschedule (ACE_Timer_Node_T<
{
ACE_TRACE ("ACE_Timer_Hash_T::reschedule");
- size_t position = expired->get_timer_value ().usec () % this->table_size_;
+ size_t position =
+ expired->get_timer_value ().usec () % this->table_size_;
- Hash_Token *h = (Hash_Token *)expired->get_act ();
+ Hash_Token *h = ACE_reinterpret_cast (Hash_Token *,
+ ACE_const_cast (void *,
+ expired->get_act ()));
h->orig_id_ = this->table_[position]->schedule (expired->get_type (),
h,
@@ -311,11 +319,11 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::reschedule (ACE_Timer_Node_T<
expired->get_interval ());
if (this->table_[this->earliest_position_]->is_empty ()
- || this->table_[position]->earliest_time () < this->table_[this->earliest_position_]->earliest_time ())
+ || this->table_[position]->earliest_time ()
+ < this->table_[this->earliest_position_]->earliest_time ())
this->earliest_position_ = position;
}
-
// Insert a new handler that expires at time future_time; if interval
// is > 0, the handler will be reinvoked periodically.
@@ -330,7 +338,13 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::schedule (const TYPE &type,
size_t position = future_time.usec () % this->table_size_;
- Hash_Token *h = new Hash_Token (act, position, 0);
+ Hash_Token *h;
+
+ ACE_NEW_RETURN (h,
+ Hash_Token (act,
+ position,
+ 0),
+ -1);
h->orig_id_ = this->table_[position]->schedule (type,
h,
@@ -343,7 +357,8 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::schedule (const TYPE &type,
++this->size_;
- return (long) h;
+ return ACE_reinterpret_cast (long,
+ h);
}
// Locate and remove the single <ACE_Event_Handler> with a value of
@@ -351,20 +366,23 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::schedule (const TYPE &type,
template <class TYPE, class FUNCTOR, class ACE_LOCK, class BUCKET> int
ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::cancel (long timer_id,
- const void **act,
- int dont_call)
+ const void **act,
+ int dont_call)
{
ACE_TRACE ("ACE_Timer_Hash_T::cancel");
ACE_MT (ACE_GUARD_RETURN (ACE_LOCK, ace_mon, this->mutex_, -1));
// Make sure we are getting a valid <timer_id>, not an error
- // returned by schedule ()
+ // returned by <schedule>.
if (timer_id == -1)
return 0;
- Hash_Token *h = (Hash_Token *)timer_id;
+ Hash_Token *h = ACE_reinterpret_cast (Hash_Token *,
+ timer_id);
- int ret = this->table_[h->pos_]->cancel (h->orig_id_, act, dont_call);
+ int result = this->table_[h->pos_]->cancel (h->orig_id_,
+ act,
+ dont_call);
if (h->pos_ == this->earliest_position_)
this->find_new_earliest ();
@@ -376,10 +394,9 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::cancel (long timer_id,
--this->size_;
- return ret;
+ return result;
}
-
// Locate and remove all values of <type> from the timer queue.
template <class TYPE, class FUNCTOR, class ACE_LOCK, class BUCKET> int
@@ -392,18 +409,29 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::cancel (const TYPE &type,
size_t i; // loop variable
- Hash_Token **timer_ids = new Hash_Token *[this->size_];
+ Hash_Token **timer_ids;
+
+ ACE_NEW_RETURN (timer_ids,
+ Hash_Token *[this->size_],
+ -1);
size_t pos = 0;
- for (i = 0; i < this->table_size_; i++)
+ for (i = 0;
+ i < this->table_size_;
+ i++)
{
- ACE_Timer_Queue_Iterator_T<TYPE, ACE_Timer_Hash_Upcall<TYPE, FUNCTOR, ACE_LOCK>, ACE_Null_Mutex> &iter = this->table_[i]->iter ();
- for (iter.first (); !iter.isdone (); iter.next ())
+ ACE_Timer_Queue_Iterator_T<TYPE, ACE_Timer_Hash_Upcall<TYPE, FUNCTOR, ACE_LOCK>, ACE_Null_Mutex> &iter =
+ this->table_[i]->iter ();
+
+ for (iter.first ();
+ !iter.isdone ();
+ iter.next ())
if (iter.item ()->get_type () == type)
timer_ids[pos++] = (Hash_Token *)iter.item ()->get_act ();
}
- ACE_ASSERT (pos <= this->size_);
+ if (pos <= this->size_)
+ return -1;
for (i = 0; i < pos; i++)
{
@@ -417,14 +445,13 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::cancel (const TYPE &type,
delete [] timer_ids;
if (dont_call == 0)
- this->upcall_functor ().cancellation (*this, type);
+ this->upcall_functor ().cancellation (*this, type);
this->find_new_earliest ();
return pos;
}
-
// Removes the earliest node and finds the new earliest position
template <class TYPE, class FUNCTOR, class ACE_LOCK, class BUCKET> ACE_Timer_Node_T<TYPE> *
@@ -433,7 +460,8 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::remove_first (void)
if (this->is_empty ())
return 0;
- ACE_Timer_Node_T<TYPE> *temp = this->table_[this->earliest_position_]->remove_first ();
+ ACE_Timer_Node_T<TYPE> *temp =
+ this->table_[this->earliest_position_]->remove_first ();
this->find_new_earliest ();
@@ -449,13 +477,12 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::find_new_earliest (void)
{
for (size_t i = 0; i < this->table_size_; i++)
if (!this->table_[i]->is_empty ())
- if (this->table_[this->earliest_position_]->is_empty()
+ if (this->table_[this->earliest_position_]->is_empty ()
|| this->earliest_time () == ACE_Time_Value::zero
|| this->table_[i]->earliest_time () <= this->earliest_time ())
this->earliest_position_ = i;
}
-
// Returns the earliest node without removing it
template <class TYPE, class FUNCTOR, class ACE_LOCK, class BUCKET> ACE_Timer_Node_T<TYPE> *
@@ -469,7 +496,6 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::get_first (void)
return this->table_[this->earliest_position_]->get_first ();
}
-
// Dummy version of expire to get rid of warnings in Sun CC 4.2
template <class TYPE, class FUNCTOR, class ACE_LOCK, class BUCKET> int
@@ -478,7 +504,6 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::expire ()
return ACE_Timer_Queue_T<TYPE,FUNCTOR,ACE_LOCK>::expire();
}
-
// Specialized expire for Timer Hash
template <class TYPE, class FUNCTOR, class ACE_LOCK, class BUCKET> int
@@ -493,10 +518,12 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::expire (const ACE_Time_Value
// Go through the table and expire anything that can be expired
- for (size_t i = 0; i < this->table_size_; i++)
+ for (size_t i = 0;
+ i < this->table_size_;
+ i++)
{
- while (!this->table_[i]->is_empty () &&
- this->table_[i]->earliest_time () <= cur_time)
+ while (!this->table_[i]->is_empty ()
+ && this->table_[i]->earliest_time () <= cur_time)
{
expired = this->table_[i]->remove_first ();
--this->size_;
@@ -510,18 +537,23 @@ ACE_Timer_Hash_T<TYPE, FUNCTOR, ACE_LOCK, BUCKET>::expire (const ACE_Time_Value
// Make sure that we skip past values that have already
// "expired".
do
- expired->set_timer_value (expired->get_timer_value () + expired->get_interval ());
+ expired->set_timer_value (expired->get_timer_value ()
+ + expired->get_interval ());
while (expired->get_timer_value () <= cur_time);
- // Since this is an interval timer, we need to reschedule
- // it.
+ // Since this is an interval timer, we need to
+ // reschedule it.
this->reschedule (expired);
reclaim = 0;
}
// call the functor
- Hash_Token *h = (Hash_Token *)act;
- this->upcall (type, h->act_, cur_time);
+ Hash_Token *h = ACE_reinterpret_cast (Hash_Token *,
+ ACE_const_cast (void *,
+ act));
+ this->upcall (type,
+ h->act_,
+ cur_time);
if (reclaim)
{
diff --git a/ace/Timer_Heap_T.cpp b/ace/Timer_Heap_T.cpp
index b67e0bc5f6f..0389707a459 100644
--- a/ace/Timer_Heap_T.cpp
+++ b/ace/Timer_Heap_T.cpp
@@ -89,7 +89,7 @@ ACE_Timer_Heap_T<TYPE, FUNCTOR, ACE_LOCK>::ACE_Timer_Heap_T (size_t size,
// Create the heap array.
ACE_NEW (this->heap_,
- (ACE_Timer_Node_T<TYPE> *[size]));
+ ACE_Timer_Node_T<TYPE> *[size]);
// Create the parallel
ACE_NEW (this->timer_ids_,
@@ -104,7 +104,7 @@ ACE_Timer_Heap_T<TYPE, FUNCTOR, ACE_LOCK>::ACE_Timer_Heap_T (size_t size,
if (preallocate)
{
ACE_NEW (this->preallocated_nodes_,
- (ACE_Timer_Node_T<TYPE>[size]));
+ ACE_Timer_Node_T<TYPE>[size]);
// Add allocated array to set of such arrays for deletion
// on cleanup.
@@ -140,10 +140,10 @@ ACE_Timer_Heap_T<TYPE, FUNCTOR, ACE_LOCK>::ACE_Timer_Heap_T (FUNCTOR *upcall_fun
// Create the heap array.
#if defined (__IBMCPP__) && (__IBMCPP__ >= 400)
ACE_NEW (this->heap_,
- (ACE_Timer_Node_T<TYPE> *[ACE_DEFAULT_TIMERS]));
+ ACE_Timer_Node_T<TYPE> *[ACE_DEFAULT_TIMERS]);
#else
ACE_NEW (this->heap_,
- (ACE_Timer_Node_T<TYPE> *[this->max_size_]));
+ ACE_Timer_Node_T<TYPE> *[this->max_size_]);
#endif /* defined (__IBMCPP__) && (__IBMCPP__ >= 400) */
// Create the parallel array.
@@ -410,14 +410,14 @@ ACE_Timer_Heap_T<TYPE, FUNCTOR, ACE_LOCK>::grow_heap (void)
#if defined (__IBMCPP__) && (__IBMCPP__ >= 400)
ACE_NEW (new_heap,
- (ACE_Timer_Node_T<TYPE> *[1024]));
+ ACE_Timer_Node_T<TYPE> *[1024]);
#else
ACE_NEW (new_heap,
- (ACE_Timer_Node_T<TYPE> *[new_size]));
+ ACE_Timer_Node_T<TYPE> *[new_size]);
#endif /* defined (__IBMCPP__) && (__IBMCPP__ >= 400) */
ACE_NEW (new_heap,
- (ACE_Timer_Node_T<TYPE> *[new_size]));
+ ACE_Timer_Node_T<TYPE> *[new_size]);
ACE_OS::memcpy (new_heap,
this->heap_,
max_size_ * sizeof *new_heap);
@@ -449,10 +449,10 @@ ACE_Timer_Heap_T<TYPE, FUNCTOR, ACE_LOCK>::grow_heap (void)
// to existing list.
#if defined (__IBMCPP__) && (__IBMCPP__ >= 400)
ACE_NEW (this->preallocated_nodes_,
- (ACE_Timer_Node_T<TYPE>[88]));
+ ACE_Timer_Node_T<TYPE>[88]);
#else
ACE_NEW (this->preallocated_nodes_,
- (ACE_Timer_Node_T<TYPE>[this->max_size_]));
+ ACE_Timer_Node_T<TYPE>[this->max_size_]);
#endif /* defined (__IBMCPP__) && (__IBMCPP__ >= 400) */
// Add it to the set for later deletion
@@ -517,7 +517,7 @@ ACE_Timer_Heap_T<TYPE, FUNCTOR, ACE_LOCK>::alloc_node (void)
// Only allocate a node if we are *not* using the preallocated heap.
if (this->preallocated_nodes_ == 0)
ACE_NEW_RETURN (temp,
- (ACE_Timer_Node_T<TYPE>),
+ ACE_Timer_Node_T<TYPE>,
0);
else
{
diff --git a/ace/Timer_List_T.cpp b/ace/Timer_List_T.cpp
index 73aba79ea01..2b9176d9589 100644
--- a/ace/Timer_List_T.cpp
+++ b/ace/Timer_List_T.cpp
@@ -86,7 +86,8 @@ ACE_Timer_List_T<TYPE, FUNCTOR, ACE_LOCK>::ACE_Timer_List_T (FUNCTOR *upcall_fun
this->head_->set_next (this->head_);
this->head_->set_prev (this->head_);
- iterator_ = new LIST_ITERATOR(*this);
+ ACE_NEW (iterator_,
+ LIST_ITERATOR (*this));
}
@@ -211,7 +212,6 @@ ACE_Timer_List_T<TYPE, FUNCTOR, ACE_LOCK>::schedule (const TYPE &type,
return (long) temp;
}
-
// Locate and remove the single <ACE_Event_Handler> with a value of
// <timer_id> from the timer queue.
diff --git a/ace/Timer_Wheel_T.cpp b/ace/Timer_Wheel_T.cpp
index c654cd7d616..ff1557b2660 100644
--- a/ace/Timer_Wheel_T.cpp
+++ b/ace/Timer_Wheel_T.cpp
@@ -40,10 +40,11 @@ ACE_Timer_Wheel_Iterator_T<TYPE, FUNCTOR, ACE_LOCK>::first (void)
this->pos_++)
{
// Skip over empty entries
- if (this->timer_wheel_.wheel_[this->pos_]->get_next () !=
- this->timer_wheel_.wheel_[this->pos_])
+ if (this->timer_wheel_.wheel_[this->pos_]->get_next ()
+ != this->timer_wheel_.wheel_[this->pos_])
{
- this->list_item_ = this->timer_wheel_.wheel_[this->pos_]->get_next ();
+ this->list_item_ =
+ this->timer_wheel_.wheel_[this->pos_]->get_next ();
return;
}
}
@@ -52,7 +53,6 @@ ACE_Timer_Wheel_Iterator_T<TYPE, FUNCTOR, ACE_LOCK>::first (void)
this->list_item_ = 0;
}
-
// Positions the iterator at the next node in list or goes to the next
// list
@@ -62,18 +62,22 @@ ACE_Timer_Wheel_Iterator_T<TYPE, FUNCTOR, ACE_LOCK>::next (void)
if (this->isdone ())
return;
- this->list_item_ = this->list_item_->get_next ();
+ this->list_item_ =
+ this->list_item_->get_next ();
// If there is no more in the current list, go to the next
if (this->list_item_ == this->timer_wheel_.wheel_[this->pos_])
{
- for (this->pos_++; this->pos_ < this->timer_wheel_.wheel_size_; this->pos_++)
+ for (this->pos_++;
+ this->pos_ < this->timer_wheel_.wheel_size_;
+ this->pos_++)
{
// Check for an empty entry
- if (this->timer_wheel_.wheel_[this->pos_]->get_next () !=
- this->timer_wheel_.wheel_[this->pos_])
+ if (this->timer_wheel_.wheel_[this->pos_]->get_next ()
+ != this->timer_wheel_.wheel_[this->pos_])
{
- this->list_item_ = this->timer_wheel_.wheel_[this->pos_]->get_next ();
+ this->list_item_ =
+ this->timer_wheel_.wheel_[this->pos_]->get_next ();
return;
}
}
@@ -82,7 +86,6 @@ ACE_Timer_Wheel_Iterator_T<TYPE, FUNCTOR, ACE_LOCK>::next (void)
}
}
-
// Returns true when we are at the end (when list_item_ == 0)
template <class TYPE, class FUNCTOR, class ACE_LOCK> int
@@ -91,7 +94,6 @@ ACE_Timer_Wheel_Iterator_T<TYPE, FUNCTOR, ACE_LOCK>::isdone (void)
return this->list_item_ == 0;
}
-
// Returns the node at the current position in the sequence
template <class TYPE, class FUNCTOR, class ACE_LOCK> ACE_Timer_Node_T<TYPE> *
@@ -103,9 +105,8 @@ ACE_Timer_Wheel_Iterator_T<TYPE, FUNCTOR, ACE_LOCK>::item (void)
return this->list_item_;
}
-
-// Constructor that sets up the timing wheel and also may preallocate some
-// nodes on the free list
+// Constructor that sets up the timing wheel and also may preallocate
+// some nodes on the free list
template <class TYPE, class FUNCTOR, class ACE_LOCK>
ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::ACE_Timer_Wheel_T (size_t wheelsize,
@@ -124,13 +125,14 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::ACE_Timer_Wheel_T (size_t wheelsize,
this->gettimeofday (ACE_OS::gettimeofday);
// Create the timing wheel
- ACE_NEW (this->wheel_, (ACE_Timer_Node_T<TYPE> *[wheelsize]));
-
+ ACE_NEW (this->wheel_,
+ ACE_Timer_Node_T<TYPE> *[wheelsize]);
// Create the dummy nodes
for (i = 0; i < wheelsize; i++)
{
- ACE_Timer_Node_T<TYPE> *tempnode = this->alloc_node ();
+ ACE_Timer_Node_T<TYPE> *tempnode =
+ this->alloc_node ();
tempnode->set_next (tempnode);
tempnode->set_prev (tempnode);
this->wheel_[i] = tempnode;
@@ -139,12 +141,13 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::ACE_Timer_Wheel_T (size_t wheelsize,
// Do the preallocation
this->free_list_->resize (prealloc);
- iterator_ = new WHEEL_ITERATOR(*this);
+ ACE_NEW (iterator_,
+ WHEEL_ITERATOR (*this));
}
template <class TYPE, class FUNCTOR, class ACE_LOCK>
ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::ACE_Timer_Wheel_T (FUNCTOR *upcall_functor,
- ACE_Free_List<ACE_Timer_Node_T <TYPE> > *freelist)
+ ACE_Free_List<ACE_Timer_Node_T <TYPE> > *freelist)
: ACE_Timer_Queue_T<TYPE,FUNCTOR,ACE_LOCK> (upcall_functor, freelist),
wheel_size_ (ACE_DEFAULT_TIMER_WHEEL_SIZE),
resolution_ (ACE_DEFAULT_TIMER_WHEEL_RESOLUTION),
@@ -156,7 +159,8 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::ACE_Timer_Wheel_T (FUNCTOR *upcall_f
this->gettimeofday (ACE_OS::gettimeofday);
// Create the timing wheel
- ACE_NEW (this->wheel_, (ACE_Timer_Node_T<TYPE> *[this->wheel_size_]));
+ ACE_NEW (this->wheel_,
+ ACE_Timer_Node_T<TYPE> *[this->wheel_size_]);
// Create the dummy nodes
for (i = 0; i < this->wheel_size_; i++)
@@ -167,7 +171,8 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::ACE_Timer_Wheel_T (FUNCTOR *upcall_f
this->wheel_[i] = tempnode;
}
- iterator_ = new WHEEL_ITERATOR(*this);
+ ACE_NEW (iterator_,
+ WHEEL_ITERATOR (*this));
}
// Destructor just cleans up its memory
@@ -179,15 +184,20 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::~ACE_Timer_Wheel_T (void)
delete iterator_;
- for (size_t i = 0; i < this->wheel_size_; i++)
+ for (size_t i = 0;
+ i < this->wheel_size_;
+ i++)
{
// delete nodes until only the dummy node is left
while (this->wheel_[i]->get_next () != this->wheel_[i])
{
- ACE_Timer_Node_T<TYPE> *next = this->wheel_[i]->get_next ();
+ ACE_Timer_Node_T<TYPE> *next =
+ this->wheel_[i]->get_next ();
this->wheel_[i]->set_next (next->get_next ());
next->get_next ()->set_prev (this->wheel_[i]);
- this->upcall_functor ().deletion (*this, next->get_type (), next->get_act ());
+ this->upcall_functor ().deletion (*this,
+ next->get_type (),
+ next->get_act ());
this->free_node (next);
}
@@ -199,7 +209,6 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::~ACE_Timer_Wheel_T (void)
delete [] this->wheel_;
}
-
// Checks to see if <earliest_pos> points to a empty list (then it is empty)
template <class TYPE, class FUNCTOR, class ACE_LOCK> int
@@ -210,7 +219,6 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::is_empty (void) const
return this->wheel_[this->earliest_pos_]->get_next () == this->wheel_[this->earliest_pos_];
}
-
// Returns the first (earliest) node in the <wheel_>'s <earliest_pos_> list
template <class TYPE, class FUNCTOR, class ACE_LOCK> const ACE_Time_Value &
@@ -224,8 +232,8 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::earliest_time (void) const
return this->wheel_[this->earliest_pos_]->get_next ()->get_timer_value ();
}
-// Create the node and pass it to reschedule. Also check to see if the
-// <earliest_pos> should be changed.
+// Create the node and pass it to reschedule. Also check to see if
+// the <earliest_pos> should be changed.
template <class TYPE, class FUNCTOR, class ACE_LOCK> long
ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::schedule (const TYPE &type,
@@ -262,13 +270,12 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::schedule (const TYPE &type,
return -1;
}
-
// Goes through every list in the wheel and if it finds a node with <type>
// then it removes the node and continues on looking for other nodes
template <class TYPE, class FUNCTOR, class ACE_LOCK> int
ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::cancel (const TYPE &type,
- int dont_call_handle_close)
+ int dont_call_handle_close)
{
ACE_TRACE ("ACE_Timer_Wheel_T::cancel");
ACE_MT (ACE_GUARD_RETURN (ACE_LOCK, ace_mon, this->mutex_, -1));
@@ -299,15 +306,14 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::cancel (const TYPE &type,
this->free_node (tempnode);
}
else
- {
- curr = curr->get_next ();
- }
+ curr = curr->get_next ();
}
}
// Look for a new earliest time
- ACE_Time_Value earliest_time; // defaults to zero
+ // Defaults to zero.
+ ACE_Time_Value earliest_time;
// Check every entry in the table
for (i = 0; i < this->wheel_size_; i++)
@@ -319,36 +325,37 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::cancel (const TYPE &type,
if (earliest_time == ACE_Time_Value::zero
|| this->wheel_[i]->get_timer_value () < earliest_time)
{
- earliest_time = this->wheel_[i]->get_next ()->get_timer_value ();
+ earliest_time =
+ this->wheel_[i]->get_next ()->get_timer_value ();
this->earliest_pos_ = i;
}
}
}
if (dont_call_handle_close == 0)
- this->upcall_functor ().cancellation (*this, type);
-
+ this->upcall_functor ().cancellation (*this,
+ type);
return number_of_cancellations;
}
-
// Takes the <timer_id> and casts it to a pointer. Then it removes it
// from its neighbors
template <class TYPE, class FUNCTOR, class ACE_LOCK> int
ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::cancel (long timer_id,
- const void **act,
- int dont_call_handle_close)
+ const void **act,
+ int dont_call_handle_close)
{
ACE_TRACE ("ACE_Timer_Wheel_T::cancel");
ACE_MT (ACE_GUARD_RETURN (ACE_LOCK, ace_mon, this->mutex_, -1));
// Make sure we are getting a valid <timer_id>, not an error
- // returned by schedule ()
+ // returned by <schedule>.
if (timer_id == -1)
return 0;
- ACE_Timer_Node_T<TYPE> *node = (ACE_Timer_Node_T<TYPE> *) timer_id;
+ ACE_Timer_Node_T<TYPE> *node =
+ (ACE_Timer_Node_T<TYPE> *) timer_id;
// Check to see if the node looks like a true ACE_Timer_Node_T<TYPE>
if (timer_id == node->get_timer_id ())
@@ -360,9 +367,10 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::cancel (long timer_id,
*act = node->get_act ();
if (dont_call_handle_close == 0)
- this->upcall_functor ().cancellation (*this, node->get_type ());
+ this->upcall_functor ().cancellation (*this,
+ node->get_type ());
- // Find out what position it is in
+ // Find out what position it is in.
size_t pos = (node->get_timer_value ().usec () / this->resolution_) % this->wheel_size_;
this->free_node (node);
@@ -383,7 +391,8 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::cancel (long timer_id,
if (earliest_time == ACE_Time_Value::zero
|| this->wheel_[i]->get_timer_value () < earliest_time)
{
- earliest_time = this->wheel_[i]->get_next ()->get_timer_value ();
+ earliest_time =
+ this->wheel_[i]->get_next ()->get_timer_value ();
this->earliest_pos_ = i;
}
}
@@ -397,7 +406,6 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::cancel (long timer_id,
return 0;
}
-
// Dumps out some properties of this object
template <class TYPE, class FUNCTOR, class ACE_LOCK> void
@@ -424,7 +432,6 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::dump (void) const
ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
}
-
// Removes the earliest node and then find the new <earliest_pos_>
template <class TYPE, class FUNCTOR, class ACE_LOCK> ACE_Timer_Node_T<TYPE> *
@@ -433,7 +440,8 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::remove_first (void)
ACE_TRACE ("ACE_Timer_Wheel_T::remove_first");
// Remove the item
- ACE_Timer_Node_T<TYPE> *temp = this->wheel_[this->earliest_pos_]->get_next ();
+ ACE_Timer_Node_T<TYPE> *temp =
+ this->wheel_[this->earliest_pos_]->get_next ();
temp->get_prev ()->set_next (temp->get_next ());
temp->get_next ()->set_prev (temp->get_prev ());
@@ -449,17 +457,16 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::remove_first (void)
if (earliest_time == ACE_Time_Value::zero
|| this->wheel_[i]->get_timer_value () < earliest_time)
{
- earliest_time = this->wheel_[i]->get_next ()->get_timer_value ();
+ earliest_time =
+ this->wheel_[i]->get_next ()->get_timer_value ();
this->earliest_pos_ = i;
}
}
}
-
return temp;
}
-
// Returns the earliest node without removing it
template <class TYPE, class FUNCTOR, class ACE_LOCK> ACE_Timer_Node_T<TYPE> *
@@ -470,25 +477,26 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::get_first (void)
return this->wheel_[this->earliest_pos_]->get_next ();
}
-
-// Takes an ACE_Timer_Node and inserts it into the correct position in the correct
-// list
+// Takes an ACE_Timer_Node and inserts it into the correct position in
+// the correct list.
template <class TYPE, class FUNCTOR, class ACE_LOCK> void
ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::reschedule (ACE_Timer_Node_T<TYPE> *expired)
{
ACE_TRACE ("ACE_Timer_Wheel_T::reschedule");
- size_t pos = (expired->get_timer_value ().usec () / this->resolution_) % this->wheel_size_;
+ size_t pos =
+ (expired->get_timer_value ().usec () / this->resolution_) % this->wheel_size_;
// See if we need to update the earliest time
if (this->earliest_time () == ACE_Time_Value::zero
|| expired->get_timer_value () < this->earliest_time ())
this->earliest_pos_ = pos;
- // Insert time into dummy node
+ // Insert time into dummy node.
this->wheel_[pos]->set_timer_value (expired->get_timer_value ());
- ACE_Timer_Node_T<TYPE> *cursor = this->wheel_[pos]->get_next ();
+ ACE_Timer_Node_T<TYPE> *cursor =
+ this->wheel_[pos]->get_next ();
// Find position to insert
while (cursor->get_timer_value () < expired->get_timer_value ())
@@ -501,7 +509,6 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::reschedule (ACE_Timer_Node_T<TYPE> *
expired->get_prev ()->set_next (expired);
}
-
// Just return the iterator
template <class TYPE, class FUNCTOR, class ACE_LOCK> ACE_Timer_Queue_Iterator_T<TYPE, FUNCTOR, ACE_LOCK> &
@@ -519,11 +526,11 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::expire ()
return ACE_Timer_Queue_T<TYPE,FUNCTOR,ACE_LOCK>::expire ();
}
-
-// Specialized expire which expires in total order. It is optimized by keeping
-// track of the list with the earliest element and the next earliest list. It
-// then goes through the earliest list until it can switch to the second list.
-// it keeps going until it finishes with everything before the <cur_time>
+// Specialized expire which expires in total order. It is optimized
+// by keeping track of the list with the earliest element and the next
+// earliest list. It then goes through the earliest list until it can
+// switch to the second list. it keeps going until it finishes with
+// everything before the <cur_time>
template <class TYPE, class FUNCTOR, class ACE_LOCK> int
ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::expire (const ACE_Time_Value &cur_time)
@@ -570,11 +577,14 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::expire (const ACE_Time_Value &cur_ti
}
}
- while (this->wheel_[earliest]->get_next () != this->wheel_[earliest]
- && this->wheel_[earliest]->get_next ()->get_timer_value () <= next_earliest_time)
+ while (this->wheel_[earliest]->get_next ()
+ != this->wheel_[earliest]
+ && this->wheel_[earliest]->get_next ()->get_timer_value ()
+ <= next_earliest_time)
{
// Remove the first node in the earliest position
- ACE_Timer_Node_T<TYPE> *expired = this->wheel_[earliest]->get_next ();
+ ACE_Timer_Node_T<TYPE> *expired =
+ this->wheel_[earliest]->get_next ();
this->wheel_[earliest]->set_next (expired->get_next ());
expired->get_next ()->set_prev (this->wheel_[earliest]);
@@ -591,22 +601,22 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::expire (const ACE_Time_Value &cur_ti
expired->set_timer_value (expired->get_timer_value () + expired->get_interval ());
while (expired->get_timer_value () <= cur_time);
- // Since this is an interval timer, we need to reschedule
- // it.
+ // Since this is an interval timer, we need to
+ // reschedule it.
this->reschedule (expired);
reclaim = 0;
}
- // call the functor
+ // Call the functor.
this->upcall (type, act, cur_time);
if (reclaim)
- // Free up the node and the token
+ // Free up the node and the token.
this->free_node (expired);
++number_of_timers_expired;
- // Check to see if we are empty
+ // Check to see if we are empty.
if (this->wheel_[earliest]->get_next () == this->wheel_[earliest])
break;
}
@@ -620,5 +630,4 @@ ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK>::expire (const ACE_Time_Value &cur_ti
return number_of_timers_expired;
}
-
#endif /* ACE_TIMER_WHEEL_T_C */
diff --git a/ace/Token_Invariants.cpp b/ace/Token_Invariants.cpp
index cf98e79c21d..19257569899 100644
--- a/ace/Token_Invariants.cpp
+++ b/ace/Token_Invariants.cpp
@@ -28,8 +28,9 @@ ACE_Token_Invariant_Manager::instance (void)
if (instance_ == 0)
{
- ACE_NEW_RETURN (instance_, ACE_Token_Invariant_Manager, 0);
-
+ ACE_NEW_RETURN (instance_,
+ ACE_Token_Invariant_Manager,
+ 0);
// Register for destruction with ACE_Object_Manager.
ACE_Object_Manager::at_exit (instance_);
}
@@ -160,8 +161,9 @@ ACE_Token_Invariant_Manager::get_mutex (const char *token_name,
{
ACE_Mutex_Invariants *new_invariant;
- ACE_NEW_RETURN (new_invariant, ACE_Mutex_Invariants, -1);
-
+ ACE_NEW_RETURN (new_invariant,
+ ACE_Mutex_Invariants,
+ -1);
if (mutex_collection_.bind (name, new_invariant) == -1)
{
delete new_invariant;
@@ -187,8 +189,9 @@ ACE_Token_Invariant_Manager::get_rwlock (const char *token_name,
{
ACE_RWLock_Invariants *new_invariant;
- ACE_NEW_RETURN (new_invariant, ACE_RWLock_Invariants, -1);
-
+ ACE_NEW_RETURN (new_invariant,
+ ACE_RWLock_Invariants,
+ -1);
if (rwlock_collection_.bind (name, new_invariant) == -1)
return -1;
diff --git a/ace/Token_Manager.cpp b/ace/Token_Manager.cpp
index d202bae2006..6d49239debd 100644
--- a/ace/Token_Manager.cpp
+++ b/ace/Token_Manager.cpp
@@ -54,8 +54,9 @@ ACE_Token_Manager::instance (void)
if (token_manager_ == 0)
{
- ACE_NEW_RETURN (token_manager_, ACE_Token_Manager, 0);
-
+ ACE_NEW_RETURN (token_manager_,
+ ACE_Token_Manager,
+ 0);
// Register for destruction with ACE_Object_Manager.
ACE_Object_Manager::at_exit (token_manager_);
}
diff --git a/ace/UPIPE_Stream.cpp b/ace/UPIPE_Stream.cpp
index 7cc6f94adf0..494b7c179b3 100644
--- a/ace/UPIPE_Stream.cpp
+++ b/ace/UPIPE_Stream.cpp
@@ -99,8 +99,9 @@ ACE_UPIPE_Stream::send (const char *buffer,
ACE_TRACE ("ACE_UPIPE_Stream::send");
ACE_Message_Block *mb_p;
- ACE_NEW_RETURN (mb_p, ACE_Message_Block (n), -1);
-
+ ACE_NEW_RETURN (mb_p,
+ ACE_Message_Block (n),
+ -1);
mb_p->copy (buffer, n);
return this->stream_.put (mb_p, timeout) == -1 ? -1 : (int) n;
}
diff --git a/ace/WFMO_Reactor.cpp b/ace/WFMO_Reactor.cpp
index f30e0545bc5..8b541928394 100644
--- a/ace/WFMO_Reactor.cpp
+++ b/ace/WFMO_Reactor.cpp
@@ -1042,7 +1042,9 @@ ACE_WFMO_Reactor::open (size_t size,
if (tq == 0)
{
- ACE_NEW_RETURN (this->timer_queue_, ACE_Timer_Heap, -1);
+ ACE_NEW_RETURN (this->timer_queue_,
+ ACE_Timer_Heap,
+ -1);
this->delete_timer_queue_ = 1;
}
else
@@ -1057,7 +1059,9 @@ ACE_WFMO_Reactor::open (size_t size,
if (sh == 0)
{
- ACE_NEW_RETURN (this->signal_handler_, ACE_Sig_Handler, -1);
+ ACE_NEW_RETURN (this->signal_handler_,
+ ACE_Sig_Handler,
+ -1);
this->delete_signal_handler_ = 1;
}
else
diff --git a/tests/Future_Set_Test.cpp b/tests/Future_Set_Test.cpp
index 91d917123aa..3e69cbd79db 100644
--- a/tests/Future_Set_Test.cpp
+++ b/tests/Future_Set_Test.cpp
@@ -588,9 +588,9 @@ main (int, ASYS_TCHAR *[])
fname.get (name);
ACE_DEBUG ((LM_DEBUG,
- ASYS_TEXT ("(%t) result(%u) name %u\n"),
+ ASYS_TEXT ("(%t) result(%u) name %s\n"),
count,
- (u_int) name));
+ name));
}
if (fseta.is_empty ())