diff options
author | Ondřej Surý <ondrej@sury.org> | 2014-03-27 15:48:42 +0100 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2014-03-27 15:48:42 +0100 |
commit | e61140dd0a78d91a8e5712b13250cae440344b3e (patch) | |
tree | acfb30259f1eb02acd4ae8c6c2fed32b9bd2ee9a /src/common/evsched.c | |
parent | 4c91a8dc40b68df3da7407b85c8afdf598e5ab09 (diff) | |
download | knot-upstream.tar.gz |
New upstream version 1.4.4upstream
Diffstat (limited to 'src/common/evsched.c')
-rw-r--r-- | src/common/evsched.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/common/evsched.c b/src/common/evsched.c index 1b290bb..a28db44 100644 --- a/src/common/evsched.c +++ b/src/common/evsched.c @@ -253,6 +253,12 @@ int evsched_schedule(evsched_t *s, event_t *ev, uint32_t dt) /* Lock calendar. */ pthread_mutex_lock(&s->mx); + /* Make sure it's not already enqueued. */ + int found = 0; + if ((found = heap_find(&s->heap, ev))) { + heap_delete(&s->heap, found); + } + heap_insert(&s->heap, ev); /* Unlock calendar. */ |