Index: modules/fcgid/fcgid_spawn_ctl.c =================================================================== --- modules/fcgid/fcgid_spawn_ctl.c (revision 1311981) +++ modules/fcgid/fcgid_spawn_ctl.c (working copy) @@ -107,10 +107,13 @@ current_node->process_counter--; } - /* Decrease the score based on elapsed time */ - current_node->score -= - sconf->time_score * - (int)(apr_time_sec(now) - apr_time_sec(current_node->last_stat_time)); + /* Skip score adjustment if clock went backwards */ + if( apr_time_sec(now) > apr_time_sec(current_node->last_stat_time) ) { + /* Decrease the score based on elapsed time */ + current_node->score -= + sconf->time_score * + (int)(apr_time_sec(now) - apr_time_sec(current_node->last_stat_time)); + } /* Make score reasonable */ if (current_node->score < 0)