summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Mon Aug 24 02:27:36 UTC 2009 Carlos O'Ryan <coryan@glamdring>bug-3707coryan2009-08-242-32/+43
| | | | | | | | * ace/Timer_Queue_T.cpp: Need to release the internal timer queue lock before dispatching calls in expire_single(), otherwise we get nasty deadlocks in the TP_Reactor implementation.
* Thu Jul 2 02:55:09 UTC 2009 Carlos O'Ryan <coryan@glamdring>coryan2009-07-0216-50/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ace/Abstract_Timer_Queue.h: * ace/Timer_Queue_T.h: * ace/Timer_Queue_T.inl: * ace/Timer_Queue_T.cpp: I wanted to use gettimeofday() for the pure virtual function and some other name for the inline function used in the timer queue internals. This is the second and final pass to get that change in. This time, I renamed the internal function to gettimeofday_static(), used the compiler (and grep) to find all uses. Once that compiled I renamed the virtual function from gettimeofday_abstract() to the gettimeofday() function. I know it is convoluted, but it gets the job done without me having to think too much. * ace/Timer_Hash_T.h: * ace/Timer_Hash_T.cpp: * ace/Select_Reactor_T.cpp: * ace/Dev_Poll_Reactor.cpp: * ace/Proactor.cpp: * ace/Timer_Queue_Adapters.cpp: * tests/Timer_Queue_Reference_Counting_Test.cpp: * tests/Timer_Queue_Test.cpp: * examples/APG/Timers/Timers.cpp: * examples/APG/Timers/TimerDispatcher.cpp: * examples/C++NPv2/Logging_Event_Handler_Ex.cpp: Fixed users and tests to use the real name for gettimeofday() in ACE_Abstract_Timer_Queue<>
* Wed Jul 1 02:09:44 UTC 2009 Carlos O'Ryan <coryan@glamdring>coryan2009-07-0149-977/+1534
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ace/ace.mpc: * ace/Makefile.am: * ace/Event_Handler_Handle_Timeout_Upcall.h: * ace/Event_Handler_Handle_Timeout_Upcall.inl: * ace/Event_Handler_Handle_Timeout_Upcall.cpp: First I noticed that this class did not depend on the lock type at all, this was fortunate because I wanted to use it in a generic way. So, change the class from a template class to a regular class. That required moving the class to its own file too. * ace/Timer_List_T.h: * ace/Timer_List_T.cpp: * ace/Timer_Wheel_T.h: * ace/Timer_Wheel_T.cpp: * ace/Timer_Hash_T.h: * ace/Timer_Hash_T.cpp: * ace/Timer_Heap_T.h: * ace/Timer_Heap_T.cpp: Fixed several inconsistencies across these classes, for example, most of them had typedef as a shorthand for the base class, but the name of this typedef was not consistent. Likewise, not all of the classes made the TIME_POLICY parameter a default template parameter. * ace/Timer_Queue_T.h: * ace/Timer_Queue_T.inl: * ace/Timer_Queue_T.cpp: Introduced an intermediate class between Abstract_Timer_Queue<> and Timer_Queue_T<>. This is ugly, but the Proactor "needs" to set a back-pointer from the FUNCTOR to the Proacter instance whenever a timer queue is assigned to the Proactor. This code smells funny. Either the API is wrong (the Proactor should always create the functor with the backpointer,) or the need for the back pointer is suspicious (I think there is a thread in the Proactor that signals timers, but maybe it should be contained in the Upcall object itself?) The more I look here, the uglier the smell. * ace/Select_Reactor_T.cpp: * ace/Timer_Queue_Adapters.cpp: * tests/Timer_Queue_Reference_Counting_Test.cpp: * tests/Timer_Queue_Test.cpp: As a temporary measure, I appended "_abstract" to the gettimeofday() function name in Abstract_Timer_Queue<>. Shortly, I will change the Timer_Queue_T<> class to use gettimeofday_non_virtual() or _static() or something similar. Had to make the change in two steps to find all the uses of the original function. There was probably an easier/cleaner way to do this. * tests/Timer_Queue_Test.cpp: Take advantage of the new ACE_Abstract_Timer_Queue<> to make the different types of queues more compatible in ths test, including queues with different time source policies. * ace/Proactor.h: As with the Reactive version, I noticed that ACE_Proactor_Handle_Timeout_Upcall did not depend on its template parameter, so I changed the class to a non-template version. * ace/Proactor.cpp: Instead of making the Proactor a friend of the Timer_Handler task, expose a safe interface to do what the proactor wants to do. The proactor needed access to timer queue internal details to implement schedule(), but the reactor did not... hmmm... well, turns out the Reactor had nicely refactor that work to the upcall functor. So I did the same in the Proactor case. * ace/Timer_List.h: * ace/Timer_Wheel.h: * ace/Timer_Hash.h: * ace/Timer_Heap.h: Use Event_Handler_Handle_Timeout_Upcall without the template parameter. * ace/Abstract_Timer_Queue.h: Remove the setter for getimeofday(), this is implemented by the TIME_POLICY template parameter in Timer_Queue_T<> * tests/Reactor_Timer_Test.cpp: * tests/Network_Adapters_Test.cpp: * tests/Proactor_Timer_Test.cpp: Use a different idiom to set the time policy for this test. * examples/Timer_Queue/Thread_Timer_Queue_Test.h: * examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.h: * examples/APG/Timers/Timers.cpp: * examples/APG/Timers/TimerDispatcher.cpp: * examples/Reactor/Misc/test_timer_queue.cpp: * examples/C++NPv2/Logging_Event_Handler_Ex.cpp: Need an additional #include for ACE_Event_Handler_Handle_Timeout Said class class is no longer a template class, so use it correctly. Changed name of gettimeofday() in timer queue to gettimeofday_abstract() This is a temporary change to find all the uses, will revert again soon. * Merged in changes from bug-3607 branch. * ace/ace.mpc: * ace/Abstract_Timer_Queue.h: * ace/Abstract_Timer_Queue.cpp: * ace/Timer_Queue_Iterator.h: * ace/Timer_Queue_Iterator.inl: * ace/Timer_Queue_Iterator.cpp: * ace/Timer_Queuefwd.h: * ace/Timer_Queue.h: * ace/Timer_Queue_T.h: * ace/Timer_Queue_T.inl: * ace/Timer_Queue_T.cpp: * ace/Timer_List_T.h: * ace/Timer_List_T.cpp: * ace/Timer_Wheel_T.h: * ace/Timer_Wheel_T.cpp: * ace/Timer_Hash_T.h: * ace/Timer_Hash_T.cpp: * ace/Timer_Heap_T.h: * ace/Timer_Heap_T.cpp: Heavy refactoring in ACE_Timer_Queue_T class and friends. First, created a template base class (ACE_Abstract_Timer_Queue) that: 1) Only depends on the type held by the timer queue, not to lock or upcall strategy. 2) It is a pure abstract class, i.e., none of its member functions have any implementation. 3) Provides new pure virtual functions to encapsulates some logic that was spread between tests, TP_Reactor and Dev_Poll_Reactor. Then I re-wrote all the standard timer queue objects in terms of this class. In particular, the reactors use only the abstract interface. I also re-factored the Timer_Queue_Iterator to only depend on the type of objects held by the timer queue. The rest of the parameters where not used either. Implement functionality that was spread in Dev_Poll_Reactor, TP_Reactor and a test into expire_single. * ace/Proactor.h: * ace/TP_Reactor.cpp: * ace/Dev_Poll_Reactor.cpp: Both classes implemented the logic to dispatch a single timer but release a mutex before the upcall. This was confusing as well as required exposing too much detail about the Timer_Queue classes. The new mechanism is a single function in (expire_single) ACE_Abstract_Timer_Queue<> (implemented in ACE_Timer_Queue_T<>) which receives a command object to encapsulate the mutex release. * ace/Functor.h: * ace/Functor.cpp: * ace/Functor_T.h: * ace/Functor_T.inl: Add helper ACE_Command_* objects. One is a no-op, for the test below. The other is a callback that ignores the silly void* argument in the ACE_Command_Base::execute() member function. * tests/Timer_Queue_Reference_Counting_Test.cpp: Re-factored test in terms of expire_single()
* Tue Jun 30 01:10:04 UTC 2009 Carlos O'Ryan <coryan@glamdring>coryan2009-06-3022-363/+550
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * This is a temporary commit into the 3707 branch. I realized too late that the changes from 3706 will be needed to make this work. * ace/ace.mpc: * ace/Time_Policy.h: * ace/Time_Policy.inl: * ace/Time_Policy.cpp: New classes to encapsulate how "now" is computed in the Timer Queues. This will be an additional template parameter, so the default configuration has zero overhead. * ace/Timer_Queuefwd.h: * ace/Timer_List.h: * ace/Timer_List_T.h: * ace/Timer_List_T.cpp: * ace/Timer_Queue_T.h: * ace/Timer_Queue_T.inl: * ace/Timer_Queue_T.cpp: * ace/Timer_Wheel.h: * ace/Timer_Wheel_T.h: * ace/Timer_Wheel_T.cpp: * ace/Timer_Hash.h: * ace/Timer_Hash_T.h: * ace/Timer_Hash_T.cpp: * ace/Timer_Heap.h: * ace/Timer_Heap_T.h: * ace/Timer_Heap_T.cpp: Re-factor timer queue classes to use new TIMER_POLICY parameter. * tests/Timer_Queue_Test.cpp: Modify test to use TIMER_POLICY. But here is the rub, the test does not compile because all timer queue types are "different" to each other. I need to introduce the base class from the bug-3706 branch to make things work.
* Create branch for bug 3707 fixescoryan2009-06-270-0/+0
|
* Sat Jun 27 00:55:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>Johnny Willemsen2009-06-278-1/+9
| | | | | | | | * rpmbuild/ace-tao-ciao.spec: Updated suse * rpmbuild/ace-tao-init-suse/fillup-templates/*: Moved to tao
* Sat Jun 27 00:44:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>Johnny Willemsen2009-06-2720-52/+63
| | | | | | | | | * rpmbuild/tao: * rpmbuild/logrotate.d: Moved to the new etc directory * rpmbuild/ace-tao-ciao.spec: Updated for move above
* Fri Jun 26 22:55:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>Johnny Willemsen2009-06-263-1/+10
| | | | | | | | | * tests/non_mpc_makefile/run_test.pl: * tests/non_mpc_makefile/Bug_3708_Regression.pl: renamed to get better test stats * bin/ace_tests.lst: Updated for rename above
* ChangeLogTag: Fri Jun 26 20:41:53 UTC 2009 Adam Mitz <mitza@ociweb.com>Adam Mitz2009-06-2626-44/+222
|
* Fri Jun 26 16:19:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>Johnny Willemsen2009-06-262-0/+6
| | | | | * rpmbuild/ace-tao-ciao.spec: Added missing DANCE_ROOT
* Fri Jun 26 16:10:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>Johnny Willemsen2009-06-268-4/+23
| | | | | | | | | | | | | * rpmbuild/ace-tao-init-suse/fillup-templates/*: Missing files for x.7.0 * rpmbuild/ace-tao-init-suse/tao: Removed, this are Fedora files * rpmbuild/ace-tao-ciao.spec: Copy the correct files for SuSE and print the g++ version in the build log which makes it easier to see which g++ version is used
* Fri Jun 26 02:16:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>Johnny Willemsen2009-06-262-0/+9
| | | | | * include/makeinclude/platform_linux.GNU: Mandriva 2007 fix
* Fri Jun 26 00:46:10 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>Johnny Willemsen2009-06-262-3/+8
| | | | | * docs/ACE-guidelines.html: Fixed typo
* Thu Jun 25 21:46:10 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>Phil Mesnier2009-06-252-0/+8
| | | | | * tests/non_mpc_makefile/foo.cpp: Fuzz fix.
* ChangeLogTag: Thu Jun 25 14:20:08 UTC 2009 Adam Mitz <mitza@ociweb.com>Adam Mitz2009-06-255-0/+46
|
* ChangeLogTag: Thu Jun 25 14:17:46 UTC 2009 Adam Mitz <mitza@ociweb.com>Adam Mitz2009-06-252-865/+871
|
* ChangeLogTag:Thu Jun 25 13:26:13 UTC 2009 Steve Huston <shuston@riverace.com>Steve Huston2009-06-252-0/+16
|
* Thu Jun 25 02:09:51 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>Johnny Willemsen2009-06-2514-1/+22
| | | | | | | | | | | | | | | | | | | * rpmbuild/ace-tao-ciao.spec: More fixes * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosconcurrency * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosevent * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosnaming * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-cosnotification * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-costrading * rpmbuild/ace-tao-init-fedora/rc.d/init.d/tao-rtevent * rpmbuild/ace-tao-init-suse/init.d/tao-cosconcurrency * rpmbuild/ace-tao-init-suse/init.d/tao-cosevent * rpmbuild/ace-tao-init-suse/init.d/tao-cosnaming * rpmbuild/ace-tao-init-suse/init.d/tao-cosnotification * rpmbuild/ace-tao-init-suse/init.d/tao-costrading * rpmbuild/ace-tao-init-suse/init.d/tao-rtevent Set svn:executable
* Wed Jun 24 19:33:51 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>Johnny Willemsen2009-06-242-2/+9
| | | | | * rpmbuild/ace-tao-ciao.spec: Some more fixes
* ChangeLogTag: Wed Jun 24 18:19:24 UTC 2009 Adam Mitz <mitza@ociweb.com>Adam Mitz2009-06-243-3/+13
|
* Wed Jun 24 08:51:51 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>Johnny Willemsen2009-06-242-15/+12
| | | | | * rpmbuild/ace-tao-ciao.spec: First set of fixed to get x.7.0 compiling on OpenSuSE Build
* ChangeLogTag:Sunschmidt2009-06-243-1/+10
|
* ChangeLogTag: Tue Jun 23 20:12:51 UTC 2009 Adam Mitz <mitza@ociweb.com>Adam Mitz2009-06-234-55/+24
|
* ChangeLogTag: Tue Jun 23 20:06:54 UTC 2009 Adam Mitz <mitza@ociweb.com>Adam Mitz2009-06-2323-2020/+2079
|
* Tue Jun 23 15:08:50 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>Phil Mesnier2009-06-232-2/+12
| | | | * NEWS: Added space for 0.7 -> 0.7.1 changes.
* Tue Jun 23 14:53:01 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>Phil Mesnier2009-06-232-1/+10
| | | | * NEWS: Added space for 1.7 -> 1.7.1 changes.
* Tue Jun 23 15:09:50 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>Phil Mesnier2009-06-235-106/+128
| | | | | | | | * NEWS: * bin/diff-builds-and-group-fixed-tests-only.sh: * docs/Download.html: * etc/index.html: Post release updates.
* ChangeLogTag:Mon Jun 22 09:33:40 CDT 2009 Phil Mesnier <mesnier_p@ociweb.com>Phil Mesnier2009-06-2212-18/+30
|
* Thu Jun 18 23:03:06 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>Phil Mesnier2009-06-183-3/+16
| | | | | | | | | | | * tools/Config_Handlers/IRDD_Handler.h: * tools/XML/XML_Schema_Resolver.cpp: There is a curious order-of-inclusion problem on macosx-leopoard builds whereby including a non-ACE header before something that includes ace/config.h causes a compiler error in OS_NS_stdlib.inl. It seems that on that platform, the signature of ::unsetenv() varies. I think this should be looked into in greater depth after releasing x.7.0.
* Thu Jun 18 22:47:05 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>Phil Mesnier2009-06-183-3/+14
| | | | | | | | | | | * utils/logWalker/Invocation.h: * orbsvcs/tests/Notify/Bug_3688b_Regression/TestListener.h: There is a curious order-of-inclusion problem on macosx-leopoard builds whereby including a non-ACE header before something that includes ace/config.h causes a compiler error in OS_NS_stdlib.inl. It seems that on that platform, the signature of ::unsetenv() varies. I think this should be looked into in greater depth after releasing x.7.0.
* ChangeLogTag: Thu Jun 18 15:44:35 UTC 2009 Adam Mitz <mitza@ociweb.com>Adam Mitz2009-06-186-30/+20
|
* ChangeLogTag: Tue Jun 16 20:23:44 UTC 2009 Adam Mitz <mitza@ociweb.com>Adam Mitz2009-06-162-3/+9
|
* Tue Jun 16 15:33:24 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>William R. Otte2009-06-163-1/+16
|
* ChangeLogTag: Tue Jun 16 15:14:52 UTC 2009 Adam Mitz <mitza@ociweb.com>Adam Mitz2009-06-162-3/+21
|
* ChangeLogTag: Tue Jun 16 07:19:07 UTC 2009 Olli Savia <ops@iki.fi>Olli Savia2009-06-162-1/+13
|
* ChangeLogTag: Tue Jun 16 07:06:14 UTC 2009 Vladimir Zykov <vz@prismtech.com>vzykov2009-06-1613-85/+76
|
* Tue Jun 16 00:55:21 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>William R. Otte2009-06-163-3/+17
|
* Mon Jun 15 19:45:30 UTC 2009 Phil Mesnier <mesnier_p@ociweb.com>Phil Mesnier2009-06-153-3/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | * tao/IIOP_Connection_Handler.cpp: Change the initialization of the bidir listen point received in the context. This will silence an error that is reported by the ACE_INET_Addr ctor regardless of the debug output level. * tests/BiDirectional/run_test3557.pl: Change the number of iterations sent by the server to the callback. This is necessary to avoid a problem on windows in which the TAO_IIOP_Endpoint::hash() method first calls its object_addr_i() to initialize the object address. This then calls ACE_INET_Addr::set() which ultimately calls gethostbyname(). When the supplied endpoint is unreachable, as is the point of this test, windows apparently takes a while to time out before actually completing invocation and passing the test. This actually points out a potentential failure in the transport cache in that recached bidir transports may end up using a hash key value of 0. This is not in itself a failure, but more than one such entry will cause that 0'th bucket to become disproportionally large.
* Mon Jun 15 18:41:04 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>Johnny Willemsen2009-06-152-12/+17
| | | | | * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp: Unicode fixes
* ChangeLogTag: Mon Jun 15 13:54:01 UTC 2009 Vladimir Zykov <vz@prismtech.com>vzykov2009-06-152-2/+8
|
* ChangeLogTag: Mon Jun 15 12:45:55 UTC 2009 Vladimir Zykov <vz@prismtech.com>vzykov2009-06-152-6/+16
|
* ChangeLogTag: Mon Jun 15 10:19:16 UTC 2009 Vladimir Zykov <vz@prismtech.com>vzykov2009-06-1513-54/+122
|
* Mon Jun 15 07:45:04 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>Johnny Willemsen2009-06-154-0/+115
| | | | | | | | | | * tests/Bug_3673_Regression_Test.cpp: * tests/run_test.lst: * tests/tests.mpc: Added a new test for bugzilla 3673, this test whether exception handling works correctly. This doesn't work with CB2007 which is really a compiler bug. This test makes it easier to see if other compilers have the same bug
* ChangeLogTag: Mon Jun 15 07:42:47 UTC 2009 Olli Savia <ops@iki.fi>Olli Savia2009-06-152-1/+6
|
* Mon Jun 15 02:22:01 UTC 2009 William R. Otte ↵William R. Otte2009-06-153-22/+24
| | | | <wotte@william-r-ottes-macbook-pro-2.local>
* Sun Jun 14 06:58:05 2009 Johnny Willemsen <jwillemsen@remedy.nl>Johnny Willemsen2009-06-142-2/+7
| | | | | * tools/Config_Handlers/XSCRT/Elements.hpp: Updated for CB2009 Update 3
* ChangeLogTag: Fri Jun 12 19:05:43 UTC 2009 Adam Mitz <mitza@ociweb.com>Adam Mitz2009-06-122-3/+10
|
* Fri Jun 12 19:16:04 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>Johnny Willemsen2009-06-122-1/+6
| | | | | | Rever the change below, Adam has a better fix * ace/config-WinCE.h Set ACE_LACKS_SO_RCVBUF for WinCE 5, it is not supported
* Fri Jun 12 18:44:04 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>Johnny Willemsen2009-06-124-12/+22
| | | | | | | | | | | * tao/IIOP_Acceptor.cpp: Improved logging layout * tao/Invocation_Adapter.cpp: Use ACE_TEXT * tao/DynamicInterface/AMH_DSI_Response_Handler.cpp: Layout changes
* Fri Jun 12 18:37:04 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>Johnny Willemsen2009-06-122-0/+6
| | | | | * ace/config-WinCE.h Set ACE_LACKS_SO_RCVBUF for WinCE 5, it is not supported