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

Diff for /pegasus/src/Service/ServerProcessVms.cpp between version 1.5 and 1.6

version 1.5, 2006/01/30 16:19:34 version 1.6, 2007/05/08 18:30:52
Line 38 
Line 38 
 #include <fcntl.h> #include <fcntl.h>
 #include <unistd.h> #include <unistd.h>
 #include <Pegasus/Common/Signal.h> #include <Pegasus/Common/Signal.h>
   
 #define MAX_WAIT_TIME 25 #define MAX_WAIT_TIME 25
  
 PEGASUS_USING_PEGASUS; PEGASUS_USING_PEGASUS;
Line 49 
Line 50 
 String pegasusTrace  = ""; String pegasusTrace  = "";
  
  
 pid_t server_pid;  
   
 void sigUsr1Handler(int s_n, PEGASUS_SIGINFO_T * s_info, void * sig) void sigUsr1Handler(int s_n, PEGASUS_SIGINFO_T * s_info, void * sig)
 { {
     handleSigUsr1 = true;     handleSigUsr1 = true;
Line 65 
Line 64 
 // no-ops // no-ops
 int ServerProcess::cimserver_fork(void) { return 0; } int ServerProcess::cimserver_fork(void) { return 0; }
 void ServerProcess::cimserver_set_process(void* p) {} void ServerProcess::cimserver_set_process(void* p) {}
 long ServerProcess::get_server_pid(void) { return 0; }  
 void ServerProcess::set_parent_pid(int pid) {}  
 int ServerProcess::get_proc(int pid) { return 0; }  
 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; }
 int ServerProcess::cimserver_wait(void) { return 1; } int ServerProcess::cimserver_wait(void) { return 1; }
 String ServerProcess::getHome(void) { return String::EMPTY; } String ServerProcess::getHome(void) { return String::EMPTY; }
  
 Boolean ServerProcess::isCIMServerRunning(void)  
 {  
   FILE *pid_file;  
   pid_t pid = 0;  
   
   // open the file containing the CIMServer process ID  
   pid_file = fopen(getPIDFileName(), "r");  
   if (!pid_file)  
   {  
       return false;  
   }  
   
   // get the pid from the file  
   fscanf(pid_file, "%d\n", &pid);  
   
   fclose(pid_file);  
   
   if (pid == 0)  
   {  
      return false;  
   }  
   
   //  
   // check to see if cimserver process is alive  
   //  
   return false;  
 }  
   
 int ServerProcess::cimserver_kill(int id)  
 {  
   FILE *pid_file;  
   pid_t pid = 0;  
   
   // open the file containing the CIMServer process ID  
   pid_file = fopen(getPIDFileName(), "r");  
   if (!pid_file)  
   {  
       return (-1);  
   }  
   
   // get the pid from the file  
   fscanf(pid_file, "%d\n", &pid);  
   
   fclose(pid_file);  
   
   if (pid == 0)  
   {  
      System::removeFile(getPIDFileName());  
      return (-1);  
   }  
   
   //  
   // kill the process if it is still alive  
   //  
   // remove the file  
   System::removeFile(getPIDFileName());  
   
   return(0);  
 }  
 // notify parent process to terminate so user knows that cimserver // notify parent process to terminate so user knows that cimserver
 // is ready to serve CIM requests. // is ready to serve CIM requests.
 void ServerProcess::notify_parent(int id) void ServerProcess::notify_parent(int id)


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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2