|
@@ -606,7 +606,7 @@ ht_cell_t* ht_cell_value_add(ht_t *ht, str *name, int val, int mode,
|
|
|
if(it->next)
|
|
|
it->next->prev = it->prev;
|
|
|
ht->entries[idx].esize--;
|
|
|
- lock_release(&ht->entries[idx].lock);
|
|
|
+ if(mode) lock_release(&ht->entries[idx].lock);
|
|
|
ht_cell_free(it);
|
|
|
return NULL;
|
|
|
}
|
|
@@ -625,7 +625,7 @@ ht_cell_t* ht_cell_value_add(ht_t *ht, str *name, int val, int mode,
|
|
|
if(old->msize>=it->msize)
|
|
|
{
|
|
|
memcpy(old, it, it->msize);
|
|
|
- lock_release(&ht->entries[idx].lock);
|
|
|
+ if(mode) lock_release(&ht->entries[idx].lock);
|
|
|
return old;
|
|
|
}
|
|
|
}
|
|
@@ -673,7 +673,7 @@ ht_cell_t* ht_cell_value_add(ht_t *ht, str *name, int val, int mode,
|
|
|
if(old->msize>=it->msize)
|
|
|
{
|
|
|
memcpy(old, it, it->msize);
|
|
|
- lock_release(&ht->entries[idx].lock);
|
|
|
+ if(mode) lock_release(&ht->entries[idx].lock);
|
|
|
return old;
|
|
|
}
|
|
|
}
|