X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Fstore.c;h=48a69b478097d2937e199a9d863e45243d81869b;hb=4db23448ce252728f10df967b55b2787d5fb8db5;hp=50d7a21d3f8793eafc9303a0707b266e1818576e;hpb=d7d143ef0ccf0f49a8fd23a3c76bc68c0b04e07e;p=bluesky.git diff --git a/bluesky/store.c b/bluesky/store.c index 50d7a21..48a69b4 100644 --- a/bluesky/store.c +++ b/bluesky/store.c @@ -199,11 +199,13 @@ void bluesky_store_async_mark_complete(BlueSkyStoreAsync *async) bluesky_time_hires elapsed = bluesky_now_hires() - async->start_time; bluesky_time_hires latency = bluesky_now_hires() - async->exec_time; - g_mutex_lock(async->store->lock); - async->store->pending--; - if (async->store->pending == 0) - g_cond_broadcast(async->store->cond_idle); - g_mutex_unlock(async->store->lock); + if (async->op != STORE_OP_BARRIER) { + g_mutex_lock(async->store->lock); + async->store->pending--; + if (async->store->pending == 0) + g_cond_broadcast(async->store->cond_idle); + g_mutex_unlock(async->store->lock); + } async->status = ASYNC_COMPLETE; g_cond_broadcast(async->completion_cond);