summaryrefslogtreecommitdiff
path: root/ChangeLog-97a
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog-97a')
-rw-r--r--ChangeLog-97a9203
1 files changed, 0 insertions, 9203 deletions
diff --git a/ChangeLog-97a b/ChangeLog-97a
deleted file mode 100644
index 0563ae1c093..00000000000
--- a/ChangeLog-97a
+++ /dev/null
@@ -1,9203 +0,0 @@
-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.
-
-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.
-
-Wed Jul 2 23:41:43 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu>
-
- * 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.
-
-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.
-
-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/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/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/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/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.
-
-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.
-
-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.
-
-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.
-
- * 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.
-
-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.
-
-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.
-
-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.
-
- * 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/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.
-
-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.
-
-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.
-
-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.
-
-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/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/{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/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/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/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.x_g{++,hs}.GNU: renamed 5.x instead of 5.2.
-
- * 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.
-
- * 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.
-
- * 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.
-
-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
-
-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.
-
-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/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.
-
- * 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.
-
-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.
-
-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.
-
-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.
-
- * 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.
-
-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.
-
- * 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.
-
-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/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/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/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.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 ().
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
- * 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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-Mon Jun 23 18:28:55 1997 David L. Levine <levine@cs.wustl.edu>
-
- * 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.
-
- * 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.
-
-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).
-
-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.
-
- * 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/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.
-
- * 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.
-
-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/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.
-
- * 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.
-
- * 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/Connector.cpp && ace/Acceptor.cpp (info): Fixed sizeof bug.
-
- * examples/Connection/blocking/SPIPE: Added UNICODE support for
- this example.
-
- * ace/OS.h: Added new macro ACE_MULTIBYTE_STRING.
-
- * 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.
-
- * 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/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_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.
-
-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.
-
-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.
-
- * 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_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: 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.
-
- * 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): 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.
-
- * 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.
-
- * 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.
-
- * 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.
-
- * 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/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.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.
-
-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)
-
-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.
-
- * 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.
-
-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/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_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.
-
- * 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.
-
-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.
-
-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.
-
-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.
-
-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.
-
- * 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.
-
-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.
-
-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.
-
-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.
-
-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/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/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/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.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/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.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/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.
-
- * 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.
-
-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/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
-
-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.
-
- * 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/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.
-
-Tue Jun 10 12:16:04 1997 Darrell Brunsch <brunsch@cs.wustl.edu>
-
- * ace/Makefile: Updated to reflect newly added files
-
- * ace/Proactor.cpp: Removed template specializations.
-
- * ace/Reactor.cpp: Removed some template specializations.
-
- * 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,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.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.
-
-Tue Jun 10 02:08:25 1997 Nanbor Wang <nw1@siesta.cs.wustl.edu>
-
- * examples/Log_Msg/README: Revised.
-
- * 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.
-
-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.
-
-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
-
- ((long) (d - (double) l)) * 1000000
-
- should be
-
- (long) ((d - (double) l) * 1000000)
-
- 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.
-
- * 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.
-
- * 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/ACE: Added a new method called
-
- 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.
-
- * 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.
-
-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.
-
- * 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.
-
-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++.
-
-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.
-
-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/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/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.
-
-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-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.
-
-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
-
- * 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/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_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.*:
-
- 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.*:
-
- 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)
-
- 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*:
-
- Added upcall functor deletion() support
-
- 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 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
-
- * 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
-
- 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
-
- * 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 HighRes timer support
-
- Added upcall functor deletion() support
-
- 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
-
- * 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).
-
- * ace/OS.h:
-
- Added ACE_DEFAULT_TIMER_HASH_TABLE_SIZE constant
-
- Added ACE_DEFAULT_FREE_LIST_* constants
-
- * 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.
-
- * tests/Timer_Queue_Test.cpp:
-
- Added HighRes timer support
-
- 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
-
-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 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.
-
-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.
-
-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
-
- 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.
-
- * 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.
-
- * 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.
-
- * 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.
-
- (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.
-
-Thu May 29 21:28:25 1997 <harrison@samba.cs.wustl.edu>
-
- * 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.
-
-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/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/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).
-
- * 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.
-
- (initiate_connection): Removed the code that did
- rescheduling. The proxies are responsible for this.
-
- * apps/Gateway/Gateway/Event_Channel.cpp
-
- (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.
-
- 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.
-
- * 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.
-
- * tests/UPIPE_SAP_Test.cpp: Fixed output message.
-
- * 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".
-
-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.
-
-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.
-
-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.
-
-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/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.
-
-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/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.
-
-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.
-
-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.
-
- 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 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<>
-
- * 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.
-
-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.
-
- * 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/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/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.
-
- * 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.
-
-Sat May 24 12:07:48 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
-
- * 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/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/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.
-
- * 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.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.
-
-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.
-
-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.
-
- 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.
-
-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.
-
-Fri May 23 01:01:01 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/config-hpux-9.x.h: Added
-
- #define ACE_HAS_BROKEN_ENUMS
- #define ACE_HAS_IP_MULTICAST
- #define ACE_LACKS_GETPGID
-
- 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.
-
-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.
-
-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.
-
-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/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.
-
-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/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 ().
-
-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.
- 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} (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.
-
- * 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.
-
-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.
-
-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.
-
- * 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.
-
-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.
-
-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/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.
-
-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.
-
-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.
-
-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.
-
-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.
-
- * 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.
-
-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.
-
- * 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.
-
-Sat May 17 00:06:04 1997 <irfan@TWOSTEP>
-
- * 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.
-
- * 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/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.
-
-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/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.
-
-Sat May 17 02:19:27 1997 Nanbor Wang <nw1@number.wustl.edu>
-
- * ace/config-freebsd.h (ACE_HAS_BROKEN_TIMESPEC_MEMBERS):
-
- * ace/OS.i (set, timestruct_t, nanosleep):
-
- * 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.
-
-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/Gateway.cpp:
-
- - Added necessary DLL build macros.
-
- - Removed error checking for Reactor::remove_handler() for STDIN
- as STDIN is never registered with the Reactor on Win32.
-
- - Fixed the registration of SIGINT.
-
- - 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.
-
- * apps/Gateway/Gateway/Event_Channel.cpp:
-
- - 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.
-
- * apps/Gateway/Gateway/Concrete_Proxy_Handlers.cpp: Added
- necessary DLL build macros.
-
- * apps/Gateway/Peer/Peer.cpp:
-
- - 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.
-
- - Fixed the registration of SIGINT.
-
- * apps/Gateway/{Peer,Gateway}: Added Win32 makefiles.
-
- * 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.
-
-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.
-
- * 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/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.
-
- * 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.
-
- * ace/config-irix6.2-sgic++-nothread.h: Added the following:
-
- ACE_LACKS_LINEBUFFERED_STREAMBUF
- ACE_HAS_SETOWN
- ACE_HAS_SYSENT_H
- ACE_HAS_SYSINFO
-
- 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/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/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_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_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.
-
-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.
-
-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.
-
- * 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.
-
- * 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_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/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.
-
- * 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_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.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 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.
-
-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).
-
- * 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.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/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"
-
-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/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.
-
-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/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.
-
- * 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.
-
- * 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: 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/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/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.
-
-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.
-
-Wed May 14 15:00:58 1997 <irfan@TWOSTEP>
-
- * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp (main): Fixed code.
-
- * examples/Naming: Replaced multiple makefiles with one makefile.
-
- * ace/OS.h: Added UNICODE support for some #defines.
-
- * 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.
-
- Also added a (handy) sprintf that has the following prototype:
-
- sprintf (wchar_t *buf, const char *format, ...)
-
- * ace/Process: UNICODE fixes.
-
- * 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
-
- * 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 & operator>>( ACE_Time_Value *& tv );
-
- to be
-
- ACE_IOStream<STREAM> & operator>>( ACE_Time_Value *& tv );
-
- 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 [].
-
- * 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.
-
- * 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.
-
- * 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/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.
-
- 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[]).
-
- * 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.
-
-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.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.
-
- * 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.
-
-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.
-
-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.
-
-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.
-
-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/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.
-
- * 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_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.
-
-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.
-
-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/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.
-
-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:
-
- #define ACE_LACKS_SETSCHED
- #define ACE_LACKS_RWLOCK_T
- #define ACE_LACKS_GETPGID
-
- 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-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.
-
- * 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.
-
- * 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.
-
- * 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.
-
- * include/makeinclude/platform_aix4.2.GNU (LLIBS): Changed
-
- LLIBS = -lC_r -lC -lpthreads -lbsd -ltli_r -ldl -lc_r -lm -lc $(ACELIB)
-
- to
-
- LLIBS = -ltli_r -ldl $(ACELIB)
-
- 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.
-
- * 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.
-
- * 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/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.
-
- * 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/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/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/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.
-
- * 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.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/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."
-
-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_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.
-
-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 (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.
-
- * 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.
-
- 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: 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.
-
-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/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.
-
- * 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.
-
-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.
-
-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.
-
- * 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.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.
-
-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.
-
- * 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: 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 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.
-
-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.
-
- * 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/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.
-
-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.
-
- * 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.
-
- * apps/JAWS/server/HTTP_Config.{h,cpp}: Added class
- HTTP_Config to be a container for HTTP server options
- such as locations of directories, port, etc.
-
- * apps/JAWS/server/HTTP_Helpers.{h,cpp}: Added code to enhance
- support for CGI scripts:
- - Added HTTP_decode_string to HTTP_Helper class, to deal
- with percent codes.
-
- * apps/JAWS/server/HTTP_Request.{h,cpp}: Added code to enhance
- support for CGI scripts:
- - Added cgi_, cgi_env_, and cgi_args_ data members to
- and corresponding accessors.
- - Added nice accessors to the important data members to
- simplify other parts of the code.
- - Added method to parse URI to determine the name of the CGI
- executable if present.
-
- * apps/JAWS/server/HTTP_Response.{h,cpp}: Added code to
- enhance support for CGI scripts:
- - Hooks are now present to make the appropriate calls
- to activate a CGI program.
-
- * apps/JAWS/server/*.{h,cpp}
- Various changes from the ACE mailing list incorporated.
- Cosmetic changes for ACE coding style.
-
- SGI fixes.
-
-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.
-
-Mon May 5 22:17:15 1997 Sumedh Mungee <sumedh@cs.wustl.edu>
-
- * apps/JAWS/stress_testing: Removed the usleep definition from
- global.h, it was unused by the program.
-
-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.
-
-Mon May 05 19:58:16 1997 <irfan@TWOSTEP>
-
- * ace/ace.{mak,mdp}: Readded IOStream.cpp to the makefile.
-
- * 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.
-
- 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.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: 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/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/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/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
- (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/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/config-hpux-10.*.h: Applied a number of patches courtesy of
- Carlos O'Ryan.
-
- * ace/Dump.cpp: Changed a cast from
-
- delete (ACE_Dumpable_Ptr *) this->dumper_;
-
- to
-
- delete (ACE_Dumpable *) this->dumper_;
-
- 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/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: 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.
-
-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.
-
- * ace/Stack.* (ACE_Unbounded_Queue):
-
- 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 ().
-
- * 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.
-
-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/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/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/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/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.
-
-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.
-
-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 ;-).
-
- * 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!
-
- * 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/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.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.
-
-Sat May 03 06:56:10 1997 David L. Levine <levine@cs.wustl.edu>
-
- * 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, SIZE>::find): typo: index instead of i.
-
- * 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.
-
-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/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.
-
- * 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 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/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/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.
-
-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/{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.
-
- 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.
-
- * 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.
-
-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.
-
-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/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 &);
-
- 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> &);
-
- 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.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().
-
-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/OS.i: cleaned up ACE_LACKS_PWD_FUNCTIONS comments a bit.
-
- * ace/Array.{h,i}: added const operator [].
-
- * 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.
-
-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 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.
-
-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/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.
-
- * 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>
-
- * apps/JAWS/stress_testing/http_tester.cpp : Removed usage
- of pow (), and changed method of calculating throughput/latency
- to use straight multiplication instead of pow (). Updated
- Makefile to not link -lm.
-
-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.
-
- * 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/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/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.
-
- * 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.
-
- * 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.
-
-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.
-
-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/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: 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.
-
- * 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().
-
- * 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.
-
- * 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
-
- 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
-
- Removed the file --
- JXH_String.h
-
- * JAWS/stress_testing: Changed the Makefile to link in the math
- library (-lm).
-
- * 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/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.
-
- * 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.
-
- * 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: 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.
-
-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
-
-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/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.
-
-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 ().
-
-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.
-
-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...
-
-Sun Apr 27 18:13:24 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
-
- * ace/Proactor.h: Added Timer_Wheel support.
-
-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}.
-
- * apps/JAWS/stress-testing: Removed unused argument warnings
- etc.
-
-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_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/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.
-
-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/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.
-
-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: 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.
-
-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/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_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.
-
- * 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.
-
-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:
-
- 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.
-
-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/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/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.
-
- * 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/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.
-
- * 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.
-
- * 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.
-
-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.
-
- * 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.
-
- * 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>
-
- * apps/JAWS/client/*: Fixed warnings due to size_t
- * apps/JAWS/client/Blob_Handler: Fixed error by passing
- pointer to base class ACE_Blob_Handler instead
- of pointing to ACE_Blob_Reader, in call to connect
-
-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/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.
-
- * 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.
-
-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.
-
-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.
-
- * 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.
-
- * 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.
-
-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.
-
-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.
-
- 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.)
-
- * 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/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.
-
-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.
-
- This also affected ACE_Timer_List and ACE_Timer_Heap
-
- * ace/Strategies: Added ACE_Upcall_Strategy.
-
- * ace/Proactor: Added timing support to the <handle_event> calls.
-
- * 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.
-
- 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
-
- * 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.
-
-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/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.
-
-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/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.
-
- * 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/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.
-
-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 ().
-
-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.
-
- * 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:
-
- return ACE_OS::cond_wait (&this->cond_, &mutex_.lock_);
-
- 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.
-
- * 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.)
-
-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.
-
- * 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.
-
- * 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.
-
- * 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
-
- was backwards. It should be:
-
- 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.
-
-Wed Apr 16 21:34:53 1997 David L. Levine <levine@cs.wustl.edu>
-
- * 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.cpp (open): Added UNICODE support.
-
- * 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.
-
-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_.
-
-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.
-
-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.
-
-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.
-
- * 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:
-
- - 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.
-
-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
-
- to
-
- LIBS += -lsocket -lnsl -ldl
-
- 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.
-
- * 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...
-
-Tue Apr 15 17:09:33 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
-
- * 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>
-
- * apps/JAWS/server/IO.cpp: Added a template instance for
- ACE_Singleton so it would link using GCC. Removed GCC
- warnings.
-
- * 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.
-
- * apps/JAWS/server/HTTP_Server_T.cpp: Removed template instance of
- LOCK_SOCK_Acceptor, since it was not really being compiled.
-
-Tue Apr 15 21:51:45 1997 James C Hu <jxh@polka.cs.wustl.edu>
-
- * apps/JAWS/server/IO.cpp: Added a template instance for
- ACE_Singleton so it would link using GCC. Removed GCC
- warnings.
-
- * 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.
-
- * apps/JAWS/server/HTTP_Server_T.cpp: Removed template
- 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.
-
- * 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.
-
-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.
-
-Mon Apr 14 23:08:27 1997 <irfan@TWOSTEP>
-
- * 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/OS.h (WNOHANG): Added WNOHANG to OS.h for Win32.
-
- * 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.
-
-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/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.
-
-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/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.
-
- * 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.
-
-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.
-
-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.)
-
- * 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:
-
- Event_Transceiver transceiver, *tp = &transceiver;
-
- connector.connect (tp, ACE_INET_Addr (port_number, host_name));
-
- 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.
-
- * 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 ().
-
-Fri Apr 11 14:31:42 1997 Chris Cleeland <cleeland@cs.wustl.edu>
-
- * 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/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/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.)
-
- * 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.
-
-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.
-
- * 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/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/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.
-
- * 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.
-
- * 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.
-
- * 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.
-
- * 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/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/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/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: 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/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.
-
-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.
-
-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.
-
-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!
-
-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.
-
-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/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.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/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).
-
-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-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.
-
-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
-
-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.
-
- * 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/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
-
- Deleted the following definitions:
-
- + #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.
-
- * 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/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/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/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:
-
- % make clean; make purify=1
-
- 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_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.
-
- * 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.
-
-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.
-
-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.
-
- * 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.
-
- * 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/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
-
- if (mask & ACE_Event_Handler::ACCEPT_MASK)
- ACE_SET_BITS (condition, XtInputReadMask);
-
- 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/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 (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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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!
-
-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.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.
-
- * 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/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.
-
-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.
-
-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.
-
-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.
-
- * 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.
-
- * 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!
-
-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.
-
-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: 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/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.
-
-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.
-
-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.
-
-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.
-
-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.
-
- * 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.
-
- * 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
-
- 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 ();
-
- 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 ();
-
- 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.
-
-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/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.
-
-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.
-
-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/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/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.
-
- * 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.
-
-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/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.
-
- * apps/Gateway/Peer/Makefile: added -lGateway to LIBS to
- pick up its template instantiations during links.
-
- * 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:
-
- 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.
-
- * ace/OS.i (ACE_Time_Value): Inlined many of the ACE_Time_Value
- accessors.
-
- * 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.
- };
-
- 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.
-
- * 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.
-
-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/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.
-
-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.
-
-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),
-
- 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)
- {
- // Allocate the space out of shared memory for the system time entry
- temp = this->shmem_->malloc (sizeof (this->system_time_));
-
- to:
-
- // Only create the state if it doesn't already exist.
- if (this->shmem_->find (ACE_DEFAULT_TIME_SERVER_STR) == -1)
- {
- // Allocate the space out of shared memory for the system time entry
- void *temp = this->shmem_->malloc (sizeof (this->system_time_));
-
- Thanks to Sandro Doro (alex@aureus.sublink.org) for suggesting these changes.
-
-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.
-
- * 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/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.
-
- * 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.
-
-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.
-
-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.
-
-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.
-
- * 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.
-
-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/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:
-
- 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.
-
- * 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.
-
- * 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.
-
- * 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.
-
- * 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/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.
-
-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/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.
-
- * 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.
-
-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.
-
-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!
-
-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.
-
-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/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.
-
-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/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.
-
- * 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/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.
-
- * 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/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.
-
-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/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.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/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/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/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):
- 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/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.
-
- * 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.
-
- * 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.
-
-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.
-
-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.
-
- * 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/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.
-
-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/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.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.h: removed #include of ace/Service_Config.h.
-
- * 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.
-
-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 ;-)
-
-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.
-
- * 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().
-
- * 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.
-
-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).
-
- * 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 (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.
-
- * 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.
-
-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:
-
- if (number_of_cancellations == 1)
- // 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.
-
- * 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:
-
- 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_);
-
- 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.
-
-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.
-
-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/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.
-
-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.
-
- * 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.
-
-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.
-
-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 ().
-
-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.
-
-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.
-
- * 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/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.
-
-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/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_)
-
- 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: 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.
-
-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.
-
- * 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.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/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 ().
-
- * 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];
- };
-
- 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.
-
-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.
-
-Wed Mar 5 14:33:04 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/OS.i: Fixed a bug in gethrtime
-
- const ACE_Time_Value now = ACE_OS::gettimeofday (void);
-
- which should be
-
- const ACE_Time_Value now = ACE_OS::gettimeofday ();
-
- 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.
-
-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.
-
-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).
-
- * 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.
-
- 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.
-
- * 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.
-
- * 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.i (thr_cancel): Changed the line
-
- ACE_UNUSED_ARG (t_id);
-
- to
-
- ACE_UNUSED_ARG (thr_id);
-
- 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/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.
-
-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/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.*: 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/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.
-
-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/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/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/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/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.
-
-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/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.
-
-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/non-blocking.{mak,mdp}: New
- project files for Win32.
-
- * 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/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.
-
- * 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.
-
-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.
-
- * 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.
-
-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,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/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.
-
-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.
-
- * 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!
-
-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.
-
-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.
-
-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.
-
-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.
-
- * 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/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
-
- * 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.
-
-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.
-
-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.
-
- * 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/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/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.
-
-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 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:
-
- ACE_thread_key_t key = 0;
-
- to:
-
- ACE_thread_key_t key = ACE_OS::NULL_key;
-
- and line 122 from:
-
- key = 0;
-
- to:
-
- key = ACE_OS::NULL_key;
-
- 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().
-
-Tue Feb 18 19:02:53 1997 <irfan@cha-cha.cs.wustl.edu>
-
- * ace/ReactorEx:
-
- (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.
-
- (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.
-
-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/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_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.
-
-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/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/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
- ACE_UNUSED_ARG (sa);.
-
- * 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:
-
- (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.
-
- * 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.
-
- * 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.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.
-
-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/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.
-
- * 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.
-
- * 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/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/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.
-
- * 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.
-
-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/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/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.
-
-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().
-
-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/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_TRACE ("ACE_SOCK_Stream::send_n");
-
- should be
-
- ACE_TRACE ("ACE_SOCK_Stream::recv_n");
-
- 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.
-
-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/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: 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.
-
- * apps/jaws: The ACE web server has now been ported to Win32.
-
- * ace/ReactorEx: Add a new version of remove_handler().
-
- * 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.
-
- * 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.
-
-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: 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/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/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.
-
- * 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/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_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.
-
-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.
-
-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/{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/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.
-
- * 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.
-
- * 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.
-
- * 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.
-
- * 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: 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.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.
-
- * 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.
-
- * 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.
-
-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/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.
-
- * 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.
-
-Fri Feb 07 05:08:51 1997 <irfan@cha-cha.cs.wustl.edu>
-
- * ace/Synch.cpp (dump): Fixed access error.
-
- * 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.
-
-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!
-
-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/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/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.
-
-Thu Feb 06 09:40:47 1997 Chris Cleeland <cleeland@cs.wustl.edu>
-
- * 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/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/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.
-
- * 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.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/High_Res_Timer.*: added optional scale factor.
-
- * 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.
-
- * 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.
-
-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/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/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/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/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.
-
- * 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/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/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/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/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.
-
-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.
-
- * 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.
-
- * 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/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/{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 &).
-
- * 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.2.x.h: added #define ACE_HAS_LONGLONG_T.
-
- * 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/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.
-
-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/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/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.cpp: Added new methods operator!= and hash
- required by the map.
-
- * ace/Hash_Map_Manager.cpp (ACE_Hash_Map_Manager): Added an extra
- constructor.
-
- * 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.
-
- * 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/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.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.
-
-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.
-
- * 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).
-
- * 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/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.
-
- * 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: 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.
-
- * 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/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.{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/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 ().
-
- * 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.
-
-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.
-
- * 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.
-
- * 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.cpp: fixed ACE_OS::set_sched_params on Win32 and VxWorks.
-
- * 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.
-
- * 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.
-
- * 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/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.
-
- * 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: 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/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.
-
- * 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/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.
-
- * 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.
-
- * 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.
-
-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_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/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"
-
- * 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.
-
-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,
- 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/Proactor.cpp: Redid "lost" changes to add UNICODE support to:
-
- /* 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.
-
- * 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.
-
-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.
-
-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.
-
-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.
-
- * 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/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/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/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/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.
-
- * 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.
-
- * 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.
-
- * 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-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.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 (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: 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 */
-
- 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.
-
- * 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.
-
- * 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.
-
- * 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.
-
-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.
-
- * 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/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);.
-
- * 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.
-
-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/TSS_Test.cpp, Thread_Manager_Test.cpp (main): added
- ACE_UNUSED_ARG (sa);.
-
- * 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.
-
-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.
-
- * 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.
-
- * 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.
-
- * 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.
-
-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.
-
-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.
-
-Fri Jan 17 16:33:25 1997 David L. Levine <levine@cs.wustl.edu>
-
- * 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 ().
-
- * 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.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.
-
- * 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.
-
- * 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_{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.
-
-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.
-
- * 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".
-
- * 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.
-
- * 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.
-
-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.
-
-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.
-
- * 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/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/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.
-
- * 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".
-
-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/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.
-
-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.
-
- * 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.
-
-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: 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.
-
- * 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:
-
- pthread_setschedparam( thr_id, &policy, &param )
-
- and then does
-
- prio = param.sched_priority.
-
- 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.
-
-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.
-
- * 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.
-
-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/Service_Object.cpp (ACE_Service_Object): 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.
-
-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: 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 (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.
-
- * 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).
-
- * 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!
-
- * 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/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.
-
- * 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.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: 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[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: 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.
-
-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.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().
-
- * 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.
-
- * 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/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/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/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/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/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.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.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_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_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()
- (without supplying an object) so it must be declarated *static*,
- i.e.,
-
- static void dump (void);
-
- 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/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/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().
-
-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.