projects
/
bluesky.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Values in the kvstore are raw byte arrays, not strings.
[bluesky.git]
/
bluesky
/
store.c
diff --git
a/bluesky/store.c
b/bluesky/store.c
index
7a63b04
..
785372b
100644
(file)
--- a/
bluesky/store.c
+++ b/
bluesky/store.c
@@
-215,6
+215,7
@@
static void op_complete(gpointer a, gpointer b)
{
BlueSkyStoreAsync *barrier = (BlueSkyStoreAsync *)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);
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_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
}
/* 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);
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);
break;
case STORE_OP_PUT:
filestore_put(async->key, async->data);
+ async->result = 0;
break;
default:
break;
default: