X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Fstore.c;h=785372b4d961452e855d1f9142323bb31a93389c;hb=1c12fd8fc5ede1bb2e991ba65e2c59831c5718c5;hp=7a63b04acc8a31e612491e610755292a0874a44a;hpb=6abd55eff09d83999c7a84e0ee63bdc3100f7666;p=bluesky.git diff --git a/bluesky/store.c b/bluesky/store.c index 7a63b04..785372b 100644 --- a/bluesky/store.c +++ b/bluesky/store.c @@ -215,6 +215,7 @@ static void op_complete(gpointer a, gpointer b) { BlueSkyStoreAsync *barrier = (BlueSkyStoreAsync *)b; + bluesky_store_async_ref(barrier); g_mutex_lock(barrier->lock); barrier->store_private = GINT_TO_POINTER(GPOINTER_TO_INT(barrier->store_private) - 1); @@ -223,6 +224,7 @@ static void op_complete(gpointer a, gpointer b) bluesky_store_async_mark_complete(barrier); } g_mutex_unlock(barrier->lock); + bluesky_store_async_unref(barrier); } /* Add the given operation to the barrier. The barrier will not complete until @@ -395,10 +397,12 @@ static void filestore_submit(gpointer s, BlueSkyStoreAsync *async) switch (async->op) { case STORE_OP_GET: async->data = filestore_get(async->key); + async->result = 0; break; case STORE_OP_PUT: filestore_put(async->key, async->data); + async->result = 0; break; default: