(file) Return to Executor.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/Executor.cpp between version 1.3 and 1.6

version 1.3, 2007/05/30 20:41:28 version 1.6, 2007/06/12 18:21:00
Line 200 
Line 200 
         AnonymousPipe*& readPipe,         AnonymousPipe*& readPipe,
         AnonymousPipe*& writePipe)         AnonymousPipe*& writePipe)
     {     {
         // Add logging here.  #if !defined(PEGASUS_ENABLE_PRIVILEGE_SEPARATION)
  
 #if defined(PEGASUS_OS_TYPE_WINDOWS) #if defined(PEGASUS_OS_TYPE_WINDOWS)
  
Line 278 
Line 278 
  
         return 0;         return 0;
  
 #elif defined(PEGASUS_OS_OS400)  
   
         // ATTN: no implementation for OS400.  
         return -1;  
   
 #else /* POSIX CASE FOLLOWS */ #else /* POSIX CASE FOLLOWS */
  
         AutoMutex autoMutex(_mutex);         AutoMutex autoMutex(_mutex);
Line 430 
Line 425 
  
         return 0;         return 0;
  
 #endif /* !defined(START_PROVIDER_AGENT) */  # endif /* POSIX CASE */
   
   #else /* PEGASUS_ENABLE_PRIVILEGE_SEPARATION is defined */
   
           // Out-of-Process providers are never started by the cimserver process
           // when Privilege Separation is enabled.
           return -1;
   
   #endif
     }     }
  
     virtual int daemonizeExecutor()     virtual int daemonizeExecutor()
Line 441 
Line 444 
     virtual int reapProviderAgent(     virtual int reapProviderAgent(
         int pid)         int pid)
     {     {
   #if !defined(PEGASUS_ENABLE_PRIVILEGE_SEPARATION)
   
         int status = 0;         int status = 0;
  
 #if defined(PEGASUS_HAS_SIGNALS) #if defined(PEGASUS_HAS_SIGNALS)
Line 449 
Line 454 
 #endif #endif
  
         return status;         return status;
   
   #else /* PEGASUS_ENABLE_PRIVILEGE_SEPARATION is defined */
   
           // Out-of-Process providers are never started by the cimserver process
           // when Privilege Separation is enabled.
           return -1;
   
   #endif
     }     }
  
     virtual int authenticatePassword(     virtual int authenticatePassword(
Line 1007 
Line 1020 
 //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
  
 static int _executorSock = -1; static int _executorSock = -1;
 static ExecutorImpl* _executorImpl = 0;  static AutoPtr<ExecutorImpl> _executorImpl;
 static Mutex _executorMutex; static Mutex _executorMutex;
  
 static ExecutorImpl* _getImpl() static ExecutorImpl* _getImpl()
Line 1015 
Line 1028 
     // Use the double-checked locking technique to avoid the overhead of a lock     // Use the double-checked locking technique to avoid the overhead of a lock
     // on every call.     // on every call.
  
     if (_executorImpl == 0)      if (_executorImpl.get() == 0)
     {     {
         AutoMutex autoMutex(_executorMutex);         AutoMutex autoMutex(_executorMutex);
  
         if (_executorImpl == 0)          if (_executorImpl.get() == 0)
         {         {
 #if defined(PEGASUS_ENABLE_PRIVILEGE_SEPARATION) #if defined(PEGASUS_ENABLE_PRIVILEGE_SEPARATION)
             if (_executorSock == -1)             if (_executorSock == -1)
                 _executorImpl = new ExecutorLoopbackImpl();                  _executorImpl.reset(new ExecutorLoopbackImpl());
             else             else
                 _executorImpl = new ExecutorSocketImpl(_executorSock);                  _executorImpl.reset(new ExecutorSocketImpl(_executorSock));
 #else #else
             _executorImpl = new ExecutorLoopbackImpl();              _executorImpl.reset(new ExecutorLoopbackImpl());
 #endif #endif
         }         }
     }     }
  
     return _executorImpl;      return _executorImpl.get();
 } }
  
 void Executor::setSock(int sock) void Executor::setSock(int sock)


Legend:
Removed from v.1.3  
changed lines
  Added in v.1.6

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2