s/non-existant/non-existent/ in the subject On 11/22/12 17:48, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@xxxxxxxxxx> The event code is a no-op if requested to update a non-existant
s/non-existant/non-existent/
timer/handle watch. This makes it hard to detect bugs in the caller who have passed bogus data. Add a VIR_WARN output in such cases, since the API does not allow for return errors. Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> --- src/util/event_poll.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/util/event_poll.c b/src/util/event_poll.c index 276d66d..2ffa94b 100644 --- a/src/util/event_poll.c +++ b/src/util/event_poll.c @@ -141,6 +141,7 @@ int virEventPollAddHandle(int fd, int events, void virEventPollUpdateHandle(int watch, int events) { int i; + bool found = false; PROBE(EVENT_POLL_UPDATE_HANDLE, "watch=%d events=%d", watch, events); @@ -156,10 +157,14 @@ void virEventPollUpdateHandle(int watch, int events) { eventLoop.handles[i].events = virEventPollToNativeEvents(events); virEventPollInterruptLocked(); + found = true; break; } } virMutexUnlock(&eventLoop.lock); + + if (!found) + VIR_WARN("Got update for non-existant handle watch %d", watch);
s/non-existant/non-existent/
} /* @@ -249,6 +254,7 @@ void virEventPollUpdateTimeout(int timer, int frequency) { unsigned long long now; int i; + bool found = false; PROBE(EVENT_POLL_UPDATE_TIMEOUT, "timer=%d frequency=%d", timer, frequency); @@ -268,11 +274,17 @@ void virEventPollUpdateTimeout(int timer, int frequency) eventLoop.timeouts[i].frequency = frequency; eventLoop.timeouts[i].expiresAt = frequency >= 0 ? frequency + now : 0; + VIR_DEBUG("Set timer freq=%d expirs=%llu", frequency,
s/expirs/expires/
+ eventLoop.timeouts[i].expiresAt); virEventPollInterruptLocked(); + found = true; break; } } virMutexUnlock(&eventLoop.lock); + + if (!found) + VIR_WARN("Got update for non-existant timer %d", timer);
s/non-existant/non-existent/
} /* @@ -336,6 +348,7 @@ static int virEventPollCalculateTimeout(int *timeout) { if (virTimeMillisNow(&now) < 0) return -1; + EVENT_DEBUG("Schedule timeout then=%llu now=%llu", then, now); *timeout = then - now; if (*timeout < 0) *timeout = 0;
ACK with spelling and the typo fixed. Peter -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list