From: Ethan G. <ega...@us...> - 2008-12-12 22:23:05
|
Update of /cvsroot/nagios/nagios/base In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4298/base Modified Files: utils.c Log Message: Fix to update wobble timing logic Index: utils.c =================================================================== RCS file: /cvsroot/nagios/nagios/base/utils.c,v retrieving revision 1.233 retrieving revision 1.234 diff -C2 -d -r1.233 -r1.234 *** utils.c 8 Dec 2008 17:30:27 -0000 1.233 --- utils.c 12 Dec 2008 22:22:59 -0000 1.234 *************** *** 4,8 **** * * Copyright (c) 1999-2008 Ethan Galstad (ega...@na...) ! * Last Modified: 12-04-2008 * * License: --- 4,8 ---- * * Copyright (c) 1999-2008 Ethan Galstad (ega...@na...) ! * Last Modified: 12-12-2008 * * License: *************** *** 4310,4313 **** --- 4310,4314 ---- time_t next_check=0L; unsigned int rand_seed=0; + int randnum=0; time(¤t_time); *************** *** 4346,4353 **** /*printf("RESCHEDULING...\n");*/ /* we didn't do an update, so calculate next possible update time */ if(do_check==FALSE){ next_check=last_update_check+BASE_UPDATE_CHECK_INTERVAL; ! next_check+=(unsigned long)((rand()*UPDATE_CHECK_INTERVAL_WOBBLE) / RAND_MAX); } --- 4347,4364 ---- /*printf("RESCHEDULING...\n");*/ + randnum=rand(); + /* + printf("RAND: %d\n",randnum); + printf("RANDMAX: %d\n",RAND_MAX); + printf("UCIW: %d\n",UPDATE_CHECK_INTERVAL_WOBBLE); + printf("MULT: %f\n",(float)randnum/RAND_MAX); + */ + + + /* we didn't do an update, so calculate next possible update time */ if(do_check==FALSE){ next_check=last_update_check+BASE_UPDATE_CHECK_INTERVAL; ! next_check=next_check+(unsigned long)( ((float)randnum/RAND_MAX) * UPDATE_CHECK_INTERVAL_WOBBLE); } *************** *** 4358,4362 **** if(api_result==OK){ next_check=current_time+BASE_UPDATE_CHECK_INTERVAL; ! next_check+=(unsigned long)((rand()*UPDATE_CHECK_INTERVAL_WOBBLE) / RAND_MAX); } --- 4369,4373 ---- if(api_result==OK){ next_check=current_time+BASE_UPDATE_CHECK_INTERVAL; ! next_check+=(unsigned long)( ((float)randnum/RAND_MAX) * UPDATE_CHECK_INTERVAL_WOBBLE); } *************** *** 4364,4372 **** else{ next_check=current_time+BASE_UPDATE_CHECK_RETRY_INTERVAL; ! next_check+=(unsigned long)((rand()*UPDATE_CHECK_RETRY_INTERVAL_WOBBLE) / RAND_MAX); } } ! /* make sure next check isn't in the past - if it is, schedule a check in 1 minutes */ if(next_check<current_time) next_check=current_time+60; --- 4375,4383 ---- else{ next_check=current_time+BASE_UPDATE_CHECK_RETRY_INTERVAL; ! next_check+=(unsigned long)( ((float)randnum/RAND_MAX) * UPDATE_CHECK_RETRY_INTERVAL_WOBBLE); } } ! /* make sure next check isn't in the past - if it is, schedule a check in 1 minute */ if(next_check<current_time) next_check=current_time+60; |