From 89a32e15040de9ea1c9e1f3de0364e0912debd2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20B=C3=BChler?= Date: Mon, 19 Dec 2011 16:39:54 +0100 Subject: [PATCH] [chunkqueue] skip setting limit if it is the current one --- src/main/chunk.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/chunk.c b/src/main/chunk.c index d76842a..f6ec173 100644 --- a/src/main/chunk.c +++ b/src/main/chunk.c @@ -464,13 +464,15 @@ void li_chunkqueue_use_limit(liChunkQueue *cq, liVRequest *vr) { } void li_chunkqueue_set_limit(liChunkQueue *cq, liCQLimit* cql) { - gboolean upd_limit = (cql != cq->limit); goffset memusage = cq->mem_usage; + + if (cql == cq->limit) return; + if (cql) li_cqlimit_acquire(cql); - if (upd_limit) cqlimit_update(cq, -memusage); + cqlimit_update(cq, -memusage); li_cqlimit_release(cq->limit); cq->limit = cql; - if (upd_limit) cqlimit_update(cq, memusage); + cqlimit_update(cq, memusage); } /* return -1 for unlimited, 0 for full and n > 0 for n bytes free */