[sr-dev] git:4.2: htable: use mode everywhere to control the locks for add operation
Daniel-Constantin Mierla
miconda at gmail.com
Tue Nov 11 13:45:23 CET 2014
Module: sip-router
Branch: 4.2
Commit: 4bd289f1d893fd36c4fe508f34c0d2a58901d119
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=4bd289f1d893fd36c4fe508f34c0d2a58901d119
Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: Thu Nov 6 18:43:50 2014 +0100
htable: use mode everywhere to control the locks for add operation
(cherry picked from commit c7ff8a88e773e8d25958f86d178f05ee10fd0410)
---
modules/htable/ht_api.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules/htable/ht_api.c b/modules/htable/ht_api.c
index 13d373d..55f1f3a 100644
--- a/modules/htable/ht_api.c
+++ b/modules/htable/ht_api.c
@@ -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;
}
}
More information about the sr-dev
mailing list