--- projects/cms/source/ihost/ihost.c 2002/05/21 14:07:32 1.18 +++ projects/cms/source/ihost/ihost.c 2002/05/21 14:23:31 1.19 @@ -36,6 +36,7 @@ #define versionNo 0.8 #define RECONFIGURE_RETURN_CODE 2 #define UDP_MAX_PACKET_SIZE 8192 +#define PID_FILE "/var/tmp/.ihost.pid" #define logmessage(level, ...) do { cur_level = level; errf(__VA_ARGS__); } while (0) @@ -485,6 +486,7 @@ int main(int argc, char **argv){ extern int syslog_logging; extern int log_level; extern int cur_level; + FILE *f; log_level=1; cur_level=1; @@ -585,6 +587,20 @@ int main(int argc, char **argv){ /* Print out everything its doing */ log_level=LOG_DEBUG; break; + } + + logmessage(LOG_DEBUG,"Writing PID FILE"); + pid=getpid(); + if((f=fopen(PID_FILE,"w")) == NULL){ + logmessage(LOG_WARNING, "Failed to write PID file"); + }else{ + if((fprintf(f,"%d",(int)pid)) != sizeof(pid)){ + logmessage(LOG_WARNING, "Failed to write PID file"); + } + if((fclose(f))!=0){ + logmessage(LOG_ERR, "failed to close PID file"); + exit(1); + } } if(ihost_configure(&ihost_state)!=0){