diff --git a/deps.json b/deps.json index 54a6b577..69ddd3fb 100644 --- a/deps.json +++ b/deps.json @@ -1,7 +1,7 @@ { - "kvspace": "v0.2.9", - "kvspace-c": "v0.2.9", - "kvspace-durable": "v0.2.9", + "kvspace": "v0.2.10", + "kvspace-c": "v0.2.10", + "kvspace-durable": "v0.2.10", "blockmalloc": "v0.1.4", "slotsboxmalloc": "v0.1.5" } diff --git a/runtime/src/kv.c b/runtime/src/kv.c index 7b07687e..554bb492 100644 --- a/runtime/src/kv.c +++ b/runtime/src/kv.c @@ -184,6 +184,11 @@ int kvlangKvWatch(kvlangKv_t *k, const char *key, const kvlangXvalue_t *target, uint32_t len; if (kvspaceWatch(k->h, key, t, tl, tick_ns, &d, &len) != 0) return -1; - kvlangXvalueCopyMalloc(out, d, len); + if (d && len) { + out->data = d; + out->len = len; + out->borrowed = 1; + kvlangXvalueMaterialize(out); + } return 0; }