Compare commits
2 Commits
2defd7d8ed
...
36b341a96f
Author | SHA1 | Date |
---|---|---|
Vitaliy Filippov | 36b341a96f | |
Vitaliy Filippov | 56b7b18adf |
|
@ -197,6 +197,7 @@ struct kv_op_t
|
||||||
|
|
||||||
void exec();
|
void exec();
|
||||||
void next(); // for list
|
void next(); // for list
|
||||||
|
~kv_op_t();
|
||||||
protected:
|
protected:
|
||||||
int recheck_policy = KV_RECHECK_LEAF;
|
int recheck_policy = KV_RECHECK_LEAF;
|
||||||
bool started = false;
|
bool started = false;
|
||||||
|
@ -1003,6 +1004,15 @@ void kv_op_t::exec()
|
||||||
finish(-ENOSYS);
|
finish(-ENOSYS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kv_op_t::~kv_op_t()
|
||||||
|
{
|
||||||
|
if (started && !done)
|
||||||
|
{
|
||||||
|
done = true;
|
||||||
|
db->active_ops--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void kv_op_t::finish(int res)
|
void kv_op_t::finish(int res)
|
||||||
{
|
{
|
||||||
auto db = this->db;
|
auto db = this->db;
|
||||||
|
@ -2058,10 +2068,5 @@ void kv_dbw_t::list_next(void *handle, std::function<void(int res, const std::st
|
||||||
void kv_dbw_t::list_close(void *handle)
|
void kv_dbw_t::list_close(void *handle)
|
||||||
{
|
{
|
||||||
kv_op_t *op = (kv_op_t*)handle;
|
kv_op_t *op = (kv_op_t*)handle;
|
||||||
if (op->started && !op->done)
|
|
||||||
{
|
|
||||||
op->done = true;
|
|
||||||
op->db->active_ops--;
|
|
||||||
}
|
|
||||||
delete op;
|
delete op;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue