From: Ethan G. <ega...@us...> - 2007-06-19 23:31:40
|
Update of /cvsroot/nagios/nagios/base In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv27106/base Modified Files: checks.c Log Message: Change to freshness expiration calculation Index: checks.c =================================================================== RCS file: /cvsroot/nagios/nagios/base/checks.c,v retrieving revision 1.130 retrieving revision 1.131 diff -C2 -d -r1.130 -r1.131 *** checks.c 9 Jun 2007 16:43:02 -0000 1.130 --- checks.c 19 Jun 2007 23:31:29 -0000 1.131 *************** *** 4,8 **** * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 05-25-2007 * * License: --- 4,8 ---- * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 06-19-2007 * * License: *************** *** 1829,1833 **** /* CHANGED 11/10/05 EG - program start is only used in expiration time calculation if > last check AND active checks are enabled, so active checks can become stale immediately upon program startup */ /* CHANGED 02/25/06 SG - passive checks also become stale, so remove dependence on active check logic */ ! if(temp_service->has_been_checked==FALSE || program_start>temp_service->last_check) expiration_time=(time_t)(program_start+freshness_threshold); else --- 1829,1836 ---- /* CHANGED 11/10/05 EG - program start is only used in expiration time calculation if > last check AND active checks are enabled, so active checks can become stale immediately upon program startup */ /* CHANGED 02/25/06 SG - passive checks also become stale, so remove dependence on active check logic */ ! if(temp_service->has_been_checked==FALSE) ! expiration_time=(time_t)(program_start+freshness_threshold); ! /* CHANGED 06/19/07 EG - Per Ton's suggestion (and user requests), only use program start time over last check if no specific threshold has been set by user. Otheriwse use it. Problems can occur if Nagios is restarted more frequently that freshness threshold intervals (services never go stale). */ ! else if(program_start>temp_service->last_check && temp_service->freshness_threshold==0) expiration_time=(time_t)(program_start+freshness_threshold); else *************** *** 2179,2183 **** /* calculate expiration time */ /* CHANGED 11/10/05 EG - program start is only used in expiration time calculation if > last check AND active checks are enabled, so active checks can become stale immediately upon program startup */ ! if(temp_host->has_been_checked==FALSE || (temp_host->checks_enabled==TRUE && (program_start>temp_host->last_check))) expiration_time=(time_t)(program_start+freshness_threshold); else --- 2182,2189 ---- /* calculate expiration time */ /* CHANGED 11/10/05 EG - program start is only used in expiration time calculation if > last check AND active checks are enabled, so active checks can become stale immediately upon program startup */ ! if(temp_host->has_been_checked==FALSE) ! expiration_time=(time_t)(program_start+freshness_threshold); ! /* CHANGED 06/19/07 EG - Per Ton's suggestion (and user requests), only use program start time over last check if no specific threshold has been set by user. Otheriwse use it. Problems can occur if Nagios is restarted more frequently that freshness threshold intervals (hosts never go stale). */ ! else if(temp_host->checks_enabled==TRUE && program_start>temp_host->last_check && temp_host->freshness_threshold==0) expiration_time=(time_t)(program_start+freshness_threshold); else |