diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-03-23 03:38:42 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-03-23 03:38:42 +0000 |
commit | b787e7a5df2a9ff183b3b5e76da0b7384977c2e5 (patch) | |
tree | 50dc1b1b52f88ffc9a23b7dd5fcf73c889301373 | |
parent | b75a57fdee7b2ccb5ca455f3394434b63811f521 (diff) | |
download | ATCD-b787e7a5df2a9ff183b3b5e76da0b7384977c2e5.tar.gz |
ChangeLogTag: Thu Mar 22 19:29:09 2001 Irfan Pyarali <irfan@cs.wustl.edu>
30 files changed, 1358 insertions, 78 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a index 6089988aee1..8dce6ac702d 100644 --- a/TAO/ChangeLogs/ChangeLog-02a +++ b/TAO/ChangeLogs/ChangeLog-02a @@ -1,3 +1,43 @@ +Thu Mar 22 19:29:09 2001 Irfan Pyarali <irfan@cs.wustl.edu> + + * tao/PortableServer/Active_Object_Map.i + (find_servant_and_system_id_using_user_id): One version of this + function was broken because it did not check the <deactivated_> + and the <servant_> fields. Thanks to Jody Hagins + <jody@atdesk.com> for pointing this out. This fixes + [BUGID:834]. + + * tests/POA/Excessive_Object_Deactivations: New test for + regression checking excessive object deactivations in the POA. + The test checks excessive deactivations in a POA with SYSTEM_ID + and other POA with USER_ID. The test also check for excessive + deactivations during upcalls. + + * tests/POA/Multiple_Deactivations: No longer needed with + tests/POA/Excessive_Object_Deactivations in place. + + * tao/PortableServer/POA.cpp (key_to_stub_i): + + (Re)fixed compilation problems under Minimum CORBA + configurations which got reverted when Bala backed out Carlos' + changes. + + * tao/ORB_Core.cpp (collocation_strategy): Small change for better + code readability. Thanks Ossama. + + * tests/POA/Destruction was renamed to tests/POA/POA_Destruction. + + * tests/POA/Deactivation was renamed to tests/POA/Object_Reactivation. + + * Following files were also updated to accomodate new and renamed + tests: + + - tests/TAO_Tests.dsw + - tests/POA/Makefile + - tests/POA/Makefile.bor + - tests/POA/README + - ACE_wrappers/bin/auto_run_tests.lst + Thu Mar 22 20:08:05 2001 Balachandran Natarajan <bala@cs.wustl.edu> * tao/PortableServer/POA.cpp: Backed out changes from "Thu Mar 22 diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp index 6b6ea167185..3462cad1fdf 100644 --- a/TAO/tao/ORB_Core.cpp +++ b/TAO/tao/ORB_Core.cpp @@ -2975,7 +2975,7 @@ TAO_ORB_Core::collocation_strategy (CORBA::Object_ptr object) { TAO_Stub *stub = object->_stubobj (); - if (stub->servant_orb_var ().in () != CORBA::ORB::_nil () && + if (!CORBA::is_nil (stub->servant_orb_var ().in ()) && stub->servant_orb_var ()->orb_core () != 0 && object->_servant () != 0) { diff --git a/TAO/tao/PortableServer/Active_Object_Map.i b/TAO/tao/PortableServer/Active_Object_Map.i index b0275d474ee..fab49985db8 100644 --- a/TAO/tao/PortableServer/Active_Object_Map.i +++ b/TAO/tao/PortableServer/Active_Object_Map.i @@ -142,11 +142,8 @@ TAO_Active_Object_Map::find_servant_using_system_id_and_user_id (const PortableS ACE_INLINE int TAO_Active_Object_Map::find_servant_and_system_id_using_user_id (const PortableServer::ObjectId &user_id, - PortableServer::Servant &servant, - PortableServer::ObjectId_out system_id, - CORBA::Short &priority) + TAO_Active_Object_Map::Map_Entry *&entry) { - Map_Entry *entry = 0; int result = this->user_id_map_->find (user_id, entry); @@ -156,16 +153,6 @@ TAO_Active_Object_Map::find_servant_and_system_id_using_user_id (const PortableS result = -1; else if (entry->servant_ == 0) result = -1; - else - { - result = this->id_hint_strategy_->system_id (system_id, - *entry); - if (result == 0) - { - servant = entry->servant_; - priority = entry->priority_; - } - } } return result; @@ -173,10 +160,26 @@ TAO_Active_Object_Map::find_servant_and_system_id_using_user_id (const PortableS ACE_INLINE int TAO_Active_Object_Map::find_servant_and_system_id_using_user_id (const PortableServer::ObjectId &user_id, - TAO_Active_Object_Map::Map_Entry *&entry) + PortableServer::Servant &servant, + PortableServer::ObjectId_out system_id, + CORBA::Short &priority) { - return this->user_id_map_->find (user_id, - entry); + Map_Entry *entry = 0; + int result = this->find_servant_and_system_id_using_user_id (user_id, + entry); + + if (result == 0) + { + result = this->id_hint_strategy_->system_id (system_id, + *entry); + if (result == 0) + { + servant = entry->servant_; + priority = entry->priority_; + } + } + + return result; } ACE_INLINE int diff --git a/TAO/tao/PortableServer/POA.cpp b/TAO/tao/PortableServer/POA.cpp index e0fa15357a5..6bc0d94628b 100644 --- a/TAO/tao/PortableServer/POA.cpp +++ b/TAO/tao/PortableServer/POA.cpp @@ -4194,7 +4194,7 @@ TAO_POA::key_to_stub_i (const TAO_ObjectKey &key, data = this->orb_core_.create_stub_object (key, type_id, client_exposed_policies._retn (), - this->accepor_filter_, + this->acceptor_filter_, ACE_TRY_ENV); ACE_CHECK_RETURN (0); diff --git a/TAO/tests/POA/Excessive_Object_Deactivations/Excessive_Object_Deactivations.cpp b/TAO/tests/POA/Excessive_Object_Deactivations/Excessive_Object_Deactivations.cpp new file mode 100644 index 00000000000..46900ef8e36 --- /dev/null +++ b/TAO/tests/POA/Excessive_Object_Deactivations/Excessive_Object_Deactivations.cpp @@ -0,0 +1,237 @@ +// $Id$ + +//======================================================================== +// +// = LIBRARY +// TAO/tests/POA/Excessive_Object_Deactivations +// +// = FILENAME +// Excessive_Object_Deactivations.cpp +// +// = DESCRIPTION +// This program tests for excessive deactivations of a servant. +// The test checks excessive deactivations in a POA with SYSTEM_ID +// and other POA with USER_ID. The test also check for excessive +// deactivations during upcalls. +// +// = AUTHOR +// Irfan Pyarali +// +//========================================================================= + +#include "testS.h" + +class test_i : public POA_test +{ +public: + void deactivate_self (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)); + + PortableServer::POA_ptr _default_POA (CORBA_Environment &ACE_TRY_ENV); + + PortableServer::POA_var poa_; + + PortableServer::ObjectId id_; +}; + +PortableServer::POA_ptr +test_i::_default_POA (CORBA_Environment &ACE_TRY_ENV) +{ + return PortableServer::POA::_duplicate (this->poa_.in ()); +} + +void +test_i::deactivate_self (CORBA::Environment &ACE_TRY_ENV) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + this->poa_->deactivate_object (this->id_, + ACE_TRY_ENV); + ACE_CHECK; + + // Exception flag + int expected_exception_raised = 0; + + ACE_TRY + { + this->poa_->deactivate_object (this->id_, + ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCH (PortableServer::POA::ObjectNotActive, ex) + { + // This is the correct exception! Ignore + expected_exception_raised = 1; + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught of incorrect type"); + ACE_ASSERT (0); + } + ACE_ENDTRY; + ACE_CHECK; + + // Make sure an exception was raised and it was of the correct type. + ACE_ASSERT (expected_exception_raised); +} + +void +test_object_deactivation (PortableServer::POA_ptr poa, + const PortableServer::ObjectId &id, + CORBA::Environment &ACE_TRY_ENV) +{ + test_i servant; + int expected_exception_raised = 0; + + PortableServer::ObjectId_var invalid_id = + PortableServer::string_to_ObjectId ("invalid id"); + + ACE_TRY_EX (invalid_id) + { + poa->deactivate_object (invalid_id.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK_EX (invalid_id); + } + ACE_CATCH (PortableServer::POA::ObjectNotActive, ex) + { + // This is the correct exception! Ignore + expected_exception_raised = 1; + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught of incorrect type"); + ACE_ASSERT (0); + } + ACE_ENDTRY; + ACE_CHECK; + + // Make sure an exception was raised and it was of the correct + // type. + ACE_ASSERT (expected_exception_raised); + + poa->activate_object_with_id (id, + &servant, + ACE_TRY_ENV); + ACE_CHECK; + + poa->deactivate_object (id, + ACE_TRY_ENV); + ACE_CHECK; + + // Reset flag + expected_exception_raised = 0; + + ACE_TRY_EX (double_deactivate) + { + poa->deactivate_object (id, + ACE_TRY_ENV); + ACE_TRY_CHECK_EX (double_deactivate); + } + ACE_CATCH (PortableServer::POA::ObjectNotActive, ex) + { + // This is the correct exception! Ignore + expected_exception_raised = 1; + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught of incorrect type"); + ACE_ASSERT (0); + } + ACE_ENDTRY; + ACE_CHECK; + + // Make sure an exception was raised and it was of the correct + // type. + ACE_ASSERT (expected_exception_raised); + + poa->activate_object_with_id (id, + &servant, + ACE_TRY_ENV); + ACE_CHECK; + + servant.poa_ = + PortableServer::POA::_duplicate (poa); + + servant.id_ = id; + + test_var test = + servant._this (ACE_TRY_ENV); + ACE_CHECK; + + test->deactivate_self (ACE_TRY_ENV); + ACE_CHECK; +} + +int +main (int argc, char **argv) +{ + ACE_DECLARE_NEW_CORBA_ENV; + + ACE_TRY + { + // Initialize the ORB first. + CORBA::ORB_var orb = CORBA::ORB_init (argc, + argv, + 0, + ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Obtain the RootPOA. + CORBA::Object_var obj = + orb->resolve_initial_references ("RootPOA", + ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Get the POA_var object from Object_var. + PortableServer::POA_var root_poa = + PortableServer::POA::_narrow (obj.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Get the POAManager of the RootPOA. + PortableServer::POAManager_var poa_manager = + root_poa->the_POAManager (ACE_TRY_ENV); + ACE_TRY_CHECK; + + CORBA::PolicyList empty_policies; + PortableServer::POA_var child_poa = + root_poa->create_POA ("child", + poa_manager.in (), + empty_policies, + ACE_TRY_ENV); + ACE_TRY_CHECK; + + poa_manager->activate (ACE_TRY_ENV); + ACE_TRY_CHECK; + + obj = + root_poa->create_reference ("IDL:test:1.0", + ACE_TRY_ENV); + ACE_TRY_CHECK; + + PortableServer::ObjectId_var id = + root_poa->reference_to_id (obj.in (), + ACE_TRY_ENV); + ACE_TRY_CHECK; + + test_object_deactivation (root_poa, + id, + ACE_TRY_ENV); + ACE_TRY_CHECK; + + id = PortableServer::string_to_ObjectId ("good id"); + + test_object_deactivation (child_poa, + id, + ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught"); + return -1; + } + ACE_ENDTRY; + ACE_CHECK_RETURN (-1); + + return 0; +} diff --git a/TAO/tests/POA/Excessive_Object_Deactivations/Excessive_Object_Deactivations.dsp b/TAO/tests/POA/Excessive_Object_Deactivations/Excessive_Object_Deactivations.dsp new file mode 100644 index 00000000000..2a2d6956e50 --- /dev/null +++ b/TAO/tests/POA/Excessive_Object_Deactivations/Excessive_Object_Deactivations.dsp @@ -0,0 +1,203 @@ +# Microsoft Developer Studio Project File - Name="POA Excessive_Object_Deactivations" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=POA Excessive_Object_Deactivations - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Excessive_Object_Deactivations.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Excessive_Object_Deactivations.mak" CFG="POA Excessive_Object_Deactivations - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "POA Excessive_Object_Deactivations - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "POA Excessive_Object_Deactivations - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "POA Excessive_Object_Deactivations - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\.." /I "..\..\.." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ace.lib TAO.lib TAO_PortableServer.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\tao\PortableServer" /libpath:"..\..\..\tao" /libpath:"..\..\..\..\ace"
+
+!ELSEIF "$(CFG)" == "POA Excessive_Object_Deactivations - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\..\.." /I "..\..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 aced.lib TAOd.lib TAO_PortableServerd.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\tao\PortableServer" /libpath:"..\..\..\tao" /libpath:"..\..\..\..\ace"
+
+!ENDIF
+
+# Begin Target
+
+# Name "POA Excessive_Object_Deactivations - Win32 Release"
+# Name "POA Excessive_Object_Deactivations - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\Excessive_Object_Deactivations.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\testC.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\testS.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\testC.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\testS.h
+# End Source File
+# End Group
+# Begin Group "IDL Files"
+
+# PROP Default_Filter "idl"
+# Begin Source File
+
+SOURCE=.\test.idl
+
+!IF "$(CFG)" == "POA Excessive_Object_Deactivations - Win32 Release"
+
+USERDEP__TEST_="..\..\..\..\bin\Release\tao_idl.exe"
+# Begin Custom Build - Invoking TAO's IDL Compiler on $(InputPath)
+InputPath=.\test.idl
+InputName=test
+
+BuildCmds= \
+ ..\..\..\..\bin\Release\tao_idl -Ge 1 $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "POA Excessive_Object_Deactivations - Win32 Debug"
+
+USERDEP__TEST_="..\..\..\..\bin\tao_idl.exe"
+# Begin Custom Build - Invoking TAO's IDL Compiler on $(InputPath)
+InputPath=.\test.idl
+InputName=test
+
+BuildCmds= \
+ ..\..\..\..\bin\tao_idl -Ge 1 $(InputName).idl
+
+"$(InputName)C.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)C.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.i" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+
+"$(InputName)S_T.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ $(BuildCmds)
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/TAO/tests/POA/Excessive_Object_Deactivations/Excessive_Object_Deactivations.dsw b/TAO/tests/POA/Excessive_Object_Deactivations/Excessive_Object_Deactivations.dsw new file mode 100644 index 00000000000..0a550619ef7 --- /dev/null +++ b/TAO/tests/POA/Excessive_Object_Deactivations/Excessive_Object_Deactivations.dsw @@ -0,0 +1,29 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "Excessive_Object_Deactivations"=.\Excessive_Object_Deactivations.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TAO/tests/POA/Excessive_Object_Deactivations/Makefile b/TAO/tests/POA/Excessive_Object_Deactivations/Makefile new file mode 100644 index 00000000000..80fb4369e20 --- /dev/null +++ b/TAO/tests/POA/Excessive_Object_Deactivations/Makefile @@ -0,0 +1,692 @@ +#---------------------------------------------------------------------------- +# +# $Id$ +# +#---------------------------------------------------------------------------- + +#---------------------------------------------------------------------------- +# Local macros +#---------------------------------------------------------------------------- + +ifndef TAO_ROOT + TAO_ROOT = $(ACE_ROOT)/TAO +endif # ! TAO_ROOT + +LDLIBS = -lTAO + +IDL_FILES = test +IDL_SRC = testC.cpp testS.cpp +PROG_SRCS = $(IDL_SRC) Excessive_Object_Deactivations.cpp + +LSRC = $(PROG_SRCS) + +SVR_OBJS = testC.o testS.o Excessive_Object_Deactivations.o + +BIN = Excessive_Object_Deactivations + +TAO_IDLFLAGS += -Ge 1 +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU +include $(ACE_ROOT)/include/makeinclude/macros.GNU +include $(TAO_ROOT)/rules.tao.GNU +include $(ACE_ROOT)/include/makeinclude/rules.common.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU +#include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU +include $(ACE_ROOT)/include/makeinclude/rules.local.GNU +include $(TAO_ROOT)/taoconfig.mk + + +.PRECIOUS: testC.h testC.i testC.cpp testS.h testS.i testS.cpp testS_T.h testS_T.i testS_T.cpp + +Excessive_Object_Deactivations: $(addprefix $(VDIR),$(SVR_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(TAO_SRVR_LIBS) $(POSTLINK) + +realclean: clean + -$(RM) testC.* testS.* testS_T.* + +# DO NOT DELETE THIS LINE -- g++dep uses it. +# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. + + +.obj/testC.o .obj/testC.so .shobj/testC.o .shobj/testC.so: testC.cpp testC.h \ + $(TAO_ROOT)/tao/corba.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/post.h \ + $(TAO_ROOT)/tao/corbafwd.h \ + $(ACE_ROOT)/ace/CDR_Base.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(TAO_ROOT)/tao/try_macros.h \ + $(TAO_ROOT)/tao/orbconf.h \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/varbase.h \ + $(TAO_ROOT)/tao/TAO_Export.h \ + $(TAO_ROOT)/tao/Environment.h \ + $(TAO_ROOT)/tao/ORB.h \ + $(TAO_ROOT)/tao/Exception.h \ + $(ACE_ROOT)/ace/SString.h \ + $(TAO_ROOT)/tao/Services.h \ + $(TAO_ROOT)/tao/Sequence.h \ + $(TAO_ROOT)/tao/Managed_Types.h \ + $(TAO_ROOT)/tao/Sequence_T.h \ + $(TAO_ROOT)/tao/Sequence_T.cpp \ + $(TAO_ROOT)/tao/Sequence_T.i \ + $(TAO_ROOT)/tao/CORBA_String.h \ + $(TAO_ROOT)/tao/PolicyC.h \ + $(TAO_ROOT)/tao/CurrentC.h \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Abstract_Servant_Base.h \ + $(TAO_ROOT)/tao/Object_Proxy_Broker.h \ + $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Encodable.h \ + $(TAO_ROOT)/tao/CDR.h \ + $(ACE_ROOT)/ace/CDR_Stream.h \ + $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/NVList.h \ + $(TAO_ROOT)/tao/Principal.h \ + $(TAO_ROOT)/tao/OctetSeqC.h \ + $(TAO_ROOT)/tao/TAO_Server_Request.h \ + $(TAO_ROOT)/tao/Tagged_Profile.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/GIOPC.h \ + $(TAO_ROOT)/tao/Object_KeyC.h \ + $(TAO_ROOT)/tao/Service_Context.h \ + $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/LocalObject.h \ + $(TAO_ROOT)/tao/Stub.h \ + $(TAO_ROOT)/tao/Pluggable.h \ + $(TAO_ROOT)/tao/MProfile.h \ + $(TAO_ROOT)/tao/Profile.h \ + $(TAO_ROOT)/tao/Tagged_Components.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.h \ + $(TAO_ROOT)/tao/GIOP_Message_State.h \ + $(TAO_ROOT)/tao/ORB_Core.h \ + $(TAO_ROOT)/tao/Policy_Manager.h \ + $(TAO_ROOT)/tao/Resource_Factory.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(TAO_ROOT)/tao/Protocol_Factory.h \ + $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \ + $(TAO_ROOT)/tao/TAO_Singleton.h \ + $(TAO_ROOT)/tao/TAO_Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(TAO_ROOT)/tao/TAO_Singleton.inl \ + $(TAO_ROOT)/tao/Adapter.h \ + $(TAO_ROOT)/tao/PolicyFactory_Registry.h \ + $(TAO_ROOT)/tao/PortableInterceptorC.h \ + $(TAO_ROOT)/tao/DynamicC.h \ + $(TAO_ROOT)/tao/MessagingC.h \ + $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/PollableC.h \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(TAO_ROOT)/tao/Parser_Registry.h \ + $(TAO_ROOT)/tao/Service_Callbacks.h \ + $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \ + $(TAO_ROOT)/tao/Transport_Cache_Manager.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(TAO_ROOT)/tao/Cache_Entries.h \ + $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \ + $(TAO_ROOT)/tao/Endpoint.h \ + $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \ + $(TAO_ROOT)/tao/Object_Ref_Table.h \ + $(TAO_ROOT)/tao/Interceptor_List.h \ + $(TAO_ROOT)/tao/RT_Policy_i.h \ + $(TAO_ROOT)/tao/RTCORBAC.h \ + $(TAO_ROOT)/tao/Protocols_Hooks.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Singleton.i \ + $(TAO_ROOT)/tao/debug.h \ + $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ + $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ + $(TAO_ROOT)/tao/Invocation.h \ + $(TAO_ROOT)/tao/Synch_Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/TAOC.h \ + $(TAO_ROOT)/tao/Priority_Mapping_Manager.h \ + $(TAO_ROOT)/tao/Priority_Mapping.h \ + $(TAO_ROOT)/tao/operation_details.h \ + $(TAO_ROOT)/tao/target_specification.h \ + $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.h \ + $(TAO_ROOT)/tao/ObjectIDList.h \ + $(TAO_ROOT)/tao/DomainC.h \ + $(TAO_ROOT)/tao/ClientRequestInfo.h \ + $(TAO_ROOT)/tao/StringSeqC.h \ + $(TAO_ROOT)/tao/WrongTransactionC.h \ + $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/PortableInterceptor.h \ + $(TAO_ROOT)/tao/BiDirPolicyC.h \ + $(TAO_ROOT)/tao/RequestInfo_Util.h \ + testC.i + +.obj/testS.o .obj/testS.so .shobj/testS.o .shobj/testS.so: testS.cpp testS.h testC.h \ + $(TAO_ROOT)/tao/corba.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/post.h \ + $(TAO_ROOT)/tao/corbafwd.h \ + $(ACE_ROOT)/ace/CDR_Base.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(TAO_ROOT)/tao/try_macros.h \ + $(TAO_ROOT)/tao/orbconf.h \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/varbase.h \ + $(TAO_ROOT)/tao/TAO_Export.h \ + $(TAO_ROOT)/tao/Environment.h \ + $(TAO_ROOT)/tao/ORB.h \ + $(TAO_ROOT)/tao/Exception.h \ + $(ACE_ROOT)/ace/SString.h \ + $(TAO_ROOT)/tao/Services.h \ + $(TAO_ROOT)/tao/Sequence.h \ + $(TAO_ROOT)/tao/Managed_Types.h \ + $(TAO_ROOT)/tao/Sequence_T.h \ + $(TAO_ROOT)/tao/Sequence_T.cpp \ + $(TAO_ROOT)/tao/Sequence_T.i \ + $(TAO_ROOT)/tao/CORBA_String.h \ + $(TAO_ROOT)/tao/PolicyC.h \ + $(TAO_ROOT)/tao/CurrentC.h \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Abstract_Servant_Base.h \ + $(TAO_ROOT)/tao/Object_Proxy_Broker.h \ + $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Encodable.h \ + $(TAO_ROOT)/tao/CDR.h \ + $(ACE_ROOT)/ace/CDR_Stream.h \ + $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/NVList.h \ + $(TAO_ROOT)/tao/Principal.h \ + $(TAO_ROOT)/tao/OctetSeqC.h \ + $(TAO_ROOT)/tao/TAO_Server_Request.h \ + $(TAO_ROOT)/tao/Tagged_Profile.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/GIOPC.h \ + $(TAO_ROOT)/tao/Object_KeyC.h \ + $(TAO_ROOT)/tao/Service_Context.h \ + $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/LocalObject.h \ + $(TAO_ROOT)/tao/Stub.h \ + $(TAO_ROOT)/tao/Pluggable.h \ + $(TAO_ROOT)/tao/MProfile.h \ + $(TAO_ROOT)/tao/Profile.h \ + $(TAO_ROOT)/tao/Tagged_Components.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.h \ + $(TAO_ROOT)/tao/GIOP_Message_State.h \ + $(TAO_ROOT)/tao/ORB_Core.h \ + $(TAO_ROOT)/tao/Policy_Manager.h \ + $(TAO_ROOT)/tao/Resource_Factory.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(TAO_ROOT)/tao/Protocol_Factory.h \ + $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \ + $(TAO_ROOT)/tao/TAO_Singleton.h \ + $(TAO_ROOT)/tao/TAO_Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(TAO_ROOT)/tao/TAO_Singleton.inl \ + $(TAO_ROOT)/tao/Adapter.h \ + $(TAO_ROOT)/tao/PolicyFactory_Registry.h \ + $(TAO_ROOT)/tao/PortableInterceptorC.h \ + $(TAO_ROOT)/tao/DynamicC.h \ + $(TAO_ROOT)/tao/MessagingC.h \ + $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/PollableC.h \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(TAO_ROOT)/tao/Parser_Registry.h \ + $(TAO_ROOT)/tao/Service_Callbacks.h \ + $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \ + $(TAO_ROOT)/tao/Transport_Cache_Manager.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(TAO_ROOT)/tao/Cache_Entries.h \ + $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \ + $(TAO_ROOT)/tao/Endpoint.h \ + $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \ + $(TAO_ROOT)/tao/Object_Ref_Table.h \ + $(TAO_ROOT)/tao/Interceptor_List.h \ + $(TAO_ROOT)/tao/RT_Policy_i.h \ + $(TAO_ROOT)/tao/RTCORBAC.h \ + $(TAO_ROOT)/tao/Protocols_Hooks.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Singleton.i \ + $(TAO_ROOT)/tao/debug.h \ + $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ + $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ + $(TAO_ROOT)/tao/Invocation.h \ + $(TAO_ROOT)/tao/Synch_Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/TAOC.h \ + $(TAO_ROOT)/tao/Priority_Mapping_Manager.h \ + $(TAO_ROOT)/tao/Priority_Mapping.h \ + $(TAO_ROOT)/tao/operation_details.h \ + $(TAO_ROOT)/tao/target_specification.h \ + $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.h \ + $(TAO_ROOT)/tao/ObjectIDList.h \ + $(TAO_ROOT)/tao/DomainC.h \ + $(TAO_ROOT)/tao/ClientRequestInfo.h \ + $(TAO_ROOT)/tao/StringSeqC.h \ + $(TAO_ROOT)/tao/WrongTransactionC.h \ + $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/PortableInterceptor.h \ + $(TAO_ROOT)/tao/BiDirPolicyC.h \ + $(TAO_ROOT)/tao/PortableServer/PortableServer.h \ + $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \ + $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.h \ + $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \ + $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \ + $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \ + $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \ + testS_T.h testS_T.cpp testS_T.i \ + $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \ + $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \ + $(ACE_ROOT)/ace/Map.h \ + $(ACE_ROOT)/ace/Map_T.h \ + $(ACE_ROOT)/ace/Pair.h \ + $(ACE_ROOT)/ace/Pair_T.h \ + $(ACE_ROOT)/ace/Pair_T.cpp \ + $(ACE_ROOT)/ace/Pair_T.i \ + $(ACE_ROOT)/ace/Active_Map_Manager.h \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Map_T.cpp \ + $(ACE_ROOT)/ace/Map_T.i \ + $(TAO_ROOT)/tao/PortableServer/poa_macros.h \ + $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \ + $(TAO_ROOT)/tao/PortableServer/Operation_Table.h \ + $(TAO_ROOT)/tao/RequestInfo_Util.h \ + testS.i + +.obj/Excessive_Object_Deactivations.o .obj/Excessive_Object_Deactivations.so .shobj/Excessive_Object_Deactivations.o .shobj/Excessive_Object_Deactivations.so: Excessive_Object_Deactivations.cpp testS.h testC.h \ + $(TAO_ROOT)/tao/corba.h \ + $(ACE_ROOT)/ace/pre.h \ + $(ACE_ROOT)/ace/ACE_export.h \ + $(ACE_ROOT)/ace/svc_export.h \ + $(ACE_ROOT)/ace/ace_wchar.h \ + $(ACE_ROOT)/ace/ace_wchar.inl \ + $(ACE_ROOT)/ace/OS_Errno.h \ + $(ACE_ROOT)/ace/OS_Export.h \ + $(ACE_ROOT)/ace/post.h \ + $(TAO_ROOT)/tao/corbafwd.h \ + $(ACE_ROOT)/ace/CDR_Base.h \ + $(ACE_ROOT)/ace/Basic_Types.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/OS.h \ + $(ACE_ROOT)/ace/OS_Dirent.h \ + $(ACE_ROOT)/ace/OS_String.h \ + $(ACE_ROOT)/ace/OS_Memory.h \ + $(ACE_ROOT)/ace/OS_TLI.h \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/Malloc.h \ + $(ACE_ROOT)/ace/Log_Msg.h \ + $(ACE_ROOT)/ace/Log_Record.h \ + $(ACE_ROOT)/ace/Log_Priority.h \ + $(ACE_ROOT)/ace/Log_Record.i \ + $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ + $(ACE_ROOT)/ace/Malloc_T.h \ + $(ACE_ROOT)/ace/Synch.h \ + $(ACE_ROOT)/ace/Synch_T.h \ + $(ACE_ROOT)/ace/Synch_T.cpp \ + $(ACE_ROOT)/ace/Thread.h \ + $(ACE_ROOT)/ace/Thread_Adapter.h \ + $(ACE_ROOT)/ace/Base_Thread_Adapter.h \ + $(ACE_ROOT)/ace/Synch_T.i \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Malloc_Allocator.h \ + $(ACE_ROOT)/ace/Malloc_Base.h \ + $(ACE_ROOT)/ace/Free_List.h \ + $(ACE_ROOT)/ace/Free_List.cpp \ + $(ACE_ROOT)/ace/Free_List.i \ + $(ACE_ROOT)/ace/Malloc_T.cpp \ + $(ACE_ROOT)/ace/Malloc_T.i \ + $(ACE_ROOT)/ace/Memory_Pool.h \ + $(ACE_ROOT)/ace/Event_Handler.h \ + $(ACE_ROOT)/ace/Signal.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Containers_T.cpp \ + $(ACE_ROOT)/ace/Containers_T.i \ + $(ACE_ROOT)/ace/Mem_Map.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ + $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ + $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ + $(ACE_ROOT)/ace/Message_Block_T.h \ + $(ACE_ROOT)/ace/Message_Block_T.cpp \ + $(ACE_ROOT)/ace/Message_Block_T.i \ + $(TAO_ROOT)/tao/try_macros.h \ + $(TAO_ROOT)/tao/orbconf.h \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/varbase.h \ + $(TAO_ROOT)/tao/TAO_Export.h \ + $(TAO_ROOT)/tao/Environment.h \ + $(TAO_ROOT)/tao/ORB.h \ + $(TAO_ROOT)/tao/Exception.h \ + $(ACE_ROOT)/ace/SString.h \ + $(TAO_ROOT)/tao/Services.h \ + $(TAO_ROOT)/tao/Sequence.h \ + $(TAO_ROOT)/tao/Managed_Types.h \ + $(TAO_ROOT)/tao/Sequence_T.h \ + $(TAO_ROOT)/tao/Sequence_T.cpp \ + $(TAO_ROOT)/tao/Sequence_T.i \ + $(TAO_ROOT)/tao/CORBA_String.h \ + $(TAO_ROOT)/tao/PolicyC.h \ + $(TAO_ROOT)/tao/CurrentC.h \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Abstract_Servant_Base.h \ + $(TAO_ROOT)/tao/Object_Proxy_Broker.h \ + $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Encodable.h \ + $(TAO_ROOT)/tao/CDR.h \ + $(ACE_ROOT)/ace/CDR_Stream.h \ + $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/NVList.h \ + $(TAO_ROOT)/tao/Principal.h \ + $(TAO_ROOT)/tao/OctetSeqC.h \ + $(TAO_ROOT)/tao/TAO_Server_Request.h \ + $(TAO_ROOT)/tao/Tagged_Profile.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/GIOPC.h \ + $(TAO_ROOT)/tao/Object_KeyC.h \ + $(TAO_ROOT)/tao/Service_Context.h \ + $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/LocalObject.h \ + $(TAO_ROOT)/tao/Stub.h \ + $(TAO_ROOT)/tao/Pluggable.h \ + $(TAO_ROOT)/tao/MProfile.h \ + $(TAO_ROOT)/tao/Profile.h \ + $(TAO_ROOT)/tao/Tagged_Components.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.h \ + $(TAO_ROOT)/tao/GIOP_Message_State.h \ + $(TAO_ROOT)/tao/ORB_Core.h \ + $(TAO_ROOT)/tao/Policy_Manager.h \ + $(TAO_ROOT)/tao/Resource_Factory.h \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(TAO_ROOT)/tao/Protocol_Factory.h \ + $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \ + $(TAO_ROOT)/tao/TAO_Singleton.h \ + $(TAO_ROOT)/tao/TAO_Singleton.cpp \ + $(ACE_ROOT)/ace/Object_Manager.h \ + $(ACE_ROOT)/ace/Managed_Object.h \ + $(ACE_ROOT)/ace/Managed_Object.cpp \ + $(ACE_ROOT)/ace/Managed_Object.i \ + $(TAO_ROOT)/tao/TAO_Singleton.inl \ + $(TAO_ROOT)/tao/Adapter.h \ + $(TAO_ROOT)/tao/PolicyFactory_Registry.h \ + $(TAO_ROOT)/tao/PortableInterceptorC.h \ + $(TAO_ROOT)/tao/DynamicC.h \ + $(TAO_ROOT)/tao/MessagingC.h \ + $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/PollableC.h \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.cpp \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(ACE_ROOT)/ace/Reactor.h \ + $(ACE_ROOT)/ace/Handle_Set.h \ + $(ACE_ROOT)/ace/Timer_Queue.h \ + $(ACE_ROOT)/ace/Timer_Queue_T.h \ + $(ACE_ROOT)/ace/Test_and_Set.h \ + $(ACE_ROOT)/ace/Test_and_Set.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.cpp \ + $(ACE_ROOT)/ace/Timer_Queue_T.i \ + $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(TAO_ROOT)/tao/Parser_Registry.h \ + $(TAO_ROOT)/tao/Service_Callbacks.h \ + $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \ + $(TAO_ROOT)/tao/Transport_Cache_Manager.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor_T.h \ + $(ACE_ROOT)/ace/Functor_T.cpp \ + $(ACE_ROOT)/ace/Functor_T.i \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \ + $(TAO_ROOT)/tao/Cache_Entries.h \ + $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \ + $(TAO_ROOT)/tao/Endpoint.h \ + $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \ + $(TAO_ROOT)/tao/Object_Ref_Table.h \ + $(TAO_ROOT)/tao/Interceptor_List.h \ + $(TAO_ROOT)/tao/RT_Policy_i.h \ + $(TAO_ROOT)/tao/RTCORBAC.h \ + $(TAO_ROOT)/tao/Protocols_Hooks.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager.h \ + $(ACE_ROOT)/ace/Thread_Manager.h \ + $(ACE_ROOT)/ace/Singleton.h \ + $(ACE_ROOT)/ace/Singleton.cpp \ + $(ACE_ROOT)/ace/Singleton.i \ + $(TAO_ROOT)/tao/debug.h \ + $(TAO_ROOT)/tao/Client_Strategy_Factory.h \ + $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ + $(TAO_ROOT)/tao/Invocation.h \ + $(TAO_ROOT)/tao/Synch_Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/TAOC.h \ + $(TAO_ROOT)/tao/Priority_Mapping_Manager.h \ + $(TAO_ROOT)/tao/Priority_Mapping.h \ + $(TAO_ROOT)/tao/operation_details.h \ + $(TAO_ROOT)/tao/target_specification.h \ + $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.h \ + $(TAO_ROOT)/tao/ObjectIDList.h \ + $(TAO_ROOT)/tao/DomainC.h \ + $(TAO_ROOT)/tao/ClientRequestInfo.h \ + $(TAO_ROOT)/tao/StringSeqC.h \ + $(TAO_ROOT)/tao/WrongTransactionC.h \ + $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/PortableInterceptor.h \ + $(TAO_ROOT)/tao/BiDirPolicyC.h \ + $(TAO_ROOT)/tao/PortableServer/PortableServer.h \ + $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \ + $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.h \ + $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \ + $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \ + $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \ + $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \ + testS_T.h testS_T.cpp testS_T.i + +# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/TAO/tests/POA/Excessive_Object_Deactivations/makefile.bor b/TAO/tests/POA/Excessive_Object_Deactivations/makefile.bor new file mode 100644 index 00000000000..5ac9e09e484 --- /dev/null +++ b/TAO/tests/POA/Excessive_Object_Deactivations/makefile.bor @@ -0,0 +1,27 @@ + +# +# Makefile for building the POA Destuction test +# + +NAME = Excessive_Object_Deactivations + +OBJFILES = \ + $(OBJDIR)\testC.obj \ + $(OBJDIR)\testS.obj \ + $(OBJDIR)\Excessive_Object_Deactivations.obj + +IDLFILES = \ + $(IDLDIR)\test.idl + +CPPDIR = .;.. + +IDLDIR = . + +!include <$(ACE_ROOT)\include\makeinclude\build_example.bor> + +# +# IDL Build rules +# + +$(IDLDIR)\testC.cpp $(IDLDIR)\testS.cpp: $(IDLDIR)\test.idl + $(TAO_IDL) $** diff --git a/TAO/tests/POA/Excessive_Object_Deactivations/run_test.pl b/TAO/tests/POA/Excessive_Object_Deactivations/run_test.pl new file mode 100755 index 00000000000..a2b8052d1c6 --- /dev/null +++ b/TAO/tests/POA/Excessive_Object_Deactivations/run_test.pl @@ -0,0 +1,20 @@ +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' + & eval 'exec perl -S $0 $argv:q' + if 0; + +# $Id$ +# -*- perl -*- + +use lib '../../../../bin'; +use PerlACE::Run_Test; + +$T = new PerlACE::Process ("Excessive_Object_Deactivations"); + +$test = $T->SpawnWaitKill (60); + +if ($test != 0) { + print STDERR "ERROR: test returned $test\n"; + exit 1; +} + +exit 0; diff --git a/TAO/tests/POA/Deactivation/test.idl b/TAO/tests/POA/Excessive_Object_Deactivations/test.idl index c7d0b23d96e..c7d0b23d96e 100644 --- a/TAO/tests/POA/Deactivation/test.idl +++ b/TAO/tests/POA/Excessive_Object_Deactivations/test.idl diff --git a/TAO/tests/POA/Makefile b/TAO/tests/POA/Makefile index 4824dec68c5..45f6e079ab8 100644 --- a/TAO/tests/POA/Makefile +++ b/TAO/tests/POA/Makefile @@ -10,9 +10,10 @@ # Local macros #---------------------------------------------------------------------------- -DIRS = Destruction \ +DIRS = POA_Destruction \ wait_for_completion \ - Deactivation \ + Excessive_Object_Deactivations \ + Object_Reactivation \ Non_Servant_Upcalls \ Single_Threaded_POA \ Identity diff --git a/TAO/tests/POA/Makefile.bor b/TAO/tests/POA/Makefile.bor index 614d66c2ffa..134d632381a 100644 --- a/TAO/tests/POA/Makefile.bor +++ b/TAO/tests/POA/Makefile.bor @@ -3,8 +3,9 @@ # DIRS = \ - Deactivation \ - Destruction \ + Object_Reactivation \ + Excessive_Object_Deactivations \ + POA_Destruction \ Identity \ Non_Servant_Upcalls \ Single_Threaded_POA \ diff --git a/TAO/tests/POA/Deactivation/Makefile b/TAO/tests/POA/Object_Reactivation/Makefile index 0a6f00da4a9..7030f60f415 100644 --- a/TAO/tests/POA/Deactivation/Makefile +++ b/TAO/tests/POA/Object_Reactivation/Makefile @@ -16,13 +16,13 @@ LDLIBS = -lTAO IDL_FILES = test IDL_SRC = testC.cpp testS.cpp -PROG_SRCS = $(IDL_SRC) Deactivation.cpp +PROG_SRCS = $(IDL_SRC) Object_Reactivation.cpp LSRC = $(PROG_SRCS) -SVR_OBJS = testC.o testS.o Deactivation.o +SVR_OBJS = testC.o testS.o Object_Reactivation.o -BIN = Deactivation +BIN = Object_Reactivation TAO_IDLFLAGS += -Ge 1 #---------------------------------------------------------------------------- @@ -41,7 +41,7 @@ include $(TAO_ROOT)/taoconfig.mk .PRECIOUS: testC.h testC.i testC.cpp testS.h testS.i testS.cpp testS_T.h testS_T.i testS_T.cpp -Deactivation: $(addprefix $(VDIR),$(SVR_OBJS)) +Object_Reactivation: $(addprefix $(VDIR),$(SVR_OBJS)) $(LINK.cc) $(LDFLAGS) -o $@ $^ $(TAO_SRVR_LIBS) $(POSTLINK) realclean: clean @@ -480,7 +480,7 @@ realclean: clean $(TAO_ROOT)/tao/RequestInfo_Util.h \ testS.i -.obj/Deactivation.o .obj/Deactivation.so .shobj/Deactivation.o .shobj/Deactivation.so: Deactivation.cpp testS.h testC.h \ +.obj/Object_Reactivation.o .obj/Object_Reactivation.so .shobj/Object_Reactivation.o .shobj/Object_Reactivation.so: Object_Reactivation.cpp testS.h testC.h \ $(TAO_ROOT)/tao/corba.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/ACE_export.h \ diff --git a/TAO/tests/POA/Deactivation/Deactivation.cpp b/TAO/tests/POA/Object_Reactivation/Object_Reactivation.cpp index 71a2f5c9b3e..09f99b4856a 100644 --- a/TAO/tests/POA/Deactivation/Deactivation.cpp +++ b/TAO/tests/POA/Object_Reactivation/Object_Reactivation.cpp @@ -3,10 +3,10 @@ //======================================================================== // // = LIBRARY -// TAO/tests/POA/Deactivation +// TAO/tests/POA/Object_Reactivation // // = FILENAME -// Deactivation.cpp +// Object_Reactivation.cpp // // = DESCRIPTION // This program tests the reactivation of a servant that has been diff --git a/TAO/tests/POA/Destruction/Destruction.dsp b/TAO/tests/POA/Object_Reactivation/Object_Reactivation.dsp index 4b70c77ffd3..faf58f10e50 100644 --- a/TAO/tests/POA/Destruction/Destruction.dsp +++ b/TAO/tests/POA/Object_Reactivation/Object_Reactivation.dsp @@ -1,24 +1,24 @@ -# Microsoft Developer Studio Project File - Name="POA Destruction" - Package Owner=<4>
+# Microsoft Developer Studio Project File - Name="POA Object_Reactivation" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
-CFG=POA Destruction - Win32 Debug
+CFG=POA Object_Reactivation - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
-!MESSAGE NMAKE /f "Destruction.mak".
+!MESSAGE NMAKE /f "Object_Reactivation.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
-!MESSAGE NMAKE /f "Destruction.mak" CFG="POA Destruction - Win32 Debug"
+!MESSAGE NMAKE /f "Object_Reactivation.mak" CFG="POA Object_Reactivation - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
-!MESSAGE "POA Destruction - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "POA Destruction - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "POA Object_Reactivation - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "POA Object_Reactivation - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
@@ -28,7 +28,7 @@ CFG=POA Destruction - Win32 Debug CPP=cl.exe
RSC=rc.exe
-!IF "$(CFG)" == "POA Destruction - Win32 Release"
+!IF "$(CFG)" == "POA Object_Reactivation - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
@@ -53,7 +53,7 @@ LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 ace.lib TAO.lib TAO_PortableServer.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\tao\PortableServer" /libpath:"..\..\..\tao" /libpath:"..\..\..\..\ace"
-!ELSEIF "$(CFG)" == "POA Destruction - Win32 Debug"
+!ELSEIF "$(CFG)" == "POA Object_Reactivation - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
@@ -82,14 +82,14 @@ LINK32=link.exe # Begin Target
-# Name "POA Destruction - Win32 Release"
-# Name "POA Destruction - Win32 Debug"
+# Name "POA Object_Reactivation - Win32 Release"
+# Name "POA Object_Reactivation - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
-SOURCE=.\Destruction.cpp
+SOURCE=.\Object_Reactivation.cpp
# End Source File
# Begin Source File
@@ -119,7 +119,7 @@ SOURCE=.\testS.h SOURCE=.\test.idl
-!IF "$(CFG)" == "POA Destruction - Win32 Release"
+!IF "$(CFG)" == "POA Object_Reactivation - Win32 Release"
USERDEP__TEST_="..\..\..\..\bin\Release\tao_idl.exe"
# Begin Custom Build - Invoking TAO's IDL Compiler on $(InputPath)
@@ -157,7 +157,7 @@ BuildCmds= \ $(BuildCmds)
# End Custom Build
-!ELSEIF "$(CFG)" == "POA Destruction - Win32 Debug"
+!ELSEIF "$(CFG)" == "POA Object_Reactivation - Win32 Debug"
USERDEP__TEST_="..\..\..\..\bin\tao_idl.exe"
# Begin Custom Build - Invoking TAO's IDL Compiler on $(InputPath)
diff --git a/TAO/tests/POA/Deactivation/Deactivation.dsw b/TAO/tests/POA/Object_Reactivation/Object_Reactivation.dsw index f937b183406..408b2facb3c 100644 --- a/TAO/tests/POA/Deactivation/Deactivation.dsw +++ b/TAO/tests/POA/Object_Reactivation/Object_Reactivation.dsw @@ -3,7 +3,7 @@ Microsoft Developer Studio Workspace File, Format Version 6.00 ###############################################################################
-Project: "Deactivation"=.\Deactivation.dsp - Package Owner=<4>
+Project: "Object_Reactivation"=.\Object_Reactivation.dsp - Package Owner=<4>
Package=<5>
{{{
diff --git a/TAO/tests/POA/Deactivation/makefile.bor b/TAO/tests/POA/Object_Reactivation/makefile.bor index c37bcf7ca1b..0b99ba5be4c 100644 --- a/TAO/tests/POA/Deactivation/makefile.bor +++ b/TAO/tests/POA/Object_Reactivation/makefile.bor @@ -1,14 +1,14 @@ # -# Makefile for building the POA Deactivation test +# Makefile for building the POA Object_Reactivation test # -NAME = Deactivation +NAME = Object_Reactivation OBJFILES = \ $(OBJDIR)\testC.obj \ $(OBJDIR)\testS.obj \ - $(OBJDIR)\Deactivation.obj + $(OBJDIR)\Object_Reactivation.obj IDLFILES = \ $(IDLDIR)\test.idl diff --git a/TAO/tests/POA/Destruction/run_test.pl b/TAO/tests/POA/Object_Reactivation/run_test.pl index cc3f201286f..2abe88af27c 100755 --- a/TAO/tests/POA/Destruction/run_test.pl +++ b/TAO/tests/POA/Object_Reactivation/run_test.pl @@ -8,7 +8,7 @@ eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' use lib '../../../../bin'; use PerlACE::Run_Test; -$T = new PerlACE::Process ("Destruction"); +$T = new PerlACE::Process ("Object_Reactivation"); $test = $T->SpawnWaitKill (60); diff --git a/TAO/tests/POA/Object_Reactivation/test.idl b/TAO/tests/POA/Object_Reactivation/test.idl new file mode 100644 index 00000000000..c7d0b23d96e --- /dev/null +++ b/TAO/tests/POA/Object_Reactivation/test.idl @@ -0,0 +1,6 @@ +// $Id$ + +interface test +{ + void deactivate_self (); +}; diff --git a/TAO/tests/POA/Destruction/Makefile b/TAO/tests/POA/POA_Destruction/Makefile index fd1c1a90ddf..3da950929fa 100644 --- a/TAO/tests/POA/Destruction/Makefile +++ b/TAO/tests/POA/POA_Destruction/Makefile @@ -16,13 +16,13 @@ LDLIBS = -lTAO IDL_FILES = test IDL_SRC = testC.cpp testS.cpp -PROG_SRCS = $(IDL_SRC) Destruction.cpp +PROG_SRCS = $(IDL_SRC) POA_Destruction.cpp LSRC = $(PROG_SRCS) -SVR_OBJS = testC.o testS.o Destruction.o +SVR_OBJS = testC.o testS.o POA_Destruction.o -BIN = Destruction +BIN = POA_Destruction TAO_IDLFLAGS += -Ge 1 #---------------------------------------------------------------------------- @@ -41,7 +41,7 @@ include $(TAO_ROOT)/taoconfig.mk .PRECIOUS: testC.h testC.i testC.cpp testS.h testS.i testS.cpp testS_T.h testS_T.i testS_T.cpp -Destruction: $(addprefix $(VDIR),$(SVR_OBJS)) +POA_Destruction: $(addprefix $(VDIR),$(SVR_OBJS)) $(LINK.cc) $(LDFLAGS) -o $@ $^ $(TAO_SRVR_LIBS) $(POSTLINK) realclean: clean @@ -480,7 +480,7 @@ realclean: clean $(TAO_ROOT)/tao/RequestInfo_Util.h \ testS.i -.obj/Destruction.o .obj/Destruction.so .shobj/Destruction.o .shobj/Destruction.so: Destruction.cpp testS.h testC.h \ +.obj/POA_Destruction.o .obj/POA_Destruction.so .shobj/POA_Destruction.o .shobj/POA_Destruction.so: POA_Destruction.cpp testS.h testC.h \ $(TAO_ROOT)/tao/corba.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/ACE_export.h \ diff --git a/TAO/tests/POA/Destruction/Destruction.cpp b/TAO/tests/POA/POA_Destruction/POA_Destruction.cpp index f8e80346996..ac5b10b626c 100644 --- a/TAO/tests/POA/Destruction/Destruction.cpp +++ b/TAO/tests/POA/POA_Destruction/POA_Destruction.cpp @@ -3,10 +3,10 @@ //======================================================================== // // = LIBRARY -// TAO/tests/POA/Destruction +// TAO/tests/POA/POA_Destruction // // = FILENAME -// Destruction.cpp +// POA_Destruction.cpp // // = DESCRIPTION // This program tests the destruction of a POA while there is an diff --git a/TAO/tests/POA/Deactivation/Deactivation.dsp b/TAO/tests/POA/POA_Destruction/POA_Destruction.dsp index 0abbd2fa385..1f6c35ca930 100644 --- a/TAO/tests/POA/Deactivation/Deactivation.dsp +++ b/TAO/tests/POA/POA_Destruction/POA_Destruction.dsp @@ -1,24 +1,24 @@ -# Microsoft Developer Studio Project File - Name="POA Deactivation" - Package Owner=<4>
+# Microsoft Developer Studio Project File - Name="POA POA_Destruction" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
-CFG=POA Deactivation - Win32 Debug
+CFG=POA POA_Destruction - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
-!MESSAGE NMAKE /f "Deactivation.mak".
+!MESSAGE NMAKE /f "POA_Destruction.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
-!MESSAGE NMAKE /f "Deactivation.mak" CFG="POA Deactivation - Win32 Debug"
+!MESSAGE NMAKE /f "POA_Destruction.mak" CFG="POA POA_Destruction - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
-!MESSAGE "POA Deactivation - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "POA Deactivation - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE "POA POA_Destruction - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "POA POA_Destruction - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
@@ -28,7 +28,7 @@ CFG=POA Deactivation - Win32 Debug CPP=cl.exe
RSC=rc.exe
-!IF "$(CFG)" == "POA Deactivation - Win32 Release"
+!IF "$(CFG)" == "POA POA_Destruction - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
@@ -53,7 +53,7 @@ LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 ace.lib TAO.lib TAO_PortableServer.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\tao\PortableServer" /libpath:"..\..\..\tao" /libpath:"..\..\..\..\ace"
-!ELSEIF "$(CFG)" == "POA Deactivation - Win32 Debug"
+!ELSEIF "$(CFG)" == "POA POA_Destruction - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
@@ -82,14 +82,14 @@ LINK32=link.exe # Begin Target
-# Name "POA Deactivation - Win32 Release"
-# Name "POA Deactivation - Win32 Debug"
+# Name "POA POA_Destruction - Win32 Release"
+# Name "POA POA_Destruction - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
-SOURCE=.\Deactivation.cpp
+SOURCE=.\POA_Destruction.cpp
# End Source File
# Begin Source File
@@ -119,7 +119,7 @@ SOURCE=.\testS.h SOURCE=.\test.idl
-!IF "$(CFG)" == "POA Deactivation - Win32 Release"
+!IF "$(CFG)" == "POA POA_Destruction - Win32 Release"
USERDEP__TEST_="..\..\..\..\bin\Release\tao_idl.exe"
# Begin Custom Build - Invoking TAO's IDL Compiler on $(InputPath)
@@ -157,7 +157,7 @@ BuildCmds= \ $(BuildCmds)
# End Custom Build
-!ELSEIF "$(CFG)" == "POA Deactivation - Win32 Debug"
+!ELSEIF "$(CFG)" == "POA POA_Destruction - Win32 Debug"
USERDEP__TEST_="..\..\..\..\bin\tao_idl.exe"
# Begin Custom Build - Invoking TAO's IDL Compiler on $(InputPath)
diff --git a/TAO/tests/POA/Destruction/Destruction.dsw b/TAO/tests/POA/POA_Destruction/POA_Destruction.dsw index 3bce381d9d5..debd2b77e08 100644 --- a/TAO/tests/POA/Destruction/Destruction.dsw +++ b/TAO/tests/POA/POA_Destruction/POA_Destruction.dsw @@ -3,7 +3,7 @@ Microsoft Developer Studio Workspace File, Format Version 6.00 ###############################################################################
-Project: "Destruction"=.\Destruction.dsp - Package Owner=<4>
+Project: "POA_Destruction"=.\POA_Destruction.dsp - Package Owner=<4>
Package=<5>
{{{
diff --git a/TAO/tests/POA/Destruction/makefile.bor b/TAO/tests/POA/POA_Destruction/makefile.bor index dfbd8550dc0..79592826a02 100644 --- a/TAO/tests/POA/Destruction/makefile.bor +++ b/TAO/tests/POA/POA_Destruction/makefile.bor @@ -3,12 +3,12 @@ # Makefile for building the POA Destuction test # -NAME = Destruction +NAME = POA_Destruction OBJFILES = \ $(OBJDIR)\testC.obj \ $(OBJDIR)\testS.obj \ - $(OBJDIR)\Destruction.obj + $(OBJDIR)\POA_Destruction.obj IDLFILES = \ $(IDLDIR)\test.idl diff --git a/TAO/tests/POA/Deactivation/run_test.pl b/TAO/tests/POA/POA_Destruction/run_test.pl index f3381e4fff6..39f350e7f22 100755 --- a/TAO/tests/POA/Deactivation/run_test.pl +++ b/TAO/tests/POA/POA_Destruction/run_test.pl @@ -8,7 +8,7 @@ eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' use lib '../../../../bin'; use PerlACE::Run_Test; -$T = new PerlACE::Process ("Deactivation"); +$T = new PerlACE::Process ("POA_Destruction"); $test = $T->SpawnWaitKill (60); diff --git a/TAO/tests/POA/Destruction/test.idl b/TAO/tests/POA/POA_Destruction/test.idl index 098546eb56e..098546eb56e 100644 --- a/TAO/tests/POA/Destruction/test.idl +++ b/TAO/tests/POA/POA_Destruction/test.idl diff --git a/TAO/tests/POA/README b/TAO/tests/POA/README index 0e78b4695b8..bb062f93594 100644 --- a/TAO/tests/POA/README +++ b/TAO/tests/POA/README @@ -8,17 +8,25 @@ Object Adapter (POA) interfaces and their usage scenarios. The example shows the identity between servants, ids, and references. - . Destruction + . POA_Destruction The program tests the destruction of a POA during an upcall. - . Deactivation + . Object_Reactivation This program tests the reactivation of a servant that has been deactivated but not removed from the Active Object Map yet. + . Excessive_Object_Deactivations + + This program tests for excessive deactivations of a + servant. The test checks excessive deactivations in a + POA with SYSTEM_ID and other POA with USER_ID. The + test also check for excessive deactivations during + upcalls. + . Non_Servant_Upcalls This program check the users ability to make calls on diff --git a/TAO/tests/TAO_Tests.dsw b/TAO/tests/TAO_Tests.dsw index a177ee60f24..c67c0398653 100644 --- a/TAO/tests/TAO_Tests.dsw +++ b/TAO/tests/TAO_Tests.dsw @@ -351,7 +351,7 @@ Package=<4> ###############################################################################
-Project: "POA Deactivation"=.\POA\Deactivation\Deactivation.dsp - Package Owner=<4>
+Project: "POA Object_Reactivation"=.\POA\Object_Reactivation\Object_Reactivation.dsp - Package Owner=<4>
Package=<5>
{{{
@@ -363,7 +363,19 @@ Package=<4> ###############################################################################
-Project: "POA Destruction"=.\POA\Destruction\Destruction.dsp - Package Owner=<4>
+Project: "POA POA_Destruction"=.\POA\POA_Destruction\POA_Destruction.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "POA Excessive_Object_Deactivations"=.\POA\Excessive_Object_Deactivations\Excessive_Object_Deactivations.dsp - Package Owner=<4>
Package=<5>
{{{
diff --git a/bin/auto_run_tests.lst b/bin/auto_run_tests.lst index 1065c7c2084..6be5c641a96 100644 --- a/bin/auto_run_tests.lst +++ b/bin/auto_run_tests.lst @@ -43,8 +43,9 @@ TAO/tests/NestedUpcall/MT_Client_Test/run_test.pl TAO/tests/NestedUpcall/Triangle_Test/run_test.pl TAO/tests/Nested_Event_Loop/run_test.pl TAO/tests/POA/Identity/run_test.pl -TAO/tests/POA/Deactivation/run_test.pl -TAO/tests/POA/Destruction/run_test.pl +TAO/tests/POA/Excessive_Object_Deactivations/run_test.pl +TAO/tests/POA/Object_Reactivation/run_test.pl +TAO/tests/POA/POA_Destruction/run_test.pl TAO/tests/POA/Single_Threaded_POA/run_test.pl: !MINIMUM !ST TAO/tests/POA/Non_Servant_Upcalls/run_test.pl TAO/tests/POA/wait_for_completion/run_test.pl |