From: wessels <> Date: Tue, 26 May 1998 23:37:23 +0000 (+0000) Subject: event times with 0.0 can "spin" the event queue until it runs X-Git-Tag: SQUID_3_0_PRE1~3255 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=647ce46c512653609b561347775db1454cc4cd9c;p=thirdparty%2Fsquid.git event times with 0.0 can "spin" the event queue until it runs to completion. require a small, non-zero event time so that other descriptors get a chance too --- diff --git a/src/event.cc b/src/event.cc index 1a9a34fd22..b01d5e03c7 100644 --- a/src/event.cc +++ b/src/event.cc @@ -1,6 +1,6 @@ /* - * $Id: event.cc,v 1.17 1998/05/15 15:16:20 wessels Exp $ + * $Id: event.cc,v 1.18 1998/05/26 17:37:23 wessels Exp $ * * DEBUG: section 41 Event Processing * AUTHOR: Henrik Nordstrom @@ -49,6 +49,7 @@ eventAdd(const char *name, EVH * func, void *arg, double when, int weight) { struct ev_entry *event = xcalloc(1, sizeof(struct ev_entry)); struct ev_entry **E; + assert(when > 0.0); event->func = func; event->arg = arg; event->name = name; diff --git a/src/neighbors.cc b/src/neighbors.cc index 10be327967..66fbe49887 100644 --- a/src/neighbors.cc +++ b/src/neighbors.cc @@ -1,6 +1,6 @@ /* - * $Id: neighbors.cc,v 1.215 1998/05/22 23:44:17 wessels Exp $ + * $Id: neighbors.cc,v 1.216 1998/05/26 17:37:24 wessels Exp $ * * DEBUG: section 15 Neighbor Routines * AUTHOR: Harvest Derived @@ -579,7 +579,7 @@ peerDigestLookup(peer * p, request_t * request, StoreEntry * entry) debug(15, 5) ("peerDigestLookup: !initialized\n"); if (!EBIT_TEST(p->digest.flags, PD_INIT_PENDING)) { EBIT_SET(p->digest.flags, PD_INIT_PENDING); - eventAdd("peerDigestInit", peerDigestInit, p, 0.0, 1); + eventAdd("peerDigestInit", peerDigestInit, p, 0.001, 1); } return LOOKUP_NONE; } else { diff --git a/src/store_client.cc b/src/store_client.cc index 86366c2244..b61077ad93 100644 --- a/src/store_client.cc +++ b/src/store_client.cc @@ -140,7 +140,7 @@ storeClientCopy2(StoreEntry * e, store_client * sc) if (sc->flags.store_copying) { sc->flags.copy_event_pending = 1; debug(20, 3) ("storeClientCopy: Queueing storeClientCopyEvent()\n"); - eventAdd("storeClientCopyEvent", storeClientCopyEvent, sc, 0.0, 0); + eventAdd("storeClientCopyEvent", storeClientCopyEvent, sc, 0.001, 0); return; } cbdataLock(sc); /* ick, prevent sc from getting freed */ diff --git a/src/store_digest.cc b/src/store_digest.cc index 452d299e3d..ef2c3f3b40 100644 --- a/src/store_digest.cc +++ b/src/store_digest.cc @@ -1,5 +1,5 @@ /* - * $Id: store_digest.cc,v 1.17 1998/05/15 15:16:37 wessels Exp $ + * $Id: store_digest.cc,v 1.18 1998/05/26 17:37:26 wessels Exp $ * * DEBUG: section 71 Store Digest Manager * AUTHOR: Alex Rousskov @@ -200,7 +200,7 @@ storeDigestRebuildResume() if (!storeDigestResize()) cacheDigestClear(store_digest); /* not clean()! */ memset(&sd_stats, 0, sizeof(sd_stats)); - eventAdd("storeDigestRebuildStep", storeDigestRebuildStep, NULL, 0.0, 1); + eventAdd("storeDigestRebuildStep", storeDigestRebuildStep, NULL, 0.001, 1); } /* finishes swap out sequence for the digest; schedules next rebuild */ @@ -238,7 +238,7 @@ storeDigestRebuildStep(void *datanotused) if (sd_state.rebuild_offset >= store_hash_buckets) storeDigestRebuildFinish(); else - eventAdd("storeDigestRebuildStep", storeDigestRebuildStep, NULL, 0.0, 1); + eventAdd("storeDigestRebuildStep", storeDigestRebuildStep, NULL, 0.001, 1); } @@ -295,7 +295,7 @@ storeDigestRewriteResume() httpReplySwapOut(e->mem_obj->reply, e); storeDigestCBlockSwapOut(e); storeBufferFlush(e); - eventAdd("storeDigestSwapOutStep", storeDigestSwapOutStep, sd_state.rewrite_lock, 0.0, 1); + eventAdd("storeDigestSwapOutStep", storeDigestSwapOutStep, sd_state.rewrite_lock, 0.001, 1); } /* finishes swap out sequence for the digest; schedules next rewrite */ @@ -343,7 +343,7 @@ storeDigestSwapOutStep(void *data) if (sd_state.rewrite_offset >= store_digest->mask_size) storeDigestRewriteFinish(e); else - eventAdd("storeDigestSwapOutStep", storeDigestSwapOutStep, e, 0.0, 1); + eventAdd("storeDigestSwapOutStep", storeDigestSwapOutStep, e, 0.001, 1); } static void diff --git a/src/store_rebuild.cc b/src/store_rebuild.cc index 5e858c7004..7c398be515 100644 --- a/src/store_rebuild.cc +++ b/src/store_rebuild.cc @@ -1,5 +1,5 @@ /* - * $Id: store_rebuild.cc,v 1.38 1998/05/15 15:16:38 wessels Exp $ + * $Id: store_rebuild.cc,v 1.39 1998/05/26 17:37:26 wessels Exp $ * * DEBUG: section 20 Store Rebuild Routines * AUTHOR: Duane Wessels @@ -395,7 +395,7 @@ storeRebuildADirectory(void *unused) if (opt_foreground_rebuild) storeRebuildADirectory(NULL); else - eventAdd("storeRebuild", storeRebuildADirectory, NULL, 0.0, 1); + eventAdd("storeRebuild", storeRebuildADirectory, NULL, 0.001, 1); } #if TEMP_UNUSED_CODE @@ -627,7 +627,7 @@ storeCleanup(void *datanotused) if ((++validnum & 0xFFFF) == 0) debug(20, 1) (" %7d Entries Validated so far.\n", validnum); } - eventAdd("storeCleanup", storeCleanup, NULL, 0.0, 1); + eventAdd("storeCleanup", storeCleanup, NULL, 0.001, 1); } void @@ -720,7 +720,7 @@ storeRebuildComplete(void) r > 0 ? (int) r : 0, (double) RebuildState.objcount / (r > 0 ? r : 1)); debug(20, 1) ("Beginning Validation Procedure\n"); - eventAdd("storeCleanup", storeCleanup, NULL, 0.0, 1); + eventAdd("storeCleanup", storeCleanup, NULL, 0.001, 1); } void @@ -760,5 +760,5 @@ storeRebuildStart(void) debug(20, 1) ("Rebuilding storage in Cache Dir #%d (%s)\n", i, clean ? "CLEAN" : "DIRTY"); } - eventAdd("storeRebuild", storeRebuildADirectory, NULL, 0.0, 1); + eventAdd("storeRebuild", storeRebuildADirectory, NULL, 0.001, 1); }