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

 1 martin 1.7 //%LICENSE////////////////////////////////////////////////////////////////
 2 martin 1.8 //
 3 martin 1.7 // Licensed to The Open Group (TOG) under one or more contributor license
 4            // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
 5            // this work for additional information regarding copyright ownership.
 6            // Each contributor licenses this file to you under the OpenPegasus Open
 7            // Source License; you may not use this file except in compliance with the
 8            // License.
 9 martin 1.8 //
10 martin 1.7 // Permission is hereby granted, free of charge, to any person obtaining a
11            // copy of this software and associated documentation files (the "Software"),
12            // to deal in the Software without restriction, including without limitation
13            // the rights to use, copy, modify, merge, publish, distribute, sublicense,
14            // and/or sell copies of the Software, and to permit persons to whom the
15            // Software is furnished to do so, subject to the following conditions:
16 martin 1.8 //
17 martin 1.7 // The above copyright notice and this permission notice shall be included
18            // in all copies or substantial portions of the Software.
19 martin 1.8 //
20 martin 1.7 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
21 martin 1.8 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 martin 1.7 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23            // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
24            // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25            // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26            // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 martin 1.8 //
28 martin 1.7 //////////////////////////////////////////////////////////////////////////
29 h.sterling 1.1 //
30                // Author: Sean Keenan (sean.keenan@hp.com)
31                //
32                //%/////////////////////////////////////////////////////////////////////////////
33                
34                #include <sys/types.h>
35                #include <sys/stat.h>
36                #include <fcntl.h>
37                #include <unistd.h>
38                #include <Pegasus/Common/Signal.h>
39 kumpf      1.6 
40 h.sterling 1.1 #define MAX_WAIT_TIME 25
41                
42                PEGASUS_USING_PEGASUS;
43                PEGASUS_USING_STD;
44                
45                Boolean handleSigUsr1 = false;
46                
47                String newPortNumber = "";
48                String pegasusTrace  = "";
49                
50                
51                void sigUsr1Handler(int s_n, PEGASUS_SIGINFO_T * s_info, void * sig)
52                {
53                    handleSigUsr1 = true;
54                }
55                
56                //constructor
57                ServerProcess::ServerProcess() {}
58                
59                //destructor
60                ServerProcess::~ServerProcess() {}
61 h.sterling 1.1 
62                // no-ops
63                int ServerProcess::cimserver_fork(void) { return 0; }
64                void ServerProcess::cimserver_set_process(void* p) {}
65                void ServerProcess::cimserver_exitRC(int rc) {}
66                int ServerProcess::cimserver_initialize(void) { return 1; }
67                int ServerProcess::cimserver_wait(void) { return 1; }
68                String ServerProcess::getHome(void) { return String::EMPTY; }
69                
70                // notify parent process to terminate so user knows that cimserver
71                // is ready to serve CIM requests.
72                void ServerProcess::notify_parent(int id)
73                {
74                  pid_t ppid = getppid();
75                  if (id)
76                   kill(ppid, SIGTERM);
77                  else
78 martin     1.3    kill(ppid, PEGASUS_SIGUSR1);
79 h.sterling 1.1 }
80                
81                // Platform specific run
82 kumpf      1.4 int ServerProcess::platform_run(
83                    int argc,
84                    char** argv,
85                    Boolean shutdownOption,
86                    Boolean debugOutputOption)
87 h.sterling 1.1 {
88                //  newPortNumber = "";
89                //  pegasusTrace = "";
90 kumpf      1.4     return cimserver_run(argc, argv, shutdownOption, debugOutputOption);
91 h.sterling 1.1 }
92                
93                

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2