diff --git a/ACE/tests/Mem_Map_Test.cpp b/ACE/tests/Mem_Map_Test.cpp index 7549be0c73aa9..b0e81f686207d 100644 --- a/ACE/tests/Mem_Map_Test.cpp +++ b/ACE/tests/Mem_Map_Test.cpp @@ -21,12 +21,11 @@ #include "ace/OS_NS_fcntl.h" #include "ace/OS_Memory.h" - #if !defined (ACE_LACKS_MMAP) static const char ACE_ALPHABET[] = "abcdefghijklmnopqrstuvwxyz"; -static const int LINE_LENGTH = 10; -static const int NUM_LINES = 15; +static constexpr int LINE_LENGTH = 10; +static constexpr int NUM_LINES = 15; static void reverse_file (ACE_HANDLE file_handle, @@ -34,9 +33,7 @@ reverse_file (ACE_HANDLE file_handle, size_t size) { int count = 0; - // LynxOS 3.0.0/PowerPC needs the volatile qualifier, with -O2 - // optimization enabled and without ACE_HAS_INLINE. - volatile size_t i = size; + size_t i = size; --i; if (array[i] == '\0') diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.cpp b/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.cpp index f23b234e7e224..96ed0c4bb484f 100644 --- a/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.cpp +++ b/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.cpp @@ -1,25 +1,9 @@ #include "orbsvcs/Log_Macros.h" #include "Activator_Loader.h" +#include "Activator_ORB_Runner.h" #include "ace/Dynamic_Service.h" -#include "ace/Task.h" -class ImR_Activator_ORB_Runner : public ACE_Task_Base -{ - ImR_Activator_Loader& service_; -public: - ImR_Activator_ORB_Runner (ImR_Activator_Loader& service) - : service_ (service) - { - } - virtual int svc () - { - // Block until service_.fini() calls orb->destroy() - this->service_.run (); - return 0; - } -}; - -ImR_Activator_Loader::ImR_Activator_Loader () +ImR_Activator_Loader::~ImR_Activator_Loader () { } @@ -45,7 +29,7 @@ ImR_Activator_Loader::init (int argc, ACE_TCHAR *argv[]) // Create a thread in which to run the service ACE_ASSERT (this->runner_.get () == 0); - this->runner_.reset (new ImR_Activator_ORB_Runner (*this)); + this->runner_= std::make_unique (*this); this->runner_->activate (); } catch (const CORBA::Exception&) @@ -64,7 +48,7 @@ ImR_Activator_Loader::fini () int ret = this->service_.fini (); this->runner_->wait (); - this->runner_.reset (0); + this->runner_.reset (nullptr); return ret; } catch (const CORBA::Exception&) @@ -75,8 +59,8 @@ ImR_Activator_Loader::fini () CORBA::Object_ptr ImR_Activator_Loader::create_object (CORBA::ORB_ptr, - int, - ACE_TCHAR **) + int, + ACE_TCHAR **) { throw CORBA::NO_IMPLEMENT (); } diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h b/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h index b12b8d345061f..2169da0014fe2 100644 --- a/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h +++ b/TAO/orbsvcs/ImplRepo_Service/Activator_Loader.h @@ -18,15 +18,16 @@ class ImR_Activator_ORB_Runner; class Activator_Export ImR_Activator_Loader : public TAO_Object_Loader { public: - ImR_Activator_Loader(); + ImR_Activator_Loader () = default; + ~ImR_Activator_Loader (); - virtual int init (int argc, ACE_TCHAR *argv[]); + int init (int argc, ACE_TCHAR *argv[]) override; - virtual int fini (); + int fini () override; - virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb, - int argc, - ACE_TCHAR *argv[]); + CORBA::Object_ptr create_object (CORBA::ORB_ptr orb, + int argc, + ACE_TCHAR *argv[]) override; // Unlike other service objects, we have our own orb. int run(); diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_ORB_Runner.cpp b/TAO/orbsvcs/ImplRepo_Service/Activator_ORB_Runner.cpp new file mode 100644 index 0000000000000..af4341ce23183 --- /dev/null +++ b/TAO/orbsvcs/ImplRepo_Service/Activator_ORB_Runner.cpp @@ -0,0 +1,15 @@ +#include "Activator_ORB_Runner.h" +#include "Activator_Loader.h" + +ImR_Activator_ORB_Runner::ImR_Activator_ORB_Runner (ImR_Activator_Loader& service) + : service_ (service) +{ +} + +int +ImR_Activator_ORB_Runner::svc () +{ + // Block until service_.fini() calls orb->destroy() + this->service_.run (); + return 0; +} diff --git a/TAO/orbsvcs/ImplRepo_Service/Activator_ORB_Runner.h b/TAO/orbsvcs/ImplRepo_Service/Activator_ORB_Runner.h new file mode 100644 index 0000000000000..adf02819fc274 --- /dev/null +++ b/TAO/orbsvcs/ImplRepo_Service/Activator_ORB_Runner.h @@ -0,0 +1,24 @@ +// -*- C++ -*- +#ifndef TAO_IMR_ACTIVATOR_ORB_RUNNER_H +#define TAO_IMR_ACTIVATOR_ORB_RUNNER_H + +#include "ace/Task.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +class ImR_Activator_Loader; + +class ImR_Activator_ORB_Runner : public ACE_Task_Base +{ +public: + ImR_Activator_ORB_Runner (ImR_Activator_Loader& service); + ~ImR_Activator_ORB_Runner () = default; + + int svc () override; +private: + ImR_Activator_Loader& service_; +}; + +#endif diff --git a/TAO/orbsvcs/ImplRepo_Service/ImplRepo_Service.mpc b/TAO/orbsvcs/ImplRepo_Service/ImplRepo_Service.mpc index 3aeb8550c35ec..3b77fa22bc1a8 100644 --- a/TAO/orbsvcs/ImplRepo_Service/ImplRepo_Service.mpc +++ b/TAO/orbsvcs/ImplRepo_Service/ImplRepo_Service.mpc @@ -89,6 +89,7 @@ project(ImR_Activator) : orbsvcslib, orbsvcs_output, install_lib, acexml, avoids ImR_Activator_i.cpp Activator_Options.cpp Activator_Loader.cpp + Activator_ORB_Runner.cpp } header_files { activator_export.h diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.cpp b/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.cpp index 6fcabe26717e6..3b9b233435668 100644 --- a/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.cpp +++ b/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.cpp @@ -9,14 +9,6 @@ using namespace CORBA; using namespace PortableServer; -DynServer::DynServer() -: n_(0) -{ -} - -DynServer::~DynServer() { -} - Long DynServer::get() { ACE_DEBUG((LM_DEBUG, "dynserver: get() %d\n", ++n_)); @@ -59,7 +51,7 @@ class DynServer_ORB_Runner : public ACE_Task_Base } }; -DynServer_Loader::DynServer_Loader() +DynServer_Loader::~DynServer_Loader () { } diff --git a/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h b/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h index 36fc88d390243..fc5944c679840 100644 --- a/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h +++ b/TAO/orbsvcs/examples/ImR/Combined_Service/dynserver.h @@ -10,14 +10,14 @@ #include // Trivial test corba object -class DynServer_Export DynServer - : public POA_test +class DynServer_Export DynServer : public POA_test { - int n_; public: - DynServer(); - virtual ~DynServer(); - virtual CORBA::Long get(); + DynServer () = default; + ~DynServer() override = default; + CORBA::Long get() override; +private: + int n_ {}; }; class DynServer_ORB_Runner; @@ -26,19 +26,20 @@ class DynServer_ORB_Runner; class DynServer_Export DynServer_Loader : public TAO_Object_Loader { public: - DynServer_Loader(); + DynServer_Loader() = default; + ~DynServer_Loader (); // spawns a thread to run an internal orb which has activated // a single DynServer servant. - virtual int init (int argc, ACE_TCHAR *argv[]); + int init (int argc, ACE_TCHAR *argv[]) override; // Allows the service configurator to shutdown the orb - virtual int fini (); + int fini () override; // Not supported - virtual CORBA::Object_ptr create_object (CORBA::ORB_ptr orb, - int argc, - ACE_TCHAR *argv[]); + CORBA::Object_ptr create_object (CORBA::ORB_ptr orb, + int argc, + ACE_TCHAR *argv[]) override; private: CORBA::ORB_var orb_; diff --git a/TAO/tests/MT_NoUpcall_Client_Leader/chatter.h b/TAO/tests/MT_NoUpcall_Client_Leader/chatter.h index e1b5c909ec522..828567aec3e16 100644 --- a/TAO/tests/MT_NoUpcall_Client_Leader/chatter.h +++ b/TAO/tests/MT_NoUpcall_Client_Leader/chatter.h @@ -10,13 +10,13 @@ class Chatter : public Worker { public: Chatter (CORBA::ORB_ptr orb, const ACE_TCHAR *ior, ACE_Condition& cond); - virtual int svc (); + int svc () override; int farewell (); long nrequests (); long nreplies (); public: - volatile long nrequests_; - volatile long nreplies_; + long nrequests_; + long nreplies_; private: const ACE_TCHAR* ior_; ACE_Condition& cond_;