(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.8.2.1 and 1.9

version 1.8.2.1, 2006/08/18 17:40:39 version 1.9, 2006/06/23 18:14:28
Line 61 
Line 61 
 Boolean handleSigUsr1 = false; Boolean handleSigUsr1 = false;
 Boolean graveError = false; Boolean graveError = false;
  
 pid_t server_pid;  // the current pid is the server pid. After fork it is overwritten.
   pid_t server_pid = getpid();
 Uint32 parentPid = 0; Uint32 parentPid = 0;
  
 void sigUsr1Handler(int s_n, PEGASUS_SIGINFO_T * s_info, void * sig) void sigUsr1Handler(int s_n, PEGASUS_SIGINFO_T * s_info, void * sig)
Line 85 
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 153 
Line 129 
   }   }
  
   setsid();   setsid();
   umask(S_IRWXG | S_IRWXO );    umask(0);
   
   // 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.8.2.1  
changed lines
  Added in v.1.9

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2