Index: squid/src/helper.c diff -c squid/src/helper.c:1.34.2.12 squid/src/helper.c:1.34.2.13 *** squid/src/helper.c:1.34.2.12 Wed Jan 8 13:58:54 2003 --- squid/src/helper.c Fri Sep 12 14:30:16 2003 *************** *** 129,134 **** --- 129,135 ---- commSetNonBlocking(wfd); comm_add_close_handler(rfd, helperServerFree, srv); } + hlp->last_restart = squid_curtime; safe_free(shortname); safe_free(procname); helperKickQueue(hlp); *************** *** 214,219 **** --- 215,221 ---- commSetNonBlocking(wfd); comm_add_close_handler(rfd, helperStatefulServerFree, srv); } + hlp->last_restart = squid_curtime; safe_free(shortname); safe_free(procname); helperStatefulKickQueue(hlp); *************** *** 659,666 **** if (!srv->flags.shutdown) { debug(84, 0) ("WARNING: %s #%d (FD %d) exited\n", hlp->id_name, srv->index + 1, fd); ! if (hlp->n_running < hlp->n_to_start / 2) ! fatalf("Too few %s processes are running", hlp->id_name); } cbdataUnlock(srv->parent); cbdataFree(srv); --- 661,673 ---- if (!srv->flags.shutdown) { debug(84, 0) ("WARNING: %s #%d (FD %d) exited\n", hlp->id_name, srv->index + 1, fd); ! if (hlp->n_running <= hlp->n_to_start / 2) { ! debug(80, 0) ("Too few %s processes are running", hlp->id_name); ! if (hlp->last_restart> squid_curtime - 30) ! fatalf("The %s helpers are crashing too rapidly, need help!\n", hlp->id_name); ! debug(80, 0) ("Starting new helpers\n"); ! helperOpenServers(hlp); ! } } cbdataUnlock(srv->parent); cbdataFree(srv); *************** *** 692,699 **** if (!srv->flags.shutdown) { debug(84, 0) ("WARNING: %s #%d (FD %d) exited\n", hlp->id_name, srv->index + 1, fd); ! if (hlp->n_running < hlp->n_to_start / 2) ! fatalf("Too few %s processes are running", hlp->id_name); } if (srv->data != NULL) memPoolFree(hlp->datapool, srv->data); --- 699,711 ---- if (!srv->flags.shutdown) { debug(84, 0) ("WARNING: %s #%d (FD %d) exited\n", hlp->id_name, srv->index + 1, fd); ! if (hlp->n_running <= hlp->n_to_start / 2) { ! debug(80, 0) ("Too few %s processes are running", hlp->id_name); ! if (hlp->last_restart> squid_curtime - 30) ! fatalf("The %s helpers are crashing too rapidly, need help!\n", hlp->id_name); ! debug(80, 0) ("Starting new helpers\n"); ! helperStatefulOpenServers(hlp); ! } } if (srv->data != NULL) memPoolFree(hlp->datapool, srv->data); Index: squid/src/structs.h diff -c squid/src/structs.h:1.408.2.13 squid/src/structs.h:1.408.2.14 *** squid/src/structs.h:1.408.2.13 Wed Aug 6 07:49:03 2003 --- squid/src/structs.h Fri Sep 12 14:30:16 2003 *************** *** 2015,2020 **** --- 2015,2021 ---- int queue_size; int avg_svc_time; } stats; + time_t last_restart; }; struct _helper_stateful { *************** *** 2035,2040 **** --- 2036,2042 ---- int queue_size; int avg_svc_time; } stats; + time_t last_restart; }; struct _helper_server {

AltStyle によって変換されたページ (->オリジナル) /