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

Diff for /pegasus/src/Service/ServerProcessUnix.cpp between version 1.9.4.1 and 1.10

version 1.9.4.1, 2006/07/27 23:12:18 version 1.10, 2006/07/27 08:46:38
Line 43 
Line 43 
 #include <fcntl.h> #include <fcntl.h>
 #include <unistd.h> #include <unistd.h>
 #include <Pegasus/Common/Signal.h> #include <Pegasus/Common/Signal.h>
 #include <Pegasus/Common/AutoPtr.h>  
 #if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM) #if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
 #include <sys/ps.h> #include <sys/ps.h>
 #endif #endif
Line 87 
Line 86 
 void ServerProcess::cimserver_set_process(void* p) {} void ServerProcess::cimserver_set_process(void* p) {}
 void ServerProcess::cimserver_exitRC(int rc) {} void ServerProcess::cimserver_exitRC(int rc) {}
 int ServerProcess::cimserver_initialize(void) { return 1; } int ServerProcess::cimserver_initialize(void) { return 1; }
   
   // for all OSes supporting signals provide a cimserver_wait function
   // that waits to be awakened by signal PEGASUS_SIGTERM or PEGASUS_SIGHUP
   #ifdef PEGASUS_HAS_SIGNALS
   int ServerProcess::cimserver_wait(void)
   {
       int sig = -1;
       sigset_t set;
       sigemptyset(&set);
       sigaddset(&set, PEGASUS_SIGTERM);
       sigaddset(&set, PEGASUS_SIGHUP);
       errno = 0;
       do
       {
   #if defined(PEGASUS_OS_ZOS) || defined(PEGASUS_OS_SOLARIS)
           sig = sigwait(&set);
   #else // else for platforms = LINUX, HPUX, AIX
           sigwait(&set, &sig);
   #endif
       } while (errno == EINTR);
       return sig;
   }
   #else
 int ServerProcess::cimserver_wait(void) { return 1; } int ServerProcess::cimserver_wait(void) { return 1; }
   #endif
   
 String ServerProcess::getHome(void) { return String::EMPTY; } String ServerProcess::getHome(void) { return String::EMPTY; }
  
 // daemon_init , RW Stevens, "Advance UNIX Programming" // daemon_init , RW Stevens, "Advance UNIX Programming"
Line 130 
Line 154 
   }   }
  
   setsid();   setsid();
   umask(0);    umask(S_IRWXG | S_IRWXO );
   
     // spawned daemon process doesn't need the old signal handlers of its parent
     getSigHandle()->deactivate(PEGASUS_SIGUSR1);
     getSigHandle()->deactivate(SIGTERM);
  
   // get the pid of the cimserver process   // get the pid of the cimserver process
   server_pid = getpid();   server_pid = getpid();


Legend:
Removed from v.1.9.4.1  
changed lines
  Added in v.1.10

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2