BUG#: 5314
authormike <mike>
Wed, 9 Aug 2006 21:12:37 +0000 (21:12 +0000)
committermike <mike>
Wed, 9 Aug 2006 21:12:37 +0000 (21:12 +0000)
commit5a18765ce2202809a23e97e76c94cd72e847ef88
tree6cfaf85cf2f6f718d3af33817ebd55781105ed63
parente9d0eeb6b9f60b28101cdf3e98f23ac8cf77d6e5
BUG#: 5314
TITLE: IPC Refactoring

DESCRIPTION: This patch cleans up the IPC related classes. It (1) reorganizes
related classes into their own headers, (2) makes the mutex class recursive to
eliminate recursive lock exclusion logic, (3) reimplements condition variables,
renames dozens of global functions.
275 files changed:
mak/platform_ZOS_ZSERIES_IBM.mak
src/Clients/CGIClient/CGIClient.cpp
src/Clients/CLITestClients/CLI/CLI.cpp
src/Clients/MCCATestClient/MCCATestClient.cpp
src/Clients/TestClient/TestClient.cpp
src/Clients/g11ntest/g11ntest.cpp
src/Clients/wbemexec/WbemExecClient.cpp
src/Clients/wbemexec/WbemExecCommand.cpp
src/Pegasus/CQL/CQLParser.cpp
src/Pegasus/Client/CIMClientRep.cpp
src/Pegasus/Client/tests/MTTestClient/MTTestClient.cpp
src/Pegasus/Client/tests/MTTestClient/MTTestClient.h
src/Pegasus/Common/AnonymousPipe.cpp
src/Pegasus/Common/AnonymousPipePOSIX.cpp [moved from src/Pegasus/Common/AnonymousPipeUnix.cpp with 98% similarity]
src/Pegasus/Common/AnonymousPipeVms.cpp [deleted file]
src/Pegasus/Common/AsyncOpNode.h
src/Pegasus/Common/AsyncQueue.h
src/Pegasus/Common/AtomicInt.h
src/Pegasus/Common/AtomicInt_Generic.h [deleted file]
src/Pegasus/Common/AtomicInt_HPUX_IA64_ACC.h [deleted file]
src/Pegasus/Common/AtomicInt_HPUX_PARISC_ACC.h [deleted file]
src/Pegasus/Common/AtomicInt_LINUX_IA64_GNU.h [deleted file]
src/Pegasus/Common/AtomicInt_LINUX_IX86_GNU.h [deleted file]
src/Pegasus/Common/AtomicInt_LINUX_PPC_GNU.h [deleted file]
src/Pegasus/Common/AtomicInt_LINUX_X86_64_GNU.h [deleted file]
src/Pegasus/Common/AtomicInt_LINUX_XSCALE_GNU.h [deleted file]
src/Pegasus/Common/AtomicInt_VMS.h [deleted file]
src/Pegasus/Common/AtomicInt_WIN32_IX86_MSVC.h [deleted file]
src/Pegasus/Common/CIMDateTime.cpp
src/Pegasus/Common/CIMDateTimePOSIX.cpp [moved from src/Pegasus/Common/CIMDateTimeUnix.cpp with 70% similarity]
src/Pegasus/Common/CIMDateTimeVms.cpp [deleted file]
src/Pegasus/Common/CIMRepositoryBase.h
src/Pegasus/Common/Cimom.cpp
src/Pegasus/Common/Cimom.h
src/Pegasus/Common/CommonUTF.h
src/Pegasus/Common/Condition.cpp [new file with mode: 0644]
src/Pegasus/Common/Condition.h [moved from src/Pegasus/Common/SpinLock_SOLARIS_SPARC_GNU.h with 61% similarity]
src/Pegasus/Common/Dir.cpp
src/Pegasus/Common/DirNsk.cpp [deleted file]
src/Pegasus/Common/DirPOSIX.cpp [moved from src/Pegasus/Common/DirUnix.cpp with 100% similarity]
src/Pegasus/Common/DirVms.cpp [deleted file]
src/Pegasus/Common/DynamicLibrary.cpp
src/Pegasus/Common/EBCDIC_OS400.h [moved from src/Pegasus/Common/OS400ConvertChar.h with 86% similarity]
src/Pegasus/Common/FileSystem.h
src/Pegasus/Common/HTTPAcceptor.cpp
src/Pegasus/Common/HTTPAcceptor.h
src/Pegasus/Common/HTTPConnection.cpp
src/Pegasus/Common/HTTPConnector.cpp
src/Pegasus/Common/IPC.cpp [deleted file]
src/Pegasus/Common/IPC.h [deleted file]
src/Pegasus/Common/IPCAix.h [deleted file]
src/Pegasus/Common/IPCExceptions.h [moved from src/Pegasus/Common/SpinLock_LINUX_IX86_GNU.h with 51% similarity]
src/Pegasus/Common/IPCHpux.h [deleted file]
src/Pegasus/Common/IPCNsk.cpp [deleted file]
src/Pegasus/Common/IPCOs400.h [deleted file]
src/Pegasus/Common/IPCSun.h [deleted file]
src/Pegasus/Common/IPCTru64.h [deleted file]
src/Pegasus/Common/IPCTypes.h [deleted file]
src/Pegasus/Common/IPCUnix.cpp [deleted file]
src/Pegasus/Common/IPCUnix.h [deleted file]
src/Pegasus/Common/IPCUnix_inline.h [deleted file]
src/Pegasus/Common/IPCVms.cpp [deleted file]
src/Pegasus/Common/IPCVms.h [deleted file]
src/Pegasus/Common/IPCVms_inline.h [deleted file]
src/Pegasus/Common/IPCWindows.cpp [deleted file]
src/Pegasus/Common/IPCWindows.h [deleted file]
src/Pegasus/Common/IPCWindows_inline.h [deleted file]
src/Pegasus/Common/IPCzOS.h [deleted file]
src/Pegasus/Common/LanguageParser.cpp
src/Pegasus/Common/List.h
src/Pegasus/Common/Makefile
src/Pegasus/Common/Message.h
src/Pegasus/Common/MessageLoader.cpp
src/Pegasus/Common/MessageQueue.cpp
src/Pegasus/Common/MessageQueue.h
src/Pegasus/Common/MessageQueueService.cpp
src/Pegasus/Common/MessageQueueService.h
src/Pegasus/Common/ModuleController.cpp
src/Pegasus/Common/ModuleController.h
src/Pegasus/Common/Monitor.cpp
src/Pegasus/Common/Monitor.h
src/Pegasus/Common/Mutex.cpp
src/Pegasus/Common/Mutex.h
src/Pegasus/Common/Once.cpp [moved from src/Pegasus/Common/CIMDateTimeNsk.cpp with 83% similarity]
src/Pegasus/Common/Once.h [moved from src/Pegasus/Common/RecursiveMutex.h with 65% similarity]
src/Pegasus/Common/Platform_AIX_RS_IBMCXX.h
src/Pegasus/Common/Platform_DARWIN_PPC_GNU.h
src/Pegasus/Common/Platform_HPUX_IA64_ACC.h
src/Pegasus/Common/Platform_HPUX_PARISC_ACC.h
src/Pegasus/Common/Platform_LINUX_IA64_GNU.h
src/Pegasus/Common/Platform_LINUX_IX86_GNU.h
src/Pegasus/Common/Platform_LINUX_PPC64_GNU.h
src/Pegasus/Common/Platform_LINUX_PPC_GNU.h
src/Pegasus/Common/Platform_LINUX_X86_64_GNU.h
src/Pegasus/Common/Platform_LINUX_XSCALE_GNU.h
src/Pegasus/Common/Platform_LINUX_ZSERIES64_GNU.h
src/Pegasus/Common/Platform_LINUX_ZSERIES_GNU.h
src/Pegasus/Common/Platform_NSK_NONSTOP_NMCPLUS.h
src/Pegasus/Common/Platform_OS400_ISERIES_IBM.h
src/Pegasus/Common/Platform_SOLARIS_SPARC_CC.h
src/Pegasus/Common/Platform_SOLARIS_SPARC_GNU.h
src/Pegasus/Common/Platform_TRU64_ALPHA_DECCXX.h
src/Pegasus/Common/Platform_VMS.h [moved from src/Pegasus/Common/ConfigVms.h with 96% similarity]
src/Pegasus/Common/Platform_VMS_ALPHA_DECCXX.h
src/Pegasus/Common/Platform_VMS_IA64_DECCXX.h
src/Pegasus/Common/Platform_WIN32_IX86_MSVC.h
src/Pegasus/Common/Platform_ZOS_ZSERIES_IBM.h
src/Pegasus/Common/ReadWriteSem.cpp [new file with mode: 0644]
src/Pegasus/Common/ReadWriteSem.h [new file with mode: 0644]
src/Pegasus/Common/RecursiveMutex.cpp [deleted file]
src/Pegasus/Common/ResponseHandler.cpp
src/Pegasus/Common/SSLContext.cpp
src/Pegasus/Common/SSLContextManager.h
src/Pegasus/Common/SSLContextRep.h
src/Pegasus/Common/Semaphore.cpp [new file with mode: 0644]
src/Pegasus/Common/Semaphore.h [new file with mode: 0644]
src/Pegasus/Common/Sharable.h
src/Pegasus/Common/Signal.cpp
src/Pegasus/Common/Signal.h
src/Pegasus/Common/Socket.h
src/Pegasus/Common/SocketzOS_inline.h [deleted file]
src/Pegasus/Common/SpinLock.cpp
src/Pegasus/Common/SpinLock.h
src/Pegasus/Common/SpinLock_Generic.h [deleted file]
src/Pegasus/Common/SpinLock_HPUX_IA64_ACC.h [deleted file]
src/Pegasus/Common/SpinLock_HPUX_PARISC_ACC.h [deleted file]
src/Pegasus/Common/SpinLock_POSIX.h [deleted file]
src/Pegasus/Common/StatisticalData.cpp
src/Pegasus/Common/StatisticalData.h
src/Pegasus/Common/System.cpp
src/Pegasus/Common/SystemNsk.cpp [deleted file]
src/Pegasus/Common/SystemPOSIX.cpp [moved from src/Pegasus/Common/SystemUnix.cpp with 66% similarity]
src/Pegasus/Common/SystemVms.cpp [deleted file]
src/Pegasus/Common/SystemWindows.cpp
src/Pegasus/Common/TLS.cpp
src/Pegasus/Common/TLS.h
src/Pegasus/Common/TSDKey.cpp [moved from src/Pegasus/Common/IPCzOS.cpp with 92% similarity, mode: 0644]
src/Pegasus/Common/TSDKey.h [new file with mode: 0644]
src/Pegasus/Common/Thread.cpp
src/Pegasus/Common/Thread.h
src/Pegasus/Common/ThreadNsk.cpp [deleted file]
src/Pegasus/Common/ThreadPool.cpp [new file with mode: 0644]
src/Pegasus/Common/ThreadPool.h [new file with mode: 0644]
src/Pegasus/Common/ThreadUnix.cpp [deleted file]
src/Pegasus/Common/ThreadUnix_inline.h [deleted file]
src/Pegasus/Common/ThreadVms.cpp [deleted file]
src/Pegasus/Common/ThreadVms_inline.h [deleted file]
src/Pegasus/Common/ThreadWindows_inline.h [deleted file]
src/Pegasus/Common/Threads.cpp [new file with mode: 0644]
src/Pegasus/Common/Threads.h [new file with mode: 0644]
src/Pegasus/Common/ThreadzOS_inline.h [deleted file]
src/Pegasus/Common/Time.cpp [moved from src/Pegasus/Common/AtomicInt_ZOS_ZSERIES_IBM.h with 54% similarity]
src/Pegasus/Common/Time.h [moved from src/Pegasus/Common/ThreadWindows.cpp with 77% similarity]
src/Pegasus/Common/TraceFileHandler.cpp
src/Pegasus/Common/TraceFileHandlerNsk.cpp [deleted file]
src/Pegasus/Common/TraceFileHandlerPOSIX.cpp [moved from src/Pegasus/Common/TraceFileHandlerUnix.cpp with 60% similarity]
src/Pegasus/Common/TraceFileHandlerVms.cpp [deleted file]
src/Pegasus/Common/Tracer.cpp
src/Pegasus/Common/XmlReader.cpp
src/Pegasus/Common/tests/AsyncQueue/TestAsyncQueue.cpp
src/Pegasus/Common/tests/AtomicInt/AtomicInt.cpp
src/Pegasus/Common/tests/IPC/IPC.cpp
src/Pegasus/Common/tests/List/TestList.cpp
src/Pegasus/Common/tests/Makefile
src/Pegasus/Common/tests/MessageQueueService/MessageQueueService.cpp
src/Pegasus/Common/tests/ModuleController/ModuleController.cpp
src/Pegasus/Common/tests/SpinLock/SpinLock.cpp
src/Pegasus/Common/tests/Thread/Thread.cpp
src/Pegasus/Common/tests/ThreadPool/ThreadPool.cpp
src/Pegasus/Common/tests/async_callback/async_callback.cpp
src/Pegasus/ControlProviders/InteropProvider/InteropProvider.cpp
src/Pegasus/DynListener/ConsumerManager.cpp
src/Pegasus/DynListener/ConsumerManager.h
src/Pegasus/DynListener/ConsumerModule.cpp
src/Pegasus/DynListener/ConsumerModule.h
src/Pegasus/DynListener/DynamicConsumer.cpp
src/Pegasus/DynListener/DynamicConsumer.h
src/Pegasus/DynListener/DynamicConsumerFacade.h
src/Pegasus/DynListener/ListenerService.cpp
src/Pegasus/DynListener/ListenerService.h
src/Pegasus/DynListener/Service/cimlistener.cpp
src/Pegasus/ExportClient/CIMExportClient.cpp
src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.h
src/Pegasus/Handler/snmpIndicationHandler/tests/testclient/testSnmpHandler.cpp
src/Pegasus/IndicationService/IndicationService.cpp
src/Pegasus/IndicationService/IndicationService.h
src/Pegasus/IndicationService/SubscriptionTable.h
src/Pegasus/Listener/CIMListener.cpp
src/Pegasus/Listener/CIMListenerIndicationDispatcher.cpp
src/Pegasus/Provider/CIMOMHandleRep.cpp
src/Pegasus/Provider/CIMOMHandleRep.h
src/Pegasus/Provider/ClientCIMOMHandleRep.cpp
src/Pegasus/Provider/ClientCIMOMHandleRep.h
src/Pegasus/Provider/InternalCIMOMHandleRep.cpp
src/Pegasus/Provider/InternalCIMOMHandleRep.h
src/Pegasus/ProviderManager2/BasicProviderManagerRouter.h
src/Pegasus/ProviderManager2/CMPI/CMPILocalProviderManager.cpp
src/Pegasus/ProviderManager2/CMPI/CMPILocalProviderManager.h
src/Pegasus/ProviderManager2/CMPI/CMPIProvider.cpp
src/Pegasus/ProviderManager2/CMPI/CMPIProvider.h
src/Pegasus/ProviderManager2/CMPI/CMPIProviderModule.h
src/Pegasus/ProviderManager2/CMPI/CMPIResolverModule.h
src/Pegasus/ProviderManager2/CMPI/CMPI_Broker.h
src/Pegasus/ProviderManager2/CMPI/CMPI_BrokerExt.cpp
src/Pegasus/ProviderManager2/CMPI/CMPI_DateTime.cpp
src/Pegasus/ProviderManager2/CMPI/CMPI_Instance.cpp
src/Pegasus/ProviderManager2/CMPI/CMPI_ThreadContext.cpp
src/Pegasus/ProviderManager2/CMPI/CMPI_ThreadContext.h
src/Pegasus/ProviderManager2/Default/DefaultProviderManager.h
src/Pegasus/ProviderManager2/Default/LocalProviderManager.cpp
src/Pegasus/ProviderManager2/Default/LocalProviderManager.h
src/Pegasus/ProviderManager2/Default/Provider.cpp
src/Pegasus/ProviderManager2/Default/Provider.h
src/Pegasus/ProviderManager2/Default/ProviderFacade.h
src/Pegasus/ProviderManager2/Default/ProviderModule.h
src/Pegasus/ProviderManager2/JMPI/JMPILocalProviderManager.cpp
src/Pegasus/ProviderManager2/JMPI/JMPILocalProviderManager.h
src/Pegasus/ProviderManager2/JMPI/JMPIProvider.h
src/Pegasus/ProviderManager2/JMPI/JMPIProviderModule.h
src/Pegasus/ProviderManager2/OOPProviderManagerRouter.cpp
src/Pegasus/ProviderManager2/OOPProviderManagerRouter.h
src/Pegasus/ProviderManager2/ProviderAgent/ProviderAgent.cpp
src/Pegasus/ProviderManager2/ProviderAgent/ProviderAgent.h
src/Pegasus/ProviderManager2/ProviderAgent/cimprovagt.cpp
src/Pegasus/ProviderManager2/ProviderManagerService.cpp
src/Pegasus/ProviderManager2/ProviderManagerService.h
src/Pegasus/Query/QueryExpression/tests/QueryExpression.cpp
src/Pegasus/Repository/AssocClassCache.h
src/Pegasus/Repository/AssocClassTable.cpp
src/Pegasus/Repository/AssocClassTable.h
src/Pegasus/Repository/CIMRepository.cpp
src/Pegasus/Repository/CIMRepository.h
src/Pegasus/Repository/ObjectCache.h
src/Pegasus/Security/Authentication/LocalAuthFile.cpp
src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h
src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp
src/Pegasus/Security/UserManager/UserFileHandler.cpp
src/Pegasus/Security/UserManager/UserFileHandler.h
src/Pegasus/Server/BinaryMessageHandler.cpp
src/Pegasus/Server/BinaryMessageHandler.h
src/Pegasus/Server/CIMOperationRequestDispatcher.h
src/Pegasus/Server/CIMServer.cpp
src/Pegasus/Server/ProviderRegistrationManager/ProviderRegistrationManager.cpp
src/Pegasus/Server/ProviderRegistrationManager/ProviderRegistrationManager.h
src/Pegasus/Server/ShutdownProvider.cpp
src/Pegasus/Server/ShutdownProvider.h
src/Pegasus/Server/ShutdownService.cpp
src/Pegasus/Server/reg_table.cpp
src/Pegasus/Server/reg_table.h
src/Pegasus/WQL/WQLParser.cpp
src/Pegasus/_control_service/ControlService.h
src/Providers/ManagedSystem/OperatingSystem/OperatingSystem_AIX.cpp
src/Providers/ManagedSystem/OperatingSystem/OperatingSystem_DARWIN.cpp
src/Providers/ManagedSystem/OperatingSystem/OperatingSystem_HPUX.cpp
src/Providers/ManagedSystem/OperatingSystem/OperatingSystem_Solaris.cpp
src/Providers/TestProviders/ChunkingStressProvider/TestChunkingStressProviderASSOC.cpp
src/Providers/TestProviders/ChunkingStressProvider/TestChunkingStressProviderASSOC.h
src/Providers/TestProviders/ChunkingStressProvider/testclient/TestChunkingStressProviderClient.cpp
src/Providers/TestProviders/ClientProvider/ClientProvider.cpp
src/Providers/TestProviders/ClientProvider/ClientProvider.h
src/Providers/TestProviders/DynamicIndicationProvider/DynamicIndicationProvider.h
src/Providers/TestProviders/EmbeddedInstanceProvider/testClient/EmbeddedInstanceTest.cpp
src/Providers/TestProviders/IndicationStressTestProvider/testclient/IndicationStressTest.cpp
src/Providers/TestProviders/IndicationStressTestProvider/testconsumer/IndicationStressTestConsumer.cpp
src/Providers/sample/LocalizedProvider/LocalizedProvider.cpp
src/Providers/slp/SLPProvider.cpp
src/Server/cimserver.cpp
src/Service/ServerProcessUnix.cpp
src/WMIMapper/PegServer/CIMOperationRequestDispatcher.h
src/WMIMapper/PegServer/CIMServer.cpp
src/WMIMapper/WMIServer/cimserver.cpp
src/slp/slp_agent/peg_slp_agent.cpp
src/slp/slp_agent/peg_slp_agent.h
src/slp/tests/srv_reg/srv_reg.cpp
test/TestProviders/TimingTests/TimingProvider.cpp