Tue Jan 13 13:30:23 1998 David L. Levine * ace/Profile_Timer.cpp (elapsed_time): use floating point arithmetic for real_time calculation, in case delta_t is less than ACE_ONE_SECOND_IN_NSECS (and for more precision otherwise). Thanks to Brian Mendel for tripping over this. * ace/Basic_Types.{h,i} (ACE_U_LongLong): added operator/ (const double). * ace/OS.h: moved definition of AF_FILE, etc., to _after_ the #include of sys/socket.h. That way, the #ifndef AF_FILE protection will work properly on Linux/glib2. Thanks to Amos Shapira for breaking silence and reporting this. Mon Jan 12 20:19:54 1998 Douglas C. Schmidt * ace/SString.i: Replaced all uses of NULL with 0 since NULL causes problems with some lame C++ compilers. * ace/SString.i: Moved one of the inline find() methods down so that GCC doesn't complain anymore. * tests/Reactor_Timer_Test.cpp (main): Changed long i to size_t i to be consistent. * ace/Select_Reactor.h: Updated the explanation of how the ACE_Select_Reactor_Token works. Thanks to Detlef Becker for explaining this in great detail. * tests/test_config.h: Changed the type of all the consts to size_t rather than int. This may cause a bit of upheaval at first since we'll need to fix some other types. But it's the "Right Thing"[TM] to do. Mon Jan 12 18:31:23 1998 Nanbor Wang * Start renaming MSVC 4.2 workspace/makefile names. * apps/Gateway/Peer/Peer4.{mdp,mak}: * apps/Gateway/Gateway/Gateway4.{mdp,mak}: Made them in synch with VC 5.0's status. Mon Jan 12 12:30:34 1998 David L. Levine * ace/config-linux-common.h: moved ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES so that it isn't used with egcs. Thanks to Gonzo for testing this. * tests/Service_Config.test: changed type of VARIETIES to u_int to avoid signed/unsigned comparison in main. Thanks to Gonzo for reporting this. * ace/config-linux-common.h: added ACE_HAS_TEMPLATE_TYPEDEFS and ACE_HAS_TYPENAME_KEYWORD. Thanks to Oleg Krivosheev for reporting these. * ace/config-vxworks5.x.h: merged the two VxWorks configs (g++ and ghs) into this new config for easier maintenance. Added ACE_THR_PRI_FIFO_DEF, set to 6. * tests/Reactor_Timer_Test.cpp (main): cast i to u_long to avoid signed/unsigned comparison. Sun Jan 11 23:02:07 1998 Irfan Pyarali * tests/SString_Test.cpp (main): Removed the "silly" strings from the tests. They are annoying and cause memory leaks. Sun Jan 11 22:16:28 1998 Nanbor Wang * apps/Gateway/Peer/Peer.{h,cpp} (transmit): Changed the function to return the result of transmission. (transmit_stdin): Make sure the function returns proper results of transmission. Sun Jan 11 16:18:15 1998 Douglas C. Schmidt * ACE version 4.4.18, released Sun Jan 11 16:18:15 1998. Sun Jan 11 00:00:26 1998 Douglas C. Schmidt * apps/Gateway/Gateway/Gateway.cpp (parse_connection_config_file): Fixed a typo, == should be =. Thanks to David Levine for reporting this. * apps/Gateway/Peer/Peer.cpp (recv), apps/Gateway/Gateway/Concrete_Connection_Handlers.cpp (recv): Added a cast to remove a GCC warning about signed/unsigned comparisons. Thanks to David Levine for reporting this. * ace/Log_Msg.cpp (log): Made a minor change to move where the message is copied from thread-specific storage into the transfer buffer. Thanks to Patrick J. McNerthney for reporting this. * apps/Gateway/Peer/Peer: Added new logic to transmit subscription requests to the Gateway. * apps/Gateway/Gateway/Event.h (class Event_Header): Make sure that we correctly encode/decode the connection_id. Sat Jan 10 18:17:06 1998 Douglas C. Schmidt * apps/Gateway/Gateway/Event.h: Added the event priority_ field to the Event_Key. We don't currently use this, but we may some day. * apps/Gateway/Gateway/Concrete_Connection_Handlers.cpp (put): Changed the forward() method to process() since our new scheme will need to do more than just forward, e.g., it will need to handle subscriptions. * apps/Gateway/Gateway/Connection_Handler: Made the accessors const member functions and also added accessors for the Event_Channel * so this can be set by the Connection_Handler_Acceptor::accept_svc_handler() method. * apps/Gateway/Gateway/Connection_Handler: Added mutators so that we can set the local and remote addresses outside of the constructor. * apps/Gateway/Gateway/Options: Added a connection_id() accessor to set/get the connection id. This makes it possible to allow Peers to connection with the Gateway. * apps/Gateway/Gateway/Gateway.cpp (parse_connection_config_file): Added a sanity check to ensure that the connection ids start at 1 and increment by 1. Sat Jan 10 22:37:37 1998 David L. Levine * ace/SString.i (find): changed type of local i to size_t to avoid signed/unsigned comparison. Sat Jan 10 14:57:01 1998 * ace/Env_Value_T.h: The return value for the assignment operator had no template parameter, ditto for the arguments of the copy constructor and the already mentioned operator. Sat Jan 10 13:20:08 1998 Nanbor Wang * tests/Conn_Test.cpp: Moved template instantiation codes around to avoid warnings. Sat Jan 10 01:36:08 1998 Irfan Pyarali * ace/SString: Made the following changes to make the ACE string class look more like the STL string class: - Added npos to all classes. - Added non-const reference operator[]. - Changed operator= and operator+= to return *this. - Added STL like find and rfind routines - Made the three classes be a similar as possible. - Changed the implementation of strstr to use the C library strstr function. - Added constructors from single characters. - Made substring a const method. Fri Jan 9 19:11:39 1998 Nanbor Wang * tests/Map_Manager_Test.cpp (test_hash_map_manager): Added ACE_UNUSED_ARG to eliminate warnings. * ace/Hash_Map_Manager.cpp (rbegin): Added more static cast to eliminate warning messages. Fri Jan 9 11:35:53 1998 Douglas C. Schmidt * examples/Service_Configurator/IPC-tests/server/server_test.cpp: Fixed a syntax error. Thanks to John Mulhern <9107@MN3.LAWSON.lawson.com> for reporting this. * ace/Log_Msg.cpp (log): Changed abort_prog == 0 to abort_prog so that STDERR would be printed correctly. * ACE-categories: Added all the ACE files into the ACE-categories listing. Thanks to Andres Kruse for motivating this. * include/makeinclude/platform_sunos5_egcs.GNU (CXX): Removed -pipe from CC and CXX. It was already in CCFLAGS. Fri Jan 09 11:56:44 1998 Irfan Pyarali * ace/config-win32.h (ACE_ORBIX_HAS_NAMESPACES): By default, you will get the proper namespace usage for Orbix. If you don't like this, comment out the #define ACE_ORBIX_HAS_NAMESPACES line or #undef ACE_ORBIX_HAS_NAMESPACES in your config.h file after including this config-win32.h. Fri Jan 09 07:04:47 1998 David L. Levine * include/makeinclude/platform_sunos5_g++.GNU: removed -pipe from CC and CXX. It was already in CCFLAGS. * include/makeinclude/platform_vxworks5.x_g++.GNU: added target-dependent support for symbol table extractor, and disabled symbol table extraction (POSTLINK) by default. Thanks to Keith Nicewarner for reporting problems with this on PPC604 targets. * ace/config-linux-common.h: added ACE_HAS_STDCPP_STL_INCLUDES and removed ACE_LACKS_ACE_IOSTREAM. Thanks to James CE Johnson for reporting these. * tests/run_tests.vxworks: added Env_Value_Test. Fri Jan 09 00:14:20 1998 Nanbor Wang * apps/Gateway/Gateway/Connection_Handler_Acceptor.cpp: * apps/Gateway/Gateway/Config_Files.cpp: Defined ACE_BUILD_SVC_DLL flag. All declarations of an exported class must be declared with the same exporting flag. * apps/Gateway/Peer/Options.h: Updated the path of include file Event.h. Thu Jan 08 22:11:57 1998 Nanbor Wang * ace/Env_Value_T.i (ACE_Convert): Added static cast for int and short conversion funcions. Thu Jan 08 21:37:30 1998 Douglas C. Schmidt * ACE version 4.4.17, released Thu Jan 08 21:37:30 1998. Thu Jan 8 19:50:43 1998 Douglas C. Schmidt * ace/Task: Added a virtual destructor for ~ACE_Task_Base. Thanks to Oleg Krivosheev for suggesting this. * ace: Added a new config-sunos5.5-egcs.h for the EGCS compiler. Thanks to Oleg Krivosheev for contributing this. * include/makeinclude: Added a new platform macros file for the EGCS compiler on Solaris 2.x. Thanks to Oleg Krivosheev for contributing this. * include/makeinclude/platform_sunos5_g++.GNU (CXX): Added the -pipe flag. * man: Updated all the manual pages. * ace/Log_Msg: Added changes to allow the logging of custom built log records. The main reason for these changes is to allow code to handle the logging of out of memory conditions without allocating any additional memory. Thanks to Patrick J. McNerthney for this feature. * ace/Log_Msg: Added a new method called log_priority_enabled(), which returns true if the priority is enabled (gee, is *that* what it does? ;-)). Thanks to Patrick J. McNerthney for this feature. * examples/Service_Configurator/IPC-tests/server/server_test.cpp (main): Revised the driver program so that it doesn't create an explicit ACE_Service_Config object. Thanks to John Mulhern <9107@MN3.LAWSON.lawson.com> for reporting this. * apps/Gateway/{Gateway,Peer}/Options.cpp: Oops, ACE_BUILD_DLL should be ACE_BUILD_SVC_DLL, yikes! Thanks to Jeff Hellzen for reporting this. * apps/Gateway/{Peer,Gateway}/Options.{h,cpp}: Added a missing #define ACE_BUILD_DLL and a missing ACE_Svc_Export. Thanks to Jeff Hellzen for reporting this. * ace/Select_Reactor.cpp (suspend_i): The clr_bit call was mistakenly made on the write mask, rather than the read mask. Thanks to Billy Quinn for reporting this. Thu Jan 08 16:02:33 1998 Nanbor Wang * ace/Hash_Map_Manager.{h,cpp}: Added STL-styled iterator functions. * tests/Map_Manager_Test.cpp: * tests/Hash_Map_Manager_Test.cpp: * tests/Conn_Test.cpp: * ace/Local_Name_Space.cpp: * ace/Filecache.cpp: Added missing template instantiation codes. Thu Jan 08 11:05:15 1998 * ace/ace_dll.dsp: * ace/ace_lib.dsp: Added the new Shared_Memory.cpp file to the project. Wed Jan 07 20:40:45 1998 David L. Levine * ace/OS.h: protect #define of AF_FILE, because Linux/RedHat 5.0 #defines it in /usr/include/socketbits.h. Thanks to James CE Johnson for reporting this. * tests/test_config.h (set_output): "if (! test_dir)" instead of "if (test_dir)" so the output filename ends up non-null. * ace/Shared_Memory.{h,cpp},Makefile (~ACE_Shared_Memory): made virtual and non-line. Added file Shared_Memory.cpp to contain the definition. Wed Jan 07 17:59:57 1998 Nanbor Wang * ace/Free_List.i (add): Only delete freeed item when we hit the high water mark, not the other way around. Thanks to Stuart Myles for pointing this out. Wed Jan 7 17:46:09 1998 James C Hu * examples/Timer_Queue/Thread_Timer_Queue_Test.h: * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp: * examples/Timer_Queue/Reactor_Timer_Queue_Test.h: * examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp: * examples/Timer_Queue/Driver.h: * examples/Timer_Queue/Driver.cpp: Added virtual destructors to classes that needed them. Wed Jan 7 16:28:16 1998 Douglas C. Schmidt * ace/Event_Handler_T.cpp: Reordered the initializers in the ACE_Event_Handler_T constructor so G++ doesn't complain. Thanks to Oleg Krivosheev for reporting this. * ace/Shared_Memory.h: Added a virtual destructor to the ACE_Shared_Memory abstract base class so that EGCS won't complain. Thanks to Oleg Krivosheev for reporting this. * ace/Event_Handler_T.h: Had to include the *.cpp file into .h when ACE_TEMPLATES_REQUIRE_SOURCE is defined. Thanks to Oleg Krivosheev for reporting this. Wed Jan 07 14:31:34 1998 Douglas C. Schmidt * ACE version 4.4.16, released Wed Jan 07 14:31:34 1998. Wed Jan 7 13:38:28 1998 Douglas C. Schmidt * tests/test_config.h (set_output): Added an environment variable to specify where to put the log directory: ACE_TEST_DIR. Thanks to Keith Nicewarner for reporting this. * ace/Service_Repository.cpp (close): Removed a fragment of redundant code. Thanks to Eric Newton and Alex Chan for reporting this. Tue Jan 06 17:19:13 1998 Nanbor Wang * ace/Containers.{h,cpp} (ACE_Unbounded_Set[_Iterator]): Added STL-styled iterator functions. Changed the internal representation of ACE_Unbounded_Set within iterators from a reference to a pointer. We need this to compare if two iterators are refering to the same set or not. Tue Jan 6 14:11:54 1998 Carlos O'Ryan * tests/Reader_Writer_Test.cpp: Reverted to revision 4.21 since the latest one (4.23) fails; thanks to Irfan for this solution. Tue Jan 06 10:37:49 1998 David L. Levine * ace/OS.i (rw_trywrlock_upgrade): moved the #if 0 up a bit so that it builds on Linux/non-glibc. For some reason, its preprocessor was getting confused. * ace/OS.i (nanosleep): convert nanoseconds to microseconds by dividing by 1000, not multiplying. Thanks to Mitch Kuninsky for reporting this. * ace/config-mvs.h: added ACE_LACKS_LONGLONG_T because MVS doesn't support it. Thanks to Chuck Gehr for confirming that. Mon Jan 5 01:20:51 1998 Nanbor Wang * ace/Map_Manager.{h,cpp}: Made operator == and != and their arguments const. Sun Jan 04 19:45:47 1998 David L. Levine * ace/IPC_SAP.cpp (enable,disable): moved return 0 at end to inside the #endif, to avoid warning about unreachable return statement on ghs/VxWorks. Thanks to Brian Mendel for reporting this. * ace/OS.i (rw_trywrlock_upgrade): moved return 0 inside the #if 0 block to avoid warning about unreachable return statement on ghs/VxWorks. Thanks to Brian Mendel for reporting this. * ace/OS.i (rw_trywrlock_upgrade): added ACE_UNUSED_ARG (rw) to temporary code. * ace/Basic_Types.{h,i},README: replaced ACE_HAS_LONGLONG_T with ACE_LACKS_LONGLONG_T. ACE_HAS_LONGLONG_T was no longer being used on many platforms with the scheme in Basic_Types.h. From now on, we'll assume that a platform has long long (unless ACE_LACKS_LONGLONG_T is #defined), which should help porting to new platforms. * ace/config-aix-4.{1,2}.x.h,config-dgux-4.11-epc.h, config-linux-{common,kcc}.h,config-lynxos.h,config-m88k.h, config-osf1-*.h,config-sunos5.*.h,config-tandem.h: removed ACE_HAS_LONGLONG_T. * ace/config-chorus.h,config-psosim-g++.h,config-vxworks*.h: added ACE_LACKS_LONGLONG_T. * ace/Basic_Types.{h,i} (ACE_U_LongLong): fixed operator/, and added operator% and operator--. * ace/High_Res_Timer.*: changed type of global_scale_factor_ from u_long to ACE_UINT32. Removed some hacks now that ACE_U_LongLong has operator%. * tests/Time_Value_Test.cpp: added tests of ACE_U_LongLong operator/ and operator%. * ACE-INSTALL.html: added link to Cygus repo patches. Thanks to Achint Sandhu for providing the URL. * ace/OS.{h,i}: added ACE_OS::putenv (). * tests/Env_Value_Test.cpp: use ACE_OS::putenv (). * tests/Env_Value_Test.cpp: expect (unsigned long) -10 for TEST_VALUE_NEGATIVE converted to an unsigned long. Thanks to Jack Erickson for verifying that it _should_ return (unsigned long) -10. * ace/OS.i (strtoul): on Linux with glibc, use ::strtol instead of ::strtoul and cast the result to an unsigned long. Its ::strtoul always seems to return 0 for a negative number, at least on RedHat 4.2/Linux 2.0.30/Alpha with glibc 2.0 (0.961212-5). * ace/config-linux-common.h: factored out ACE_LACKS_SOME_POSIX_PROTOTYPES from glibc and non-glibc sections to common section. * etc/purify.solaris2: added suppression of MIU from putenv. Sun Jan 04 17:19:31 1998 Douglas C. Schmidt * ACE version 4.4.15, released Sun Jan 04 17:19:31 1998. Sun Jan 4 10:11:53 1998 Douglas C. Schmidt * ace/OS.i (rw_trywrlock_upgrade): Temporarily comments out this method since we need to finish implementing it correctly. * ace/OS.i (rw_trywrlock_upgrade): Fixed a minor bug where we weren't releasing the lock correctly if there were competing readers. * apps/Gateway/Gateway/Event_Channel.cpp (put): Uncommented the code that sets the appropriate locking strategy for the Message Blocks. * apps/Gateway/Gateway/Connection_Handler.h: Made the remote_addr() and local_addr() accessor methods return const-correct values. * build/SunOS5.5/ace/OS: Revised a bunch of #ifdefs so that we can selectively enable the ACE rwlock emulation, even if we're compiling with ACE_HAS_STHREADS in order to get the native Solaris semaphores. * apps/Gateway/Peer/Makefile: Tweaked the Makefile rules to fix some minor problems. Thanks to David Levine for showing the way... Sun Jan 04 12:37:02 1998 David L. Levine * tests/Env_Value_Test.cpp: hacked to work with ACE_HAS_NONSTATIC_OBJECT_MANAGER. With that, it uses ::putenv (), which we should wrap in ACE_OS. Also, expanded TEST_THIS to provide a more helpful log message than just the ASSERT output. * ace/config-vxworks5.x-g++.h: removed ACE_HAS_TEMPLATE_SPECIALIZATION. * tests/Hash_Map_Manager_Test.cpp (main): added casts of i->ext_id_ and i->int_id_ to (char *) to force g++/VxWorks to apply the conversion from Dumb_String to char *. Sun Jan 04 09:51:59 1998 Nanbor Wang * apps/Gateway/Gateway/Options.{h,cpp}: Removed macros to export this class out of DLL. They are no longer needed. * apps/Gateway/Gateway/Gateway.dsp: Updated source file listings. Sat Jan 3 22:25:15 1998 Douglas C. Schmidt * apps/Gateway/Gateway: Changed the name of the ACE_Event_Channel class to Event_Channel since this class wasn't a part of the ACE library. * apps/Gateway/Gateway/Event_Channel.h: Updated the inheritance relationship for Event_Channel so that it inherits from ACE_Event_Handler rather than ACE_Task. ACE_Task was overkill... * apps/Gateway/Gateway: Removed the supplier_id from all the files. We didn't use this anyway and it was just confusing. Also, renamed Proxy_* to Connection_* to underscore the fact that the Supplier_Handler and Consumer_Handler work atop *connections*. The previous naming scheme was too abstract for its own good. Sat Jan 03 14:16:40 1998 Nanbor Wang * ace/Map_Manager.cpp (ACE_Map[_Reverse]_Iterator): Fixed the initial iterator position. Fri Jan 02 18:43:14 1998 Douglas C. Schmidt * ACE version 4.4.14, released Fri Jan 02 18:43:14 1998. Fri Jan 2 17:39:04 1998 Douglas C. Schmidt * apps/Gateway/Peer/Options.cpp (Options): Rearranged the order of the parameters in the base/member initialization section to make GCC happy. Thanks to David Levine for getting on me about this. * apps/Gateway/Gateway/Options.h: Changed DEFAULT_TIMEOUT to MAX_TIMEOUT to be consistent. Thanks to David Levine for reporting this. Fri Jan 2 17:25:05 1998 Nanbor Wang * tests/Map_Manager_Test.cpp: Added codes to test STL-styled functions in ACE_Map_Manager. * apps/Gateway/Gateway/Proxy_Handler.cpp: * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp: * apps/Gateway/Gateway/Event_Channel.cpp: * apps/Gateway/Peer/Peer.cpp: * ace/Local_Name_Space.cpp: * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: * examples/ASX/Event_Server/Transceiver/transceiver.cpp: * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: * examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp: * examples/Connection/blocking/SPIPE-connector.cpp: * examples/Connection/misc/test_upipe.cpp: * examples/Connection/non_blocking/test_sock_connector.cpp: * examples/Connection/non_blocking/test_spipe_connector.cpp: * examples/Connection/non_blocking/test_tli_connector.cpp: * examples/Connection/non_blocking/test_lsock_connector.cpp: * netsvcs/clients/Tokens/manual/manual.cpp: * netsvcs/lib/TS_Clerk_Handler.cpp: * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp: Added some more explicit template instantiations. * ace/Map_Manager.{h,cpp}: Added back comparison operators for ACE_Map_Iterator and ACE_Map_Reverse_Iterator. * ace/Token_Invariants.cpp: * ace/Token_Collection.cpp: * ace/Token_Manager.cpp: Added missing ACE_Map_Reverse_Iterator. * ace/Map_Manager.h: Remove unnecessary method declarations from ACE_Map_Iterator adn ACE_Map_Reverse_Iterator. * examples/Connection/non_blocking/test_tli_connector.cpp: * examples/Connection/non_blocking/test_sock_connector.cpp: * examples/Connection/non_blocking/test_lsock_connector.cpp: * examples/Connection/non_blocking/test_spipe_connector.cpp: * examples/Connection/misc/test_upipe.cpp: * examples/Connection/blocking/SPIPE-connector.cpp: * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: * examples/ASX/UPIPE_Event_Server/Consumer_Router.cpp: * examples/ASX/Event_Server/Transceiver/transceiver.cpp: * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: * apps/JAWS/clients/Caching/http_handler.cpp: * apps/JAWS/clients/Blobby/Blob.cpp: * apps/Gateway/Peer/Peer.cpp: * apps/Gateway/Gateway/Event_Channel.cpp: * apps/Gateway/Gateway/Proxy_Handler.cpp: * apps/Gateway/Gateway/Proxy_Handler_Connector.cpp: * tests/Reactor_Performance_Test.cpp: * tests/Priority_Reactor_Test.cpp: * tests/Map_Manager_Test.cpp: * tests/Conn_Test.cpp: * netsvcs/lib/TS_Clerk_Handler.cpp: * ace/Token_Manager.cpp: * ace/Token_Invariants.cpp: * ace/Token_Collection.cpp: * ace/Local_Name_Space.cpp: Added explicit template instantiation for ACE_Map_Iterator_Base. * ace/Map_Manager.{h,cpp}: Added a new class ACE_Map_Iterator_Base to abstract out most common functionalities from ACE_Map_Iterator and ACE_Map_Reverse_Iterator. Added some missing functions to both iterator classes. Fri Jan 2 12:39:45 1998 Carlos O'Ryan * ace/Map_Manager.h: Another declaration removed from ACE_Map_Reverse_Iterator, operator* is defined in the base class. * tests/Conn_Test.cpp: * tests/Priority_Reactor_Test.cpp: * tests/Reactor_Performance_Test.cpp: The instantiation of ACE_Map_Manager *requires* instantiating ACE_Map_Reverse_Iterator. * ace/OS.i: Cannot use ACE_ASSERT in OS.i, at least it make SGI compiler unhappy. * ace/Map_Manager.cpp: Several methods for ACE_Map_Manager were not given their fully qualified name. * ace/OS.i: The error code should be stored in errno, not in "error". Fri Jan 2 17:02:36 1998 Chris Cleeland * tests/run_tests.sh: Added Env_Value_Test to the list of tests to run. * tests/Env_Value_Test.cpp (main): Fixed wrong test for negative values with unsigned longs. Thanks to David Levine and Linux/Alpha for finding this. * tests/Env_Value_Test.cpp (main): Changed the definition of the TEST_THIS macro to be all on one line. While ugly, this helps in locating the line when ACE_ASSERT fails, since allowing the macro to have multiple lines skews the line # reported by ACE_ASSERT. * ace/Env_Value_T.*: Fixed lots of little bugs that got past both g++ and Solaris compilers, but were caught by the ever-skeptical SGI compiler. This included providing a definition for the missing 'varname(void)' method. Fri Jan 02 10:12:28 1998 Steve Huston * ace/config-hpux-10.x-g++.h: Added #define HPUX_10 to catch OS version-dependent code correctly. Fri Jan 02 07:06:44 1998 David L. Levine * apps/Gateway/Gateway/Makefile: restored the .obj/*.o targets. They don't affect the build of the shared lib and are used if the unshared lib is built. * apps/Gateway/Gateway/Options.h: added missing , in enum definition. * apps/Gateway/Gateway/Options.cpp (Options ctor): reordered initializers to match declaration order. * apps/Gateway/Gateway/Config_Files.cpp (read_entry): fixed syntax error, missing "if" after "else". Added #include of Options.h. * ace/OS.i (rw_trywrlock_upgrade): added ACE_UNUSED_ARG (rw) with STHREADS. * ace/Synch.i (tryacquire_write_upgrade): only define if ACE_HAS_THREADS. * tests/test_config.h: hacked ACE_INIT_LOG to work on VxWorks. VxWorks gets upset if its asked to unlink a nonexistant file. * ace/Basic_Types.*: if using ACE_U_LongLong, #define ACE_USES_ACE_U_LONGLONG and use that in the .i and .cpp files instead of repeating all of the complex preprocessor tests in Basic_Types.h. Thanks to Carlos for suggesting this. * ace/Env_Value_T.cpp: added protection against multiple inclusion. * tests/Env_Value_Test.cpp: added ACE_Env_Value instantiation. Fri Jan 02 00:47:33 1998 Douglas C. Schmidt * ACE version 4.4.13, released Fri Jan 02 00:47:33 1998. Fri Jan 2 00:17:04 1998 Douglas C. Schmidt * Reader_Writer_Test.cpp: Changed from an ACE_RW_Mutex to an ACE_RW_Thread_Mutex so that we can use the new tryacquire_write_upgrade() method. * ace/Env_Value_T.h: Reformatted the file a bit to conform to ACE coding conventions. Thu Jan 1 12:04:29 1998 Douglas C. Schmidt * apps/Gateway/Peer/Options.cpp (parse_args): Changed the option to set the passive acceptor port from -p to -a. This is now consistent with the option for active connector port number, which is -c. * apps/Gateway/Gateway/Gateway.cpp (fini): Added a call to ACE::remove_stdin_handler(), which removes the handler for ACE_STDIN so the gatewayd will shutdown cleanly. * ace/ACE: Added a new method, remove_stdin_handler(), which is the inverse of the register_stdin_handler() method. However, I'm not sure how to make this work on NT! * examples/Reactor/Misc/notification.cpp: Removed some CHORUS-specific, which should be a no-op with our new signal() and sigaction() scheme. * ace/OS.i: Enhanced the signal() and sigaction() wrappers so that they simply ignore signums of 0. This means that we don't need to special case all this stuff throughout ACE anymore. * ace/OS.h: Changed all the #defines for various SIG* so that they are all 0. This way, we can ensure that the signal() functions in ACE_OS can correctly ignore these signals. This should clean up a ton of platform-dependent code throughout ACE. * apps/Gateway/Gateway/File_Parser.cpp (getint): Added a new special-case check for the '*' character, which indicates "use the default value for this field." * apps/Gateway/Gateway/Options: Added a new option to provide a default max retry timeout. * tests/Reader_Writer_Test.cpp: Enhanced the test so that it exercises the new "upgrade" feature of RW_Thread_Mutexes. * ace/{OS,Synch}: Added new methods, ACE_OS::rw_trywrlock_upgrade() and ACE_RW_Thread_Mutex::tryacquire_write_upgrade() that conditionally upgrade a read lock to a write lock. This only works if there are no other readers present, in which case the method returns 0. Otherwise, the method returns -1 and sets errno to EBUSY. Note that the caller of this method *must* already possess this lock as a read lock. * apps/Gateway/{Gateway,Peer}/Makefile: Removed the $(VLIB) macro so that we don't try to build the lib*.a files by default. Thanks to David Levine for explaining this. * apps/Gateway/Gateway: Added new Options.{h,cpp} files and rearranged the program to centralize all options processing in an Options Singleton. * apps/Gateway/Peer/Options.cpp (parse_args): Changed the connector and acceptor options to use a more generalizable format. Now we can set the Consumer and Supplier port numbers independently. * apps/Gateway/Gateway/Event.h: This is currently where the macros from the following bullets have been moved, so they can be shared by the Peer and Gateway components. * ace/OS.h: Moved the ACE_DEFAULT_{GATEWAY,PEER}_SERVER_PORT macros into the Gateway application, where they belong. * apps/Gateway/Peer/Options.cpp (parse_args): Changed the option to set the passive acceptor port from -p to -a. This is now consistent with the option for active connector port number, which is -c. * apps/Gateway/Gateway/Gateway.cpp (fini): Added a call to ACE::remove_stdin_handler(), which removes the handler for ACE_STDIN so the gatewayd will shutdown cleanly. * ace/ACE: Added a new method, remove_stdin_handler(), which is the inverse of the register_stdin_handler() method. However, I'm not sure how to make this work on NT! * examples/Reactor/Misc/notification.cpp: Removed some CHORUS-specific code, which should be a no-op with our new signal() and sigaction() scheme. * ace/OS.i: Enhanced the signal() and sigaction() wrappers so that they simply ignore signums of 0. This means that we don't need to special case all this stuff throughout ACE anymore. * ace/OS.h: Changed all the #defines for various SIG* so that they are all 0. This way, we can ensure that the signal() functions in ACE_OS can correctly ignore these signals. This should clean up a ton of platform-dependent code throughout ACE. * apps/Gateway/Gateway/Gateway.cpp (init): Revised the code a bit to factor out platform-dependent signal handling stuff in the right place. * apps/Gateway/Gateway/gatewayd.cpp: Cleaned up the gatewayd main program so that it reuses more ACE components and so that it is more portable. Thu Jan 01 18:24:56 1998 Nanbor Wang * apps/Gateway/Gateway/Gateway.dsp: Added new file Options.cpp. * apps/Gateway/Gateway/Options.cpp (ACE_BUILD_SVC_DLL): Added #define ACE_BUILD_SVC_DLL. * netsvcs/lib/Base_Optimizer.i: Removed this file. * netsvcs/lib/Base_Optimizer.h: Added codes to include in the source file conditionally if needed. * netsvcs/lib/Base_Optimizer.cpp: Moved template implementation from .i file. Removed ACE_INLINE keyword. * netsvcs/lib/Server_Logging_Handler.cpp: Added explicit template instantiation macros. Thu Jan 01 17:13:06 1998 David L. Levine * apps/Gateway/Peer/Peer.cpp (Peer_Connector::open): added return 0 statement at end. * apps/Gateway/Gateway/Options.cpp (Options ctor): reordered initializers to match declaration order. * apps/Gateway/Gateway/Makefile: removed LOBJ and SHOBJ macros because they're not needed. And, restored BUILD so that static lib will be built if requested. * include/makeinclude/rules.lib.GNU: added OBJEXT macro, defaulted to "o", and use it in VOBJS definition. * include/makeinclude/wrapper_macros.GNU: if building shared libs only, set OBJEXT to "so" and VDIR to .shobj/, so that only shared objects will be built. * apps/Gateway/Peer/Peer.cpp: added template instantiations. * netsvcs/lib/Base_Optimizer.*,Makefile: moved inline functions to .i file and changed inline to ACE_INLINE. * netsvcs/lib/Server_Logging_Handler_T.{h,cpp}: don't use Base_Optimizer with g++. Some versions of g++ 2.7.x have trouble with its inline template member functions, especially if __ACE_INLINE__ is disabled. Thu Jan 01 07:56:17 1998 Douglas C. Schmidt * ACE version 4.4.12, released Thu Jan 01 07:56:17 1998. Thu Jan 01 00:28:46 1998 Nanbor Wang * apps/Gateway/Peer/Peer.dsp: Added a new file "Options.cpp" into this project. * tests/Env_Value_Test.cpp (main): Changed variable name: 'environ' to 'envp'. Real OSes don't understand what the word means and Access Violations will occur. * tests/run_tests.bat: Added Env_Value_Test. * tests/version_tests/version_tests.dsw: * tests/tests.dsw: Added Env_Value_Test.dsp. * tests/version_tests/Env_Value_Test.dsp: * tests/Env_Value_Test.dsp: New file. Thu Jan 1 00:00:00 1998 Douglas C. Schmidt * Happy New Year! Here's a thought for the new year, courtesy of Sumedh: Nothing in the world is permanent, and we're foolish when we ask anything to last; but surely we're still more foolish not to take delight in it while we have it. - W.Somerset Maugham (Razor's Edge) Wed Dec 31 19:10:59 1997 Douglas C. Schmidt * apps/Gateway/Peer/Peer: Added the hooks for making the Peer a Connector, as well as an Acceptor. Now it's time to have some fun. * apps/Gateway/Peer/peerd.cpp: Cleaned up the peerd main program so that it reuses more ACE components and so that it is more portable. * netsvcs/servers/main.cpp (main): Revised the code a bit to factor out platform-dependent signal handling stuff in the right place. * apps/Gateway/Peer: Factored out some common initialization code to create an Options Singleton. Yowza! * apps/Gateway/README: Improved the documentation so that its easier to tell what's supposed to happen and how to configure the system. * apps/Gateway/Peer/Peer: Moved the Peer_Acceptor into the Peer.h file and updated the documentation to clarify what's going on better. * examples/Reactor/Dgram/: Enhanced the examples to make sure they close() the dgram endpoint when the object is removed from the Reactor. Thanks to Evgeny Beskrovny for reporting this. * ace/Obstack.cpp: Fixed a stupid bug in the ACE_Obstack constructor. Thanks to David Levine for reporting this. * ace/Local_Name_Space_T.h: Updated the documentation for class ACE_Name_Space_Map to make it more clear. Wed Dec 31 21:21:50 1997 David L. Levine * examples/Reactor/Dgram/{CO,Dgram.cpp} (handle_close): added ACE_UNUSED_ARG (handle). * tests/Env_Value_Test.cpp (main): removed unused arg argv and local envargv. undef'ed ACE_HAS_NONSTATIC_OBJECT_MANAGER because it can't deal with the three arguments to main (). Wed Dec 31 16:25:16 1997 Chris Cleeland * ace/Env_Value_T.*: Added a new template (ACE_Env_Value) which is a typesafe encapsulation of environment variables with the ability to provide a value to be used as a default if the variable isn't set. An example of its use can be seen in the corresponding test, tests/Env_Value_Test.cpp. Thanks to Carlos O'Ryan for giving me the seed that started this. * tests/Env_Value_Test.cpp: Added test for the new template added above. * tests/Makefile: Added new Env_Value_Test test to the Makefile. * ace/OS.{h,i} (strtod): Added new function for converting strings to doubles. Tue Dec 30 22:07:44 1997 David L. Levine * ace/High_Res_Timer.cpp (elapsed_time): added a cast in calculation of useconds to avoid MSVC++ warning about narrowing. Thanks to Nanbor for reporting this. * ace/OS.i (gethrtime): commented out high-res tick counter on Linux because it doesn't seem to work properly. Use ::gettimeofday () instead. * tests/Basic_Types_Test.cpp (main): replaced #ifdef VXWORKS && ghs with !ifdef ACE_HAS_WCHAR_TYPEDEFS_CHAR. * ace/Map_Manager.cpp (operator*): fixed typo in "ACE_Map_Entry". * ace/OS.h: added ACE_NSIG. In addition, I removed this: // Why is this defined? It must be a std C library symbol. #if !defined (NSIG) #define NSIG 0 #endif /* NSIG */ We #define NSIG elsewhere on platforms (VxWorks, MVS) that need it. #defining it to be 0 isn't good; it's better to catch the lack of NSIG at compile time than at run time. * ace/{Log_Msg.cpp,OS.i,Select_Reactor.cpp,Signal.*,WFMO_Reactor.i}, tests/Sigset_Ops_Test.cpp: replace NSIG with ACE_NSIG. * ace/Basic_Types.{h,i}: only use u_longlong_t on sun. Added operator++ to ACE_U_LongLong, and tweaked calculation in operator/. * tests/Time_Value_Test.cpp (test_ace_u_longlong_): added test of operator+, and one simple test of operator/. * ace/Filecache.h: removed extra , in enum ACE_Filecache_Flag definition. Tue Dec 30 20:32:03 1997 Nanbor Wang * ace/Map_Manager.{h,cpp}: Added STL-styled iterator function. Changed the references to ACE_Map_Manager within interator classes to pointers so we can check errors. Tue Dec 30 14:56:18 1997 Douglas C. Schmidt * ace/Obstack: Enhanced ACE_Obstack so that it can be given a pointer to an allocator strategy. This allows users to take complete control of where the memory comes from for the Obstack. * ace/Obstack: Changed the default value of "size" so that it is (4096 - sizeof (ACE_Obstack)). * ace/Obstack: Added a new ACE_Obchunk constructor to simplify some of the code. Mon Dec 29 20:21:32 1997 Steve Huston * include/makeinclude/rules.lib.GNU: Adjusted dependencies on building a shared library to be on the object modules it will link in, not necessarily $(VSJOBJ). Mon Dec 29 18:53:35 1997 James C Hu * ace/Filecache.h: Added an enum type, ACE_Filecache_Flag, which gets passed into the ACE_Filecache_Handle constuctor to help determine whether or not to use memory mapping (on Windows NT, we sometimes do not want to memory map). * ace/Filecache.cpp: Required modifications to accomodate the ACE_Filecache_Flag parameter. Mon Dec 29 15:37:24 1997 Nanbor Wang * ace/OS.i (event_timedwait): Added codes to guard against negative wait time since we are passing an absolute time value here, we may way past the target time when it gets called. Thanks to Norbert Rapp for pointing this. Mon Dec 29 13:57:43 1997 Carlos O'Ryan * ace/XtReactor.cpp: Fixed syntax error, apparently some kind of typo. * ace/OS.h: The ACE_*_cast() macros had (IMHO) surprizing priority, added some parenthesis to make them behave as the new cast operators are supposed to do. Mon Dec 29 08:59:28 1997 David L. Levine * ace/Basic_Types.h: Linux w/o glibc 2.0 doesn't have u_longlong_t, so use "unsigned long long" for it. * ace/Task.cpp (activate): added ACE_UNUSED_ARG (thread_handles) on non-threaded platforms. * ace/Thread_Manager.cpp (wait): added ACE_UNUSED_ARG (abandon_detached_threads) on non-threaded platforms. * performance-tests/Misc/childbirth_time.cpp (prof_ace_os_thread): added ACE_UNUSED_ARG (iteration) on non-threaded platforms. * performance-tests/Misc/preempt.cpp (main): added ACE_UNUSED_ARG for argc and argv on non-threaded platforms. * include/makeinclude/platform_linux.GNU: enabled compiler warnings by replacing -w with -Wall -Wpointer-arith in CFLAGS. * ace/ACE.cpp (count_interface,get_handle,get_ip_interfaces): use same code for LynxOS as for __unix. * ace/OS.h: on LynxOS, redefine NSIG to be one greater than the highest-numbered signal. LynxOS' signal.h #defines it to be equal to the highest-numbered signal, 64. Mon Dec 29 08:35:17 1997 Steve Huston * include/makeinclude/platform_hpux_aCC.GNU: Removed the PRELIB and PRELIB_USES_OBJ_ONLY stuff; merged in macros for building on HP-UX 11.00. * include/makeinclude/platform_hpux11_aCC.GNU - Removed this file. The 10.x and 11.x builds are now both controlled by platform_hpux_aCC.GNU. Sun Dec 28 10:50:54 1997 Douglas C. Schmidt * ACE version 4.4.11, released Sun Dec 28 10:50:54 1997. Sat Dec 27 18:03:52 1997 Nanbor Wang * ace/Log_Msg.cpp (dump): Sould test if we have a valid thr_desc before dumping the information of it. Thanks to Luca Priorelli for pointing this out. Sat Dec 27 16:13:59 1997 David L. Levine * ace/{OS.i,config-linux-common.h,README} (getrusage,{get,set}rlimit): added ACE_HAS_RUSAGE_WHO_ENUM and ACE_HAS_RLIMIT_RESOURCE_ENUM support. glibc 2.0 for Linux uses enums for the first arguments to ::getrusage and ::{get,set}rlimit. Fri Dec 26 18:04:06 1997 * ace/Containers.h: Added iterator traits for following classes. ACE_Unbounded_Set ACE_Unbounded_Queue ACE_Unbounded_Stack ACE_Double_Linked_List ACE_Fixed_Set ACE_Bounded_Set Thanks to for recommending this. Fri Dec 26 12:03:05 1997 David L. Levine * ace/config-osf1-4.0.h: added support for DCE threads, and merged in config-osf1-4.0-g++.h. Thanks to Frederic Andres for the DCE threads support #defines. * ace/config-osf1-4.0-g++.h: removed. All Digital Unix 4.0 configs are now supported by config-osf1-4.0.h. * ace/platform_osf1_4.0.GNU: added comment on how to use DCE threads instead of POSIX threads. * ace/OS.i (thr_{get,set}prio): don't apply the !defined(ACE_LACKS_SETSCHED) test if ACE_HAS_DCETHREADS. * ace/OS.cpp (thr_create): added || ACE_HAS_DCETHREADS to #ifndef ACE_LACKS_SETSCHED, so that priority is set with DCETHREADS. * ace/OS.cpp (sched_params): moved paren so that DCETHREADS block will be executed even if ACE_LACKS_SETSCHED. * ace/Sched_Params.cpp ({next,previous)_priority): added ACE_HAS_DCETHREADS check before !defined(ACE_LACKS_SETSCHED). * ace/OS.i (cond_timedwait): wrapped first arg to ACE_OSCALL in parens because it confused cxx. * examples/System_V_IPC/SV_Message_Queues/{,T}MQ_Server.cpp: renamed variable msgque because it conflicted with a symbol in the DEC cxx w/DCE threads headers. * ACE-INSTALL.html: expanded discussion of gcc config.status file. Thanks to Hans Rohnert for figuring out the role of the config.status file. Fri Dec 26 06:44:25 1997 * ace/OS.h (ACE_OS::ace_flock_t): Added a new field "lockname_" to remember the lock filename. * ace/OS.i (flock_init,flock_destroy): We need to remember the name of the lock file when initializing the lock and unlink the file when destroying the lock. Thu Dec 25 18:08:42 1997 Douglas C. Schmidt * ace/XtReactor.cpp: Removed g++ warning about initialization order, enabled read/write masks for ACE_Event_Handler::CONNECT_MASK; fixed typo that checks a write mask, but sets a read mask; removed unused variable "zero." Thanks to Eric Newton for these fixes. Thu Dec 25 17:17:16 1997 * ace/config-win32.h: * ace/config-win32-common.h: Added macro definitions not to use C++-styled castings on Win32 by default so that we don't depend on the RTTI support. Thu Dec 25 16:18:03 1997 * ace/SString.h (ACE_CString and ACE_WString): Added c_str() to make it similar to STL's string class. Wed Dec 24 19:59:15 1997 David L. Levine * tests/IOStream_Test.cpp (client): changed stream error message from "timeout" to "timed out", so that run_tests.check won't complain about it. Wed Dec 24 18:37:49 1997 * ace/Synch.i (get_thread_id,get_nesting_level): Added ACE_INLINE. Wed Dec 24 18:31:31 1997 Douglas C. Schmidt * ACE version 4.4.10, released Wed Dec 24 18:31:31 1997. Wed Dec 24 14:27:33 1997 * ace/Synch.{h,i,cpp} (ACE_Recursive_Thread_Mutex): Changed ACE_Recursive_Thread_Mutex to inherit from ACE_Thread_Mutex on Win32 because ACE_Thread_Mutex is already recusive on Win32. Wed Dec 24 08:14:32 1997 David L. Levine * ace/Log_Msg.cpp (instance): without threads, dynamically create the ACE_Log_Msg instance instead of using a static. Now, without threads, the ACE library has no statics that require destruction (at least on Solaris/g++ and Linux). And, all of the ACE tests Purify cleanly. * ace/OS.cpp (ACE_Thread_Adapter::invoke): wrapped rethrow_w32_structural_exception () call with #ifdef ACE_WIN32. It was eliminated by the ACE_SEH_EXCEPT macro on non-WIN32 platforms, but some compilers (cxx) warned about the unreachable code. This call is only supported on WIN32 anyways. * ace/OS.h: LynxOS has ACE_HAS_PTHREADS_1003_DOT_1C, but not ACE_HAS_PTHREAD_SIGMASK. * tests/Time_Value_Test.cpp: only test ACE_U_LongLong on Solaris, and other platforms with STHREADS. Wed Dec 24 04:25:49 1997 * ace/OS.i (sema_init): Added checking for initial semaphore counts and set the semaphore to non-signaled state if the initial count is zero. Changed the internal variable lock from a mutex to a thread_mutex (Critical Section.) Tue Dec 23 21:06:14 1997 David L. Levine * ace/TLI_Stream.cpp (get_remote_addr): added ACE_UNUSED_ARG for the arg if ! ACE_HAS_SVR4_TLI. * examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp (main): declare local "i" outside the for loop because it is used after the loop. Tue Dec 23 19:34:10 1997 * ace/OS.i: Added comments for semaphore simulation. Tue Dec 23 19:33:59 1997 Douglas C. Schmidt * ACE version 4.4.9, released Tue Dec 23 19:33:59 1997. Tue Dec 23 19:05:32 1997 Douglas C. Schmidt * tests/IOStream_Test.cpp (server): Changed sleep(30) to sleep(5). This seems more reasonable. Thanks to James Johnson for this suggestion. Tue Dec 23 16:43:14 1997 Steve Huston * ace/README: Added descriptions for ACE_HAS_PTHREADS_1003_DOT_1C (this was in use previously but not documented), ACE_HAS_XTI (new; XTI is the POSIX superset of TLI - this implies ACE_HAS_TLI), ACE_NEW_THROWS_EXCEPTIONS (new; the compiler throws bad_alloc if a 'new' memory allocation fails). * ace/Hash_Map_Manager.cpp - Workaround for an aC++ bug in the HP-UX 11 version of the compiler. * ace/INET_Addr.cpp: Note the failing host name in the error message from ACE_INET_Addr::ACE_INET_Addr(u_short, const char []). * ace/OS.h: Changes made while porting to HP-UX 11: - If ACE_HAS_PTHREADS_1003_DOT_1C (POSIX.1C), it implies (by way of POSIX.1C) that these also be set: ACE_HAS_PTHREAD_SIGMASK ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R This is intended to make the process of configuring a new new platform easier. - If the new config macro ACE_NEW_THROWS_EXCEPTIONS is set, include the file . The "proper" thing to do is to include ; however, at least on HP-UX 11, this will cause other things to get brought in, like , which will screw up auto_ptr. The day that all this standard library and STL stuff is finally straight, there will be dancing in the streets... - Support including the proper header file for XTI when it's supposed to use rather than (POSIX specifies XTI, a superset of TLI, to have ) - If ACE_NEW_THROWS_EXCEPTIONS is set, the ACE_NEW and ACE_NEW_RETURN macros handle the exception. * ace/OS.i: Fixed check for failure in ACE_OS::sema_init. * ace/config-hpux11.h: * ace/config-hpux11-hpc++.h: New configs for HP-UX 11.00 * include/makeinclude/platform_hpux11_aCC.GNU: Platform macros for HP-UX 11. It is set up for 32-bit build with comments for how to do a 64-bit build. * examples/Makefile: Added Naming to the directory list to build. * examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp: Changed test from ACE_HAS_SVR4_POLL to ACE_HAS_POLL. * examples/IPC_SAP/SOCK_SAP/C-inclient.cpp: * examples/IPC_SAP/SOCK_SAP/CPP-unclient.cpp: * examples/IPC_SAP/SOCK_SAP/CPP-unserver.cpp: * examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp: Fixed a char * being initialized by a string literal. * examples/Map_Manager/test_hash_map_manager.cpp: Added #include "ace/SString.h" * examples/Mem_Map/IO-tests/test_io.cpp: Fixed a char * being initialized by a string literal. Fixed diagnostic statements. * examples/Naming/test_multiple_contexts.cpp: * examples/Naming/test_non_existent.cpp: * examples/Naming/test_writers.cpp: Added Id line for CVS. * tests/Time_Value_Test.cpp: Added #include "test_config.h" Tue Dec 23 16:12:28 1997 * ace/OS.i: Must use ACE_OS::sema_wait instead of waiting on the singling event when using simulated semaphores. Tue Dec 23 08:32:00 1997 Chris Gill * include/makeinclude/platform_sunos5_g++.GNU Removed trailing spaces from CC and CXX macros (the trailing space behind CXX was giving the TAO_IDL make fits) Tue Dec 23 07:26:28 1997 David L. Levine * ace/TLI.cpp (get_local_addr): return -1, instead of 0, and set errno (with ACE_NOTSUP_RETURN) if ! ACE_HAS_SVR4_TLI. ({set,get}_option): added ACE_UNUSED_ARfor all arguments if ! ACE_HAS_SVR4_TLI. * ace/TLI_Stream.cpp (get_remote_addr): return -1, instead of 0, and set errno (with ACE_NOTSUP_RETURN) if ! ACE_HAS_SVR4_TLI. Declare and set local "name" only if ACE_HAS_SVR4_TLI. * ace/TLI_Acceptor.cpp (handle_asynch_event): initialize local "event" instead of defining it in the switch condition, to avoid compiler warning about not using it. * examples/IPC_SAP/TLI_SAP/db-server.cpp (lookup_name): removed unused local variable "len". * include/makeinclude/platform_osf1_4.0.GNU: removed some warning suppressions that are no longer needed. * ace/Log_Msg.cpp (~ACE_Log_Msg): clean up the message queue and allocated strings on non-threaded platforms. * tests/test_config.h (ACE_APPEND_LOG): added a close () of the ace_file_stream before opening it. Forked children inherit the opened file stream, and fail on their attempt to open it if it is not explicitly closed. Mon Dec 22 22:42:57 1997 Douglas C. Schmidt * ace/OS: Added a few minor changes to Nanbor's Semaphore emulation for WinCE. Mon Dec 22 11:39:19 1997 * OS.i (event_timedwait): Added code to handle timeouts. Thanks to Luca Priorelli for reporting this. Mon Dec 22 07:03:13 1997 David L. Levine * ace/IOStream_Test.cpp (spawn): changed printout from "Process_Mutex_Test-children" to "IOStream_Test-children". Mon Dec 22 03:08:22 1997 * ace/OS.i: Modified ACE_OS::cond_* for WinCE. * ace/config-win32-common.h: Prevent ACE from using NT specific API on Win CE. Sun Dec 21 16:19:40 1997 Nanbor Wang * ace/OS.{h,i} (ACE_OS::sema_*): Added semaphore simulation code for WinCE. This code is currently protected ACE_USES_WINCE_SEMA_SIMULATION for debugging the code on NT. This flag should soon be obsolete and changed to ACE_HAS_WINCE. Moved ACE_event_t macro definition for Win32 before ACE_sema_t definition for NT. I need to use it in semaphore simulation. * ace/OS.h (class ACE_Cleanup_Info::operator ==, !=): Removed keyword struct. ACE_Cleanup_Info is a class now. * ace/Containers.h (class ACE_Double_Linked_List): Removed unused function declarations. * ace/Containers.h (class ACE_DNode): Removed ACE_DNode class. Sun Dec 21 18:47:09 1997 Douglas C. Schmidt * ACE version 4.4.8, released Sun Dec 21 18:47:09 1997. Sun Dec 21 12:39:38 1997 Douglas C. Schmidt * ace/OS.h (ACE_OS): Made the netdb_{acquire()/release()} methods public to help ACE users stuck on weird OS platforms. Thanks to Arturo Montes for this suggestion. * ace: Changed all ACE class documentation so that it puts the =TITLE and =DESCRIPTION comments *after* the opening '{' rather than before. I did this since (1) it makes emacs C++ mode happier and (2) it makes Rational Rose reverse-engineering tool happier too. Thanks to Thomas Jordan for suggesting this. * ace/LOCK_SOCK_Acceptor.h: The accept() method of class ACE_LOCK_SOCK_Acceptor is no longer a virtual. I don't know why this was made virtual in the first place, but it was a mistake. Sun Dec 21 15:24:42 1997 Nanbor Wang * ace/OS.h (class ACE_Cleanup_Info::operator ==, !=): Removed keyword struct. ACE_Cleanup_Info is a class now. * ace/Containers.h (class ACE_Double_Linked_List): Removed unused function declarations. * ace/Containers.h (class ACE_DNode): Removed ACE_DNode class. Sat Dec 20 11:05:45 1997 Douglas C. Schmidt * tests/test_config.h (ACE_INIT_LOG): Added (%P|%t) to an ACE_DEBUG statement to make it consistent. * tests/IOStream_Test.cpp (spawn): Revised the test so that it prints data correctly to the child processes. * examples/Shared_Malloc/test_multiple_mallocs.cpp (main): Moved the final print statement inside one of the if blocks so that it appears only every second invocation to remind people to rerun the program to remove the leaks. Thanks to Tom Arbuckle for suggesting this. * ace/Malloc*: Changed ACE_MALLOC_STATS to ACE_HAS_MALLOC_STATS since this is more consistent with ACE conventions. Also, added ACE_HAS_MALLOC_STATS to the ace/README file. Thanks to Tom Arbuckle for suggesting this. * ace/Memory_Pool.cpp (ACE_Shared_Memory_Pool): Fixed the logic for naming the backing store if the sscanf() call fails. Thanks to Tom Arbuckle for suggesting this. Sat Dec 20 15:39:00 1997 Nanbor Wang * tests/IOStream_Test.cpp (spawn): Changed ACE_LACKS_EXEC to ACE_LACKS_FORK. Sat Dec 20 09:42:06 1997 David L. Levine * ace/OS.h: changed ACE_SEH_FINALLY to be if (1) on Unix, not just pSOS. Fri Dec 19 23:20:42 1997 Nanbor Wang * tests/IOStream_Test.cpp (client): Removed an extra read. * ace/OS.h: ACE_SEH_FINALLY should always be executed on UNIX platforms. Fri Dec 19 18:49:26 1997 Douglas C. Schmidt * ace/IOStream_T.i: Enhanced ACE_IOStream and its companions as follows: - ACE_Streambuf_T<> now distinguishes recv() timeout failure from a "real" stream failure - ACE_IOStream::eof() honors the streambuf's recv_timeout() value and returns FALSE if the eof() check fails on timeout. - IOStream_Test.cpp tests the streambuf timeout via the stream eof() and retrys if possible. Thanks to James Johnson for these fixes. * ace/Log_Record.i: Removed a no-op assignment to Time_Value in the encode() method. Thanks to Patrick J. McNerthney for reporting this. * ace/Log_Record.i: The time stamp put into the ACE_Log_Record gets all messed up when the ACE_Log_Record is transmitted to the Server_Logging_Handler and the client is run on a little-endian architecture. This is because the ACE_Log_Record::encode method does: this->time_stamp_ = ACE_Time_Value htonl (this->time_stamp_.sec ()), htonl (this->time_stamp_.usec ())); When the ACE_Time_Value is passed in the resulting values from "htonl", it calls "normalize" which totally messes with the values passed. Thanks to Patrick J. McNerthney for reporting this. * ace/OS.i: Fixed ctime_r() so that it doesn't crash if a NULL is returned from ctime_r(). Thanks to Patrick J. McNerthney for reporting this. Fri Dec 19 09:44:28 1997 David L. Levine * ace/OS.{h,i}: fixed sigwait for DEC cxx, yet again for cxx V6.0-010. cxx #defines sigwait, and was getting confused with ACE_OS::sigwait. I replaced Thilo's #undef sigwait, and updated the ::sigwait declaration to what cxx uses internally. * examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp (server): cast arg to long before casting to ACE_HANDLE, and removed function-style cast. Fri Dec 19 00:39:40 1997 Douglas C. Schmidt * ACE version 4.4.7, released Fri Dec 19 00:39:40 1997. Thu Dec 18 19:47:47 1997 Douglas C. Schmidt * examples/IPC_SAP/SOCK_SAP: Stripped the CPP-in{server,client}.cpp tests down to their bare essence to only test the core features of sockets. Thanks to Bryan and Brian for suggesting this. * ace/Message_Queue.cpp (ACE_Message_Queue_Iterator): Changed queue to q to avoid clashes with STL. Thanks to Brian Mendel for reporting this. * ace/OS.h: The server logging daemon is implemented using TCP/IP under Win32. Therefore, we can simplify the creation of the ACE_DEFAULT_LOGGER_KEY. Thanks to Patrick J. McNerthney for reporting this problem. Thu Dec 18 22:35:45 1997 David L. Levine * ace/OS.h: fixed typo in end-of-comment marker. * ace/OS.h: on Digital Unix 4.0, only declare sigwait () with cxx, not with g++. Thanks to Erik Margraf for verifying this. * examples/IPC_SAP/SOCK_SAP/CPP-in{client,server}.cpp: tweaked so that they build on VxWorks (spawn needs the (ACE_THR_FUNC) cast), and without threads. * tests/run_tests.vxworks: updated VxWorks test status. * ace/Basic_Types.h: look for ULONGLONG_MAX, which Irix 6.x uses. And, hard-code ACE_SIZEOF_LONG_DOUBLE to be 16 on __sgi, because its float.h doesn't always allow us to distinguish them. Thanks to Carlos for reporting these. * ace/High_Res_Timer.cpp,Profile_Timer.cpp: removed dependence on ACE_U_LongLong. Thanks to Carlos for reporting this. * tests/Time_Value_Test.cpp: fixed #ifdefs so that ACE_ULongLong isn't tested on Irix 6.x, etc. Thanks to Carlos for tripping over this. * ace/IOStream_T.i (eof): made the return type, int, explicit. * ace/config-linux-common.h: started adding support for threads on alpha (glibc). Thu Dec 18 21:17:46 1997 * ace/ace_dll.dsp: Added project files for Windows CE on SH3 series CPU and x86 emulator. * ace/streams.h: * ace/OS.h: Added Windows CE flags. * ace/OS.cpp (invoke): Added a dummy return to shut gcc up. * ace/OS.cpp (invoke): Added a dummy return to shut gcc up. * ace/OS.{h,cpp} (rethrow_w32_structural_exception): Added this function, which prints out an error message to indicate the occurance of structural exception and rethrow it again. (ACE_Thread_Adapter::invoke): Rearranged try and except block for Win32 and added a finally block so when a structural exception occurs, a thread can clean it up properly, print out an error message, and rethrow the exception again. Thu Dec 18 15:40:50 1997 James C Hu * ace/Filecache.{cpp,h}: - debugged writing a file. - can select if mapping is desired. * ace/OS.h: Added new #defines to facilitate forward declarations of ACE_Export classes. Thu Dec 18 00:15:02 1997 Douglas C. Schmidt * ACE version 4.4.6, released Thu Dec 18 00:15:02 1997. Wed Dec 17 19:42:38 1997 Douglas C. Schmidt * examples/IPC_SAP/SOCK_SAP: Enhanced the CPP-{inserver,inclient}.cpp tests so that they will spawn multiple client and server threads to perform the data transfer. Thanks to Brian Mendel and Bryan Doerr for suggesting this. * ace/OS.i: Fixed some very subtle bugs with cond_signal() and cond_broadcast(). Thanks to Patrick J. McNerthney for reporting these and sending the fixes. Wed Dec 17 19:27:06 1997 Nanbor Wang * ACE-INSTALL.html (HREF): Added an advise not to use VC5.0 SP3. * examples/OS/Process/Makefile: Removed inclusion of rules.lib.GNU. Thanks to Avi Nash for noticing this. Tue Dec 16 22:09:42 1997 David L. Levine * tests/Time_Value_Test.cpp: restored #include test_config.h, and changed #include ace/config.h to ace/inc_user_config.h. * examples/IPC_SAP/TLI_SAP/ftp-server.cpp, examples/Reactor/Misc/test_timer_queue.cpp, examples/Service_Configurator/IPC-tests/server/Handle_Timeout.i, examples/Shared_Malloc/test_malloc.cpp, examples/Threads/thread_specific.cpp: replaced ACE_HAS_64BIT_LONGS preprocessor logic with a cast through a long to an int. A void * is the same size as a long on all currently supported ACE platforms. The int cast is also there, to avoid compiler warnings about narrowing. As a side effect, the function-style casts were removed. * ace/config-osf1*.h,README: added comment stating that ACE_HAS_64BIT_LONGS is deprecated. * ace/config-tandem.h: removed commented-out line that mentioned ACE_HAS_64BIT_LONGS. * ace/OS.{h,i} (sigwait): removed DEC cxx version dependence. The standard two-arg POSIX ::sigwait () seems to work just fine even on older releases of Digital Unix 4.0, with the sigwait declaration that we have in OS.h. Thanks to Erik Margraf and Thilo for helping to sort this out. I did change the ACE_OS::sigwait () return value determination in OS.i. It now depends on whether or not POSIX ::sigwait () returns 0, to agree with the documenation for POSIX sigwait. Before, the code checked for a -1 return value from ::sigwait (). Tue Dec 16 21:00:49 1997 Chris Gill Single Threaded port of ACE to pSOSim - first checkin * psosim/Makefile: (new) make file for new psosim directory - builds the configured simulator components * psosim/drv_conf.c: (new) board driver configuration code for simulator * ace/sys_conf.h: (new) configuration settings for simulator, ACE * ace/config-psosim-g++.h: (new) config file for psosim w/ g++ * ace/OS.cpp: * ace/OS.h: * ace/OS.i: Added psos and psosim specific code * ace/Mem_Map.cpp: Removed function style casts which were killing g++ * ace/Message_Block.cpp: Removed function style casts which were killing g++ * ace/Containers.cpp: Removed function style casts which were killing g++ * ace/Map_Manager.cpp: Removed function style casts which were killing g++ * tests/Handle_Set_Test.cpp: Added PSOS #defines, alongside those for VXWORKS * tests/SOCK_Connector_Test.cpp: Added PSOS #defines, alongside those for VXWORKS * tests/Priority_Reactor_Test.cpp: Added PSOS #defines, alongside those for VXWORKS * tests/MM_Shared_Memory_Test.cpp: Added PSOS #defines, alongside those for VXWORKS * tests/Conn_Test.cpp: Added PSOS #defines, alongside those for VXWORKS * tests/run_tests.psosim: (new) script to run only those tests that are relevant to pSOSim, in its current single threaded state * include/makeinclude/platform_psosim_g++.GNU (new) make macros for pSOSim using g++ Tue Dec 16 17:23:49 1997 Nanbor Wang * tests/Time_Value_Test.cpp: Removed inclusion of "ace/config.h". * ace/inc_user_config.h: Added this file to prevent multiple inclusions of config.h file. Replace `#include "ace/config.h"' with `#include "ace/inc_user_config.h"'. * ace/Log_Msg.cpp: * ace/OS.h: * ace/Trace.cpp: * ace/streams.h: * ace/iosfwd.h: Replace "config.h" with "inc_user_config.h". Tue Dec 16 08:30:41 1997 Douglas C. Schmidt * examples/IPC_SAP/FILE_SAP/client.cpp (main): Fixed "lines" to "links." Thanks to Istvan Buki for reporting this. Tue Dec 16 14:15:48 1997 * ace/OS.i (fstat): Fixed Dr. Schmidt's typo. Tue Dec 16 09:17:53 1997 David L. Levine * ace/Singleton.cpp (cleanup): set instance pointer to 0 after deleting it. Thanks to Luca Priorelli for suggesting this. * ace/Basic_Types.{h,i}: (ACE_U_LongLong): use ACE_UIN32 instead of u_long for data members, to ensure that its sizeof is 8 bytes. * ace/OS.h: except on WIN32 and Solaris (ACE_HAS_HI_RES_TIMER), always typedef ACE_hrtime_t to ACE_UINT64. This changes removes the dependence on ACE_HAS_64BIT_LONGS. * ace/OS.cpp (ACE_TSS_Keys): replaced ACE_HAS_64BIT_LONGS dependence with ACE_SIZEOF_LONG == 8, and similarly for determination of 4-byte longs. * tests/TSS_Test.cpp (worker): replaced ACE_HAS_64BIT_LONGS preprocessor logic with a cast of the void * argument to a long. A void * is the same size as a long on all currently supported ACE platforms. The int cast is also there, to avoid compiler warnings about narrowing. * tests/Time_Value_Test.cpp: replaced use of ! ACE_HAS_64BIT_LONGS with ACE_SIZEOF_LONG == 4. Mon Dec 15 22:47:24 1997 Douglas C. Schmidt * ACE version 4.4.5, released Mon Dec 15 22:47:24 1997. Mon Dec 15 20:17:10 1997 Douglas C. Schmidt * ace/OS.cpp: Fixed pread() and pwrite() so that they work correctly even if we don't support threads. Thanks to Irfan for finding this. * ace/OS.i: Tried to fix the fstat() wrapper on Win32 so that it does the right think for HANDLES. Thanks to Lori Anderson for pointing this out. Mon Dec 15 15:36:07 1997 Nanbor Wang * ace/Thread_Manager.cpp (exit,wait): Changed these two functions more for Chorus. Thanks again to Wei Chian for providing the patch. Mon Dec 15 06:42:42 1997 David L. Levine * ace/Log_Msg.cpp (instance): on non-threaded platforms, only allocate a new ACE_Log_Msg_message_queue if the (static) pointer is 0. Thanks to Stephen Coy for reporting this. * ace/config-linux-common.h: updated header comments about autosensing the platform capabilities. * tests/Process_Strategy_Test.cpp: (parse_args): added DEBUG message if an unsupported concurreny strategy is provided with a -c option. Mon Dec 15 01:12:33 1997 * ace/Synch_T.h (ACE_Atmoic_Op::value_i): Explicitly return (by reference). This gives the user full, unrestricted access to the underlying value. This method will usually be used in conjunction with explicit access to the lock. Use with care ;-) Sun Dec 14 21:37:08 1997 Douglas C. Schmidt * ace/OS.i (cond_wait,cond_timedwait): Fixed a missing return to handle the case where we're using USYNC_PROCESS for the external mutexes. * ace/OS: Made the use of the waiters_lock_ mutex consistent in the ACE_cond_t implementation. This was broken since we used the external_mutex to serialize access to the waiters_ count inconsistently. Thanks to Patrick J. McNerthney for reporting this very subtle bug. Sun Dec 14 12:29:26 1997 Nanbor Wang * ace/Thread_Manager.cpp (exit,wait): Disabled thread join functionality in Chorus. Thanks to Wei Chiang for providing the fix. Fri Dec 12 21:48:38 1997 Torbjorn Lindgren * ace/config-linux*.h: All Linux platform files except the Linux-KCC modified to use the upgraded common Linux configuration file. Linux-KCC looks reasonably easy to do, if no-one that actually have KCC takes care of it I can do this one later. * ace/config-linux-common.h: Modernized and updated the common Linux configuration file to handle more of the common configuration stuff. Also added the beginning of proper glibc and egcs support for Linux. Sat Dec 13 14:22:28 1997 * ace/Basic_Types.h: Changed _M_IX386 to _M_IX86. Fri Dec 12 19:41:42 1997 * ace, tests, version_tests: Updated Win32 makefiles (VC4.2 and VC5.0) to include new Basic_Types_Tests. * tests/Basic_Types_Test.cpp (main): Updated to use ACE_OS::getpagesize(). * ace/ACE.cpp (round_to_pagesize): Updated to use ACE_OS::getpagesize(). * ace/OS.i (getpagesize): Added this to ACE_OS. Fri Dec 12 07:49:01 1997 David L. Levine * ace/OS.i (inet_addr): changed type of "valid" from bool to u_int. This code is only seen on VxWorks. * ace/IOStream.h (ACE_Quoted_String::operator <): changed return type from bool to int. * ace/config-vxworks*.h,README: removed ACE_LACKS_SOCKET_BUFSIZ; added ACE_DEFAULT_MAX_SOCKET_BUFSIZ of 32768. * examples/IPC_SAP/SOCK_SAP/C-in{client,server}.cpp: added support to optionally set socket buffer sizes. * examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp: removed unused constant SHMSZ. * examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp: removed unused constant NO_OF_IO_HANDLERS. * ace/IOStream_T.h (ipfx,ipfx1): don't call setstate () on WIN32, because MS VC++ 5.0 doesn't declare it. Thanks to Irfan for reporting this. This "fix" is temporary, maybe, until we figure out the proper fix. * ace/OS.h: cast the 1 in ACE_MSB_MASK to an fd_mask, to support 64-bit fd_masks. I suspect that with this change, the ACE_HAS_BROKEN_BITSHIFT used in config-tandem.h is no longer necessary. Added Basic_Types: * ace/Basic_Types.*,Makefile: Basic_Types defines the following preprocessor macros: Sizes of built-in types: ACE_SIZEOF_CHAR ACE_SIZEOF_WCHAR ACE_SIZEOF_SHORT ACE_SIZEOF_INT ACE_SIZEOF_LONG ACE_SIZEOF_LONG_LONG ACE_SIZEOF_VOID_P ACE_SIZEOF_FLOAT ACE_SIZEOF_DOUBLE ACE_SIZEOF_LONG_DOUBLE Wrappers for built-in types of specific sizes: ACE_INT16 ACE_UINT16 ACE_INT32 ACE_UINT32 ACE_UINT64 (Note: ACE_INT64 is not defined, because there is no ACE_LongLong for platforms that don't have a native 8-byte integer type.) Byte-order (endian-ness) determination: ACE_BYTE_ORDER, to either ACE_BIG_ENDIAN or ACE_LITTLE_ENDIAN ACE_BIG_ENDIAN or ACE_LITTLE_ENDIAN * ace/OS.*: moved ACE_U_LongLong to Basic_Types.*. * ace/OS.h: added #include . * ace/config-linux-common.h,README: added ACE_HAS_BYTESEX_H. * tests/Basic_Types_Test.cpp,run_tests.{bat,sh,vxworks),Makefile: added new Basic_Types_Test. * tests/Time_Value_Test.cpp: removed ACE Version printout because it is now in Basic_Types_Test. Fri Dec 12 03:00:21 1997 James C Hu * ace/config-sunos5.5-egcs-1.0.h: Fundamemntally identical to g++ version, except added ACE_HAS_STDCPP_STL_INCLUDES, which is taken to mean that the Standard C++ STL include files are supported. * IOStream.h: Added #if's to handle the case where ACE_HAS_STRING_CLASS, but if ACE_HAS_STDCPP_STL_INCLUDES, then the string class is found in . Otherwise, it looks for it in . * ace/OS.i: Re-implemented strcasecmp methods. Thought bad implementations were related to a JAWS bug, but the hand implementations are not used on Solaris. Thu Dec 11 23:20:57 1997 * ace/Strategies_T.cpp (activate_svc_handler): Changed the parameter that was been passed into the open routine of Svc_Handler. The that was passed to us is passed through to open, rather than passing . Thanks to Mats Nilsson for pointing this out. * ace/Connector.cpp (activate_svc_handler): Made sure that we pass the connector pointer as the void* parameter to the svc_handler. Thu Dec 11 23:35:04 1997 Douglas C. Schmidt * ace/OS.i. The code was always calling dlsum for the _init() hook, even if dlopen() failed. In addition to fixing this, I also removed a potential handle leak. Thanks to Patrick J. McNerthney for reporting this. Thu Dec 11 13:13:17 1997 David L. Levine * ace/LSOCK.cpp (recv_handle): fixed to remove compile errors and warnings on platforms with both ACE_HAS_4_4BSD_SENDMSG_RECVMSG and ACE_HAS_THREADS. The delta from version 4.3 of this file is very small. Thanks to Kirill Rybaltchenko for reporting this problem and verifying the fix on LynxOS, the only affected platform. * ace/config-linux-kcc.h,include/makeinclude/platform_linux_kcc.GNU: added linuxthreads support with the linux KAI C++ config. Thanks to Ben Eng for the patches. * ace/IOStream_T.h: iostream fx emulation now skips whitespaces and flushes when tied. Thanks to Ben Eng for the patch. * tests/IOStream_Test.cpp (server): check for double-quote instead of newline as end-of-string character. Thanks to Ben Eng for the patch. * tests/SV_Shared_Memory_Test.cpp: renamed "allocator" to "myallocator" to avoid conflict with STL. Thanks to Ben Eng for the patch. * include/makeinclude/platform_linux_lxpthread.GNU: protect PRELIB definition with ifndef PRELIB, to allow overriding without modifying the platform_macros.GNU file. Thanks to James Johnson for this suggestion. * ace/IOStream_T.cpp: restored ACE_HAS_IOSTREAMH_INCLUSION protection around the old g++ munch hack. There's no need to trouble all (g++) platforms with its (4 byte) space penalty. * examples/IOStream/server/iostream_server.cpp (handle_input): removed unused local "addr". * examples/Reactor/Dgram/{CODgram,Dgram}.cpp (run_test): added return 0 at end so that the function always returns a value. * include/makeinclude/platform_lynxos.GNU: added comment indicator to comment describing POSTLINK. * ACE-INSTALL.html: updated DEC CXX 6.0 test status: all tests pass with the version of DIGITAL UNIX 4.0 and cxx 6.0 that we use. Wed Dec 10 23:57:00 1997 Chris Cleeland * ACE version 4.4.4, released Wed Dec 10 23:57:00 1997. Wed Dec 10 16:24:09 1997 * ace/Auto_Ptr.i: Apparently, the standard states that in order to access members of a templated superclass from a templated subclass, then the member name must be fully qualified. Therefore, changed access to p_ to ACE_Auto_Basic_Ptr::p_. Thanks to Stephen Coy for reporting this. Tue Dec 09 13:05:00 1997 * ace/Containers.cpp (copy_all_nodes): Added a temporary ACE_Node pointer to get around the macro side effects. Sun Dec 7 10:20:46 1997 Douglas C. Schmidt * ace/Service_Config.cpp (parse_args): Added an appropriate macro to switch from char * to UNICODE. Thanks to Timothy A. Brown for reporting this. * ace/config-linux-*.h: Added ACE_HAS_GETRUSAGE_PROTO to all the linux config files. Hopefully, this will help ACE to work better with glibc. Thanks to Ernie Makris and Torbjorn Lindgren for their help. Sat Dec 06 13:30:11 1997 Douglas C. Schmidt * ACE version 4.4.3, released Sat Dec 06 13:30:11 1997. Sat Dec 6 12:02:09 1997 Douglas C. Schmidt * examples/IOStream: Revised both the client and server to demonstrate the ACE_IOStream functionality correctly. Also added a README file explaining how to run the examples. Thanks to James Johnson and Dustin Laurence for suggesting this. * ace/IOStream_T: Added a new method eof() to the ACE_IOStream_T<> class. This returns 1 if we've reached the end of the socket stream, else 0. Fri Dec 5 16:58:29 1997 Douglas C. Schmidt * ace/Addr.h: Added a const ACE_Addr & instead of const ACE_Addr. This will avoid an extra copy. Thanks to Irfan for noticing this. * examples/Reactor/Dgram/CODgram.cpp: Also updated the CODgram test to be just like the Dgram test. * examples/Reactor/Dgram/Dgram.cpp (main): Fixed a bug where it was sending a huge buffer instead of just the string size. Also, exit once we've finished the send. Finally, revised the test so that it is easier to understand and so that it exits properly. Thanks to Michael Hoffman for reporting this. Fri Dec 05 13:20:09 1997 David L. Levine * include/makeinclude/platform_vxworks5.x_ghs.GNU: added OFLAGS. Thanks to Brian Mendel for suggesting these. * tests/IOStream_Test.cpp: updated to work with the standard C++ library version of iostreams. That primarily involved not using operator>>(char& c) and operator>>(char* c) for C strings. Thanks to Ben Eng for the patch. * ace/OS.{h,i},config-osf1-4.0.h: fixed sigwait on DEC CXX 6.0/ recent DEC UNIX 4.0. The fix keys off the compiler version, though it probably should depend on the OS. It adds a sigwait declaration, which is a current signal.h deficiency. With this change, ACE builds and tests cleanly on DEC UNIX. * ace/config-vxworks5.x-g++.h: restored comment that explains ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. * netsvcs/lib/Makefile: the first line of the Local Target (Server_Logging_Handler.*) override mysteriously disappeared, again. Fri Dec 5 12:15:49 1997 Chris Cleeland * ace/Select_Reactor.cpp: Made error messages on open failure more verbose. Having these in place straightaway would have helped track down some problems at Boeing much more effectively. Fri Dec 5 11:15:17 1997 Nanbor Wang * ace/Log_Msg.h (callers.): Added documentation for %I and %D flags. Thanks to John Morey for reosting this. * ace/Dynamic.h: * ace/CORBA_Ref.h: * ace/Token_Invariants.h: * ace/Token_Collection.h: * ace/Local_Tokens.h: * ace/Remote_Name_Space.h: * ace/Registry_Name_Space.h: * ace/Strategies.h: * ace/Name_Space.h: * ace/Name_Request_Reply.h: * ace/Naming_Context.h: * ace/Name_Proxy.h: * ace/Local_Name_Space.h: * ace/Local_Name_Space_T.h: Corrected erroneous comments. These files all contain incorrect filename info in the preambles which make erroneous auto-generated man pages. Fri Dec 05 00:00:53 1997 * ace/OS.h: If the user wants minimum IOStream inclusion, i.e., they have defined ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION, we will just include the forward declarations, i.e., ace/iosfwd.h. Else they will get all the stream header files, i.e., ace/streams.h. The positive thing about this change is that if your code was using stream classes and you were depending on OS.h to provide you the stream header files, you will not have to change your code, unless you have defined ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. Thanks to Dr. Schmidt for suggesting this and thanks to David Levine for suggesting it to Dr. Schmidt ;-). * ace/config-vxworks5.x-g++.h: Restored ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. * ace/Asynch_IO.cpp (open): Fixed typo. Thu Dec 04 21:20:47 1997 Douglas C. Schmidt * ACE version 4.4.2, released Thu Dec 04 21:20:47 1997. Thu Dec 4 19:45:04 1997 Douglas C. Schmidt * ace/Object_Manager.cpp (ACE_Object_Manager_Destroyer): Fixed a bug in the ACE_Object_Manager_Destroyer::~ACE_Object_Manager_Destroyer thread comparison routine. Thanks to Steven Coy for this. Also renamed _saved_main_thread_id to saved_main_thread_id_, which is proper ACE style. * Updated the ACE-INSTALL.html file to explain why you don't need to build everything all the time. Thanks to Dustin Laurence for suggesting this. * tests/SOCK_Connector_Test.cpp (fail_no_listener_nonblocking): Added a check for ENETUNREACH. Thanks to Dustin Laurence for reporting this. * ace/Asynch_Acceptor.cpp (open): Changed the local variable named sap_any to sa to avoid conflicts with the new sap_any macro. * ace/Asynch_IO: Made the ACE_Service_Hanlder::open() method non-virtual to work around bugs with Borland C++. Thanks to Valik Solorzano Barboza for suggesting this. * ace/ACE.cpp (COMPUTE): Put parens around elements the COMPUTE macros so that it will work on Borland C++. Thanks to Valik Solorzano Barboza for suggesting this. * ace/config-win32-common.h: Added ACE_HAS_BROKEN_SAP_ANY to deal with Borland C++ bugs. Thanks to Valik Solorzano Barboza for suggesting this. * ace/Addr: Added a workaround for the Borland C++ problems. This introduces a new global macro called sap_any. However, this is only used for Borland, so it should be ok. Thanks to Valik Solorzano Barboza for suggesting this. * ace/LSOCK.cpp (recv_handle): Make the code smarter if we've got both STREAMS and 4_4BSD_SENDMSG_RECVMSG. * Reran "make depend" over all of ACE. * netsvcs/clients/Logger/indirect_logging.cpp (main): Changed LOGGING to LOGGER. Thanks to Irfan for noticing this. * netsvcs/lib/Client_Logging_Handler: Changed "rendezvous" to "logger." * netsvcs/clients/Logger/indirect_logging.cpp, netsvcs/lib/Client_Logging_Handler: Changed DEFAULT_RENDEZVOUS to DEFAULT_LOGGER_KEY. Thanks to Steven Coy for pointing out this inconsistency. * ace/OS.h: Renamed ACE_LOGGER_KEY to ACE_DEFAULT_LOGGER_KEY to make it consistent with other ACE_DEFAULT_* names. * ace/OS.h: Changed the definition for ACE_LOGGER_KEY so that it defaults to "localhost:10015" on platforms that don't support ACE STREAM Pipes. Thanks to Steven Coy for suggesting this. * ace/Service_Config.cpp: Added the -k option to parse_args() so that the user can set the logger key. Thanks to Steven Coy for suggesting this. * ace/Service_Config: Added the logger_key as a parameter to the other open() method, as well. Thanks to Steve Coy for being picky ;-). * netsvcs/clients/Logger/direct_logging.cpp (main): Modified the code to use the new framing scheme. * netsvcs/lib/Server_Logging_Handler_T.cpp (handle_logging_record): Updated the code to take advantage of our new framing scheme. * netsvcs/lib/Client_Logging_Handler.cpp (send): We can be smarter now about sending the ACE_Log_Record across the network since the length field is now fixed and it's guaranteed to be in the first 4 bytes. Thanks to Steve Coy for suggesting this. * ace/Log_Record.h (ACE_Log_Record): Replaced the horribly non-portable "long length_" field with the "ACE_INT32 length_" field, which is nice because it is portable across platforms with different long-word sizes. Thu Dec 04 09:57:40 1997 David L. Levine * include/makeinclude/platform_osf1_4.GNU: allow enabling of WARNING_FLAGS by setting CXX_VER to POST_5X. Thanks to James Johnson for this suggestion. * ace/Svc_Conf_l.cpp: rebuilt with Doug's flex. Thu Dec 04 03:46:04 1997 * ace/Makefile (Svc_Conf_l.cpp): Changed the sed macros to produce OS.h include instead of stdcpp.h. * ace/Svc_Conf_l.cpp: Updated after code was regenerated using the new sed changes in the Makefiles. Currently there are two inclusions of OS.h in this file and an extra stdlib.h. Maybe someone more experienced in sed can take these out by updating the Makefile. * ace/IOStream_T.h (stdcpp.h): Removed inclusion of stdcpp.h. It is redundant because IOStream.h includes it. * ace/streams.h: New file. This files tries to reduce the differences between the old and new stream libraries for the user. This is done by automatically selecting the correct includes depending on the ACE_HAS_STANDARD_CPP_LIBRARY variable. This file also helps out by making commonly used classes (e.g., ios, ostream, iostream, cin, cout, etc) available in the global name space when used with the Standard C++ Library. Use this file where you would usually include or . * ace/iosfwd.h: New file. This files deals with forward declaration for the stream classes. Remember that since the new Standard C++ Library uses templates for the implementation of the streams, simple forward declaration will not work. Classes forward declared by this class include: ios streambuf istream ostream iostream filebuf ifstream ofstream fstream Use this file where you would usually forward declare the classes listed above. * ace/stdcpp.h: Removed this file from the repository. This file was trying to do too much. All the inclusion of the C Library headers were unnecessary. This is because the new C++ standard preserves the old C library include files. The functions from those files will still be in the global namescape. The new header files (e.g., cstdio), provides the same prototypes as the old files (e.g., stdio.h), except that all prototypes are in the std namespace. Since we want the old behavior and global prototypes (for backward compatibility), inclusion of the new header files was incorrect. stdcpp.h was included by OS.h. This caused almost all files to force the inclusion of the stream header files. This was changed so that OS.h only includes the ace/iosfwd.h file. This means that if your code was using stream classes and you were depending on OS.h to provide you the stream header files, you will have to change your code to either include iostream.h or iostream, or more portably ace/streams.h. * ace/OS.h: Removed stdcpp.h. Moved the standard C library includes from stdcpp.h to OS.h. Also added ace/iosfwd.h to give forward declaration for the stream classes. * ACE: Added explicit inclusion of ace/streams.h to the following files: ace/IOStream.cpp ace/Log_Record.cpp ace/OS.cpp ace/SString.cpp ace/Log_Msg.cpp tests/test_config.h examples/Log_Msg/test_log_msg.cpp examples/Reactor/Misc/test_time_value.cpp examples/Threads/task_three.cpp netsvcs/lib/Logging_Strategy.cpp examples/Logger/Acceptor-server/server_loggerd.cpp examples/ASX/UPIPE_Event_Server/event_server.cpp examples/Reactor/Ntalker/ntalker.cpp examples/Shared_Malloc/test_persistence.cpp examples/System_V_IPC/SV_Message_Queues/MQ_Server.cpp examples/System_V_IPC/SV_Message_Queues/MQ_Client.cpp examples/System_V_IPC/SV_Message_Queues/TMQ_Server.cpp examples/System_V_IPC/SV_Message_Queues/TMQ_Client.cpp * Updated makefile dependencies throughout ACE to reflect the removal of stdcpp.h and the addition of streams.h. * examples/Threads/barrier2.cpp: Removed inclusion of stdcpp.h. * ace/IOStream_T.cpp: Reorganized include files so that inclusion of config.h is not necessary. * ace/IOStream.cpp: Changed inclusion of config.h to OS.h. * ace: Removed config.h from the following files. It was redundant. Timer_Hash.cpp Timer_Heap.cpp Timer_List.cpp Timer_Queue.cpp Timer_Wheel.cpp * ace: Added code to protect against multiple inclusions of config.h. Following files were effected: Trace.cpp Log_Msg.cpp * ace/config-win32-common.h: Removed redundant definitions of ACE_HAS_TYPENAME_KEYWORD and ACE_HAS_SIG_ATOMIC_T. Thanks to Matthias Kerkhoff for pointing this out. Wed Dec 3 21:37:47 1997 Douglas C. Schmidt * Added the new ACE-inheritance.ps and pdf files, which show the class structure of ACE. Thanks to John Lindal for generating this. * ace/Service_Config: Removed the static logger_key_ member and replaced it with a (defaulted) parameter to open(). This is more flexible. Thanks to Steve Coy for the suggestion. * ace/Service_Config.h: Addressed all the "@@" questions. * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp (main): Fixed a subtle bug in the "quit" logic. Thanks to Michael Hoffman for reporting this. * netsvcs/lib/Server_Logging_Handler_T.cpp (handle_logging_record), netsvcs/lib/Client_Logging_Handler.cpp (send): Changed the code so that we now always send ACE_UINT32 bytes worth of data for the length field. This ensures we're portable across platforms. Thanks to Steven Coy for noticing this. Wed Dec 03 18:02:09 1997 * performance-tests/Synch-Benchmarks/Benchmark.cpp: Added template instantiations for Atomic_Op. Wed Dec 3 10:29:58 1997 Carlos O'Ryan * ace/ACE.cpp: Use ACE_UINT32 to compute the 32-bit CRC, on Alphas (and probably other 64 bit machines) u_long seems to be longer than that. Wed Dec 03 07:39:15 1997 Steve Huston * include/makeinclude/platform_hpux.GNU: * include/makeinclude/platform_hpux_gcc.GNU: Moved some compile options from the DCFLAGS to the CCFLAGS to compile correctly with or without debugging. Wed Dec 03 06:26:14 1997 David L. Levine * ace/Future.cpp, tests/{Future_Test,Reactors_Test,Reader_Writer_Test.cpp, examples/Threads/manual_event.cpp: moved ACE_Atomic_Op instantiation from ace/Future.cpp to where it is used. * ace/OS.cpp (inet_aton): return 0 if addr argument is 0. Thanks to Wei for reporting this. * ace/config-linux.common.h: set an ACE_DEFAULT_BASE_ADDR, on Alpha for now. This might be necessary on Intel as well. * ace/OS.{h,i}, config-osf1-4.0.h: fixed use of ::sigwait with DIGITAL_UNIX's cxx 6.0, which now uses ACE_HAS_ONEARG_SIGWAIT. Also, added an ACE_DEFAULT_BASE_ADDR to the config file. * tests/{Priority_Reactor_Test,Reactor_Performance_Test}.cpp: instantiate ACE_Map_*, for use by ACE_Connector, with ACE_HANDLE instead of int. That's the way it's declared in ace/Connector.h. Wed Dec 03 00:17:50 1997 * tests/test_config.h: Removed code for ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION, as this option is no longer necessary. * ace/stdcpp.h: Removed code for ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION, as this option is no longer necessary. * ace/config-vxworks5.x-g++.h: Removed ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. This flag is no longer required. * ace/IOStream_T.cpp: Removed ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION from #if defined. * ACE: Removed the explicit iostream.h inclusion from these: examples/ASX/UPIPE_Event_Server/event_server.cpp examples/Log_Msg/test_log_msg.cpp examples/Logger/Acceptor-server/server_loggerd.cpp examples/Reactor/Misc/test_time_value.cpp examples/Shared_Malloc/test_persistence.cpp examples/Threads/task_three.cpp netsvcs/lib/Logging_Strategy.cpp * ace/IOStream.h: Darrell missed removing this explicit iostream.h inclusion. * ace/Future.cpp: Removed template instantiation of Atomic_Op since Atomic_Op is not used by Future. Fri Dec 02 11:46:17 1997 * ace/Proactor.cpp (ACE_Proactor): Reenabled Proactor's thread manager to wait on its Timer_Handler thread. * ace/Thread_Manager.cpp (close_singleton): Removed Win32 specific codes. This is no longer necessary with above changes. (wait): Close down thread handles when removing detached threads. Avoid performing wait when the program is shutting down. (remove_thr_all): Extracted out this protected member function. (close): Changed to use the new remove_thr_all function. * ace/Proactor.cpp (handle_events): Changed the magic number 258 to WAIT_TIMEOUT. Thanks to Mark Rabotnikov for pointing this out. Tue Dec 02 14:13:15 1997 Steve Huston * include/makeinclude/platform_hpux_aCC.GNU: Moved some compile options from the DCFLAGS to the CCFLAGS to compile correctly with or without debugging. Thanks to Istvan Buki for reporting the problem. Tue Dec 02 06:16:39 1997 David L. Levine * ace/Object_Manager.cpp (~ACE_Object_Manager_Destroyer): don't delete the ACE_Object_Manager if not destroyed by the main thread. That can cause problems, at least on WIN32. And it should only happen under exceptional conditions, at least on WIN32. Thanks to Ari Erev and John Neystadt for suggesting this. * ace/IOStream.cpp (underflow,overflow): moved get_mode_ and put_mode_ accesses so that it now works on KAI C++. Thanks to Ben Eng for the patch. * ace/config-linux-kcc.h: commented out ACE_TEMPLATES_REQUIRE_SOURCE. Thanks to Ben Eng for this update. * ace/Profile_Timer.cpp (elapsed_time): changed ACE_ONE_SECOND_IN_USECS to ACE_ONE_SECOND_IN_NSECS. Thanks to Wei for noticing this. * ace/OS.cpp (inet_aton): removed CHORUS specialization. Thanks to Wei for reporting this. * include/makeinclude/platform_chorus.GNU: added CHORUS = 1, for use by individual Makefiles. * examples/Shared_Malloc/test_persistence.cpp: removed ACE_Malloc instantiation because it's in ace/System_Time.cpp. * ace/config-lynxos.h: removed ACE_HAS_UALARM, because LynxOS apparently doesn't. * include/makeinclude/platform_lynxos.GNU: added -Winline and removed -fno-strict-prototypes. * tests/Message_Queue_Test.cpp (main): increased queue size from default of 16Kb to 32Kb, so that it runs on machines with 8Kb pagesizes. And, added a check to see if the queue is full before enqueuing. * ace/OS.i, config-osf1-4.0.h: DECXX 6009006 has SIGWAIT. * ACE-INSTALL.html: updated DEC_UNIX test status. Message_Queue_Test and all of the Mutex_Tests now pass. Conn_Test no longer does. Tue Dec 02 00:18:04 1997 * ace/Memory_Pool.cpp (handle_signal): If guess_on_fault_ is true, then we cannot call remap(0). This will always put the address out of range. Therefore, we will shoot in the dark (user has instructed us to do so as guess_on_fault_ is true) and try to remap the file. If the user does not want this behavior, the guess_on_fault_ flag should be turned off. Thanks to Jon Prettyman for pointing this out. Mon Dec 01 16:13:06 1997 * ace/config-win32-common.h: Added back ACE_LACKS_ACE_IOSTREAM to the config file. The test is not compiling. * tests/run_tests.bat: Look for "Win32 structured exception" in the log files. Mon Dec 1 14:01:02 1997 Darrell Brunsch * ace/Log_Msg.cpp, ace/Log_Msg.h, ace/Log_Record.cpp, ace/Log_Record.h ace/OS.h, ace/stdcpp.h, tests/test_config.h: Changed use of ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION in stdcpp.h to include iostream when the above is #defined. Made changes to other files to accommodate this change. Mon Dec 01 12:15:00 1997 * ace/config-win32-common.h (ACE_LACKS_ACE_IOSTREAM): James CE Johnson claims that ACE_LACKS_ACE_IOSTREAM is no longer not necessary when using the ACE_HAS_STANDARD_CPP_LIBRARY. * ace/OS.h: Changed the definition of ACE_UNIMPLEMENTED_FUNC so that it just evaporates on platform that have ACE_REQUIRES_FUNC_DEFINITIONS defined. ACE_UNIMPLEMENTED_FUNC is only required for template classes and not for a normal class. When the template is explicitly instantiated, it causes some compilers to look for the definition of all the declared methods. On platforms that have this behavior, we have decided to take out the declaration of this function. This is necessary since an empty definition of {} usually does not work with some constructors. And by providing a explicit definition of this function, will cause all platforms to suffer. Therefore, platforms with ACE_REQUIRES_FUNC_DEFINITIONS defined must be specially careful when using this. Mon Dec 01 07:56:02 1997 David L. Levine * include/makeinclude/platform_sunos5_sunc++.GNU: added -xildoff to LDFLAGS, to avoid occasional problems with the incremental linker. Thanks to Hans Rohnert for this suggestion. * include/makeinclude/platform_vxworks5.x_g++.GNU, etc/ace_ld, bin/ace_ld, ACE-INSTALL.html: moved ace_ld from etc/ to bin/. * Makefile: added etc/ to CLONE and RELEASE_FILES. * include/makeinclude/platform_lynxos.GNU: added -Wall to CFLAGS. * ace/ACE.cpp (set_handle_limit): only call setrlimit if RLIMIT_NOFILE is #defined. * ace/OS.h: removed ACE_HAS_STDARG_THR_DEST dependence for ACE_THR_DEST definition. * ace/OS.cpp (thr_keycreate): with ACE_HAS_DCETHREADS only, cast dest argument to ::pthread_keycreate if ACE_HAS_STDARG_THR_DEST. * ace/OS.i (get{host,proto,serv}by{addr,name}_r): with ACE_HAS_NONCONST_GETBY only, added some ACE_UNUSED_ARGS. * examples/Shared_Malloc/Malloc.cpp: removed ACE_Guard instantiation because it's in ace/Synch.cpp. * ace/config-lynxos.h: added ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS. Without it, the Thread_Manager went recursively ballistic. * performance-tests/Misc/preempt.cpp (main): fixed printout if ACE_OS::sched_params () call failed. Sun Nov 30 22:44:50 1997 Douglas C. Schmidt * ACE version 4.4.1, released Sun Nov 30 22:44:50 1997. Sun Nov 30 20:32:50 1997 David L. Levine * include/makeinclude/platform_osf1_3.2.GNU: removed -ptr option from CCFLAGS, so the default template repository will be used. Thanks to Dani Flexer for reporting this. * ace/Svc_Conf_l.cpp,Makefile: 1) #include ace/stdcpp.h instead of stdio.h so that anything that needs to be #included with/before stdio.h can be. 2) Changed ECHO to ACE_SVC_CONF_ECHO to avoid compiler warning if ECHO was #defined to be a constant. * ace/Makefile: set ACELIB to null so that it can be used to build shared libs, including libACE.$(SOEXT). * include/makeinclude/platform_osf1_4.0.GNU: added $(ACELIB) to SOFLAGS to avoid shared lib build warnings about undefined ACE symbols. * ace/Thread_Manager.h: declare ACE_THR_MEMBER_FUNC outside of ACE_Thread_Manager class with __GNUG__ instead of with VXWORKS || IRIX5. The problem is with older versions of g++, not with the OS. Sun Nov 30 14:13:09 1997 Douglas C. Schmidt * netsvcs/servers/README: Clarified a bit more about how to configure the client and server logging processes. Thanks to Neil Cohen for motivating this. Sun Nov 30 17:36:35 1997 Sergio Flores * ace/Synch.cpp (ACE_File_Lock): Fixed order of parameters in the call to this->open() and too many arguments in call to ACE_File_Lock::open(). Sun Nov 30 16:31:41 1997 Carlos O'Ryan * ace/Synch.h: * ace/Synch.cpp: ACE_File_Lock should create the file if it does not exist, to do so the constructor takes the parameter to ACE_OS::open() and defaults to O_CREAT|O_RDWR. Sat Nov 29 21:31:07 1997 Nanbor Wang * ace/Proactor.cpp (~ACE_Proactor_Timer_Handler): Removed explicit call to thr_mgr_.close(). (ACE_Proactor): Be sure to ask Thread_Manager not to wait for the timer_handler_ thread. * ace/Thread_Manager.cpp (close_singleton): Only reset exit_on_wait status if we are responsible for deleting the global thread manager. Sat Nov 29 15:15:04 1997 Carlos O'Ryan * ace/IPC_SAP.cpp: Removed warning for functions not returning a value on SGI, it seems that the flow changed and the last return was reached sometimes, hence the ACE_NOTREACHED macro is no longer needed. Sat Nov 29 13:12:47 1997 Douglas C. Schmidt * ace/Synch: Conditionally inlined all the ACE_Process_Mutex wrapper calls and moved them into the Synch.i file. I'm not sure why there weren't here before. * ace/Synch: Reimplemented ACE_RW_Process_Mutex to use ACE_File_Lock, which provides the proper readers/writer semantics that had been lacking in the previous implementation. Fri Nov 28 04:25:23 1997 Nanbor Wang * ace: Removed redundant trailing commas from ACE_UNIMPLEMENTED_FUNC. * ace/Thread_Manager.{h,i,cpp}: Delete declaration of remove_thr_self. It is no longer in use. (wait_on_exit): Added this function to let users specify whether they want their Thread_Manager wait for spawned threads on exit or not. (wait): On Win32, handles should be closed if we decide to let the thread go wild. (remove_thr): Added another parameter to control whether remove_thr should close the handle or not. It is only used on Win32. (close): Removed the parameter for it has been incoporated as a member. (close_singleton): Reset on Win32. We'll never need to wait for unfinished threads on NT. (ACE_Thread_Manager): Added initialization of member . It is default to 1 (wait on exit.) * ace/Containers.h: Corrected erroneous comments. Wed Nov 26 10:33:22 1997 * ace/Log_Msg (msg): Changed the parameters from char * to const char *. * ace: Added unimplemented copy constructors and assignment operators to the following classes: ACE_Map_Manager ACE_Message_Block ACE_Data_Block ACE_Log_Msg ACE_Message_Queue ACE_Task ACE_Task_Base Added ACE_UNIMPLEMENTED_FUNC macros to these classes: ACE_Mem_Map ACE_Priority_Reactor ACE_Select_Reactor ACE_WFMO_Reactor ACE_XtReactor ACE_Reactor ACE_Read_Buffer ACE_CORBA_Handler ACE_TSS_TPQ_Entry ACE_Object_Manager ACE_File_Lock ACE_Semaphore ACE_RW_Mutex ACE_Mutex ACE_Null_Barrier ACE_Null_Condition ACE_Null_Mutex_Guard ACE_Event ACE_Thread_Mutex ACE_Thread_Mutex_Guard ACE_Condition_Thread_Mutex ACE_Recursive_Thread_Mutex ACE_Barrier ACE_Condition Thanks to Stanley D Leeson for these suggestions. Sat Dec 20 14:57:30 1997 * All MSVC 5.0 project files: Removed unnecessary library inclusions. Most of them are not necessary. Thanks to Patrick J. McNerthney for suggesting this. Wed Nov 26 15:49:14 1997 David L. Levine * ace/IOStream_T.i (recv) affects WIN32 only: fixed typo, ACE_BIT_ENABLED instead of ACE_BIT_ENTABLED IOStream_T.i. Thanks to James CE Johnson for reporting this. * include/makeinclude/platform_lynxos.GNU: added information on necessary OS patches. Wed Nov 26 09:45:43 1997 Chris Cleeland * ace/OS.h (ACE_PROPER_SINGLETON_INSTANTIATION): Corrected misspelling in the "! defined (MSC_VER)" branch. I just happened to notice this, so I don't know if anybody ever tried it and it failed. Tue Nov 25 12:07:07 1997 David L. Levine * include/makeinclude/platform_osf1_3.2.GNU: updated for OSF/1 3.2g/CXX 5.7. Thanks to Dani Flexer for the updates. Tue Nov 25 01:07:39 1997 * examples/Reactor/Proactor/test_multiple_loops.cpp (main): Made sure that the Proactor was removed from reactor. * ace/WFMO_Reactor.cpp (remove_handler_i, remove_suspended_handler_i): Make sure to preserve DONT_CALL with normal event entries. * ace/Proactor.cpp: - A flag used to indicate when we are shutting down. - Made sure to signal the timer event when we are closing down. - Thread Manager: don't bother to wait (since the thread may have already gone). But make sure to close up the descriptor. This may not be necessary in the future when THR_DETACHED is correctly implemented. * ace/Asynch_IO.h: Changed some code from protected to public. Even though these functions are really protected, sometimes it simplifies user code to be able to "fake" a result. Users should use these with care. * examples/Reactor/Proactor/test_proactor.cpp (handle_write_stream): Added code for partial write to socket. However it ever seems to do a short write ;-). Also made sure that the initial data coming from the AcceptEx call is also dumped to the file. Thanks to Mark Rabotnikov (mark@netmanage.co.il) for pointing this out.