--- projects/cms/source/ihost/ihost.c 2002/05/21 14:07:32 1.18 +++ projects/cms/source/ihost/ihost.c 2002/05/21 14:36:23 1.20 @@ -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) @@ -372,6 +373,7 @@ char *stat_grab(ihost_state_t *ihost_state, int counte char *stats[NUM_STATS]; char *xml_data=NULL; char *xml_data_p; + int xml_size=0; int x=0; logmessage(LOG_DEBUG,"get_cpu_stats"); @@ -392,27 +394,23 @@ char *stat_grab(ihost_state_t *ihost_state, int counte stats[7]=get_swap_stats(); logmessage(LOG_DEBUG,"get_user_stats"); stats[8]=get_user_stats(); + - for(;x%s", counter, ihost_state->my_fqdn, time(NULL), ihost_state->my_ip, ihost_state->key, xml_data); free(xml_data_p); @@ -485,6 +483,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 +584,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){