| | |
| | | void *oldvalue; |
| | | int rv; |
| | | |
| | | if( (rv = svsem_wait(hashtable->mutex)) != 0) { |
| | | if( (rv = svsem_uni_wait(hashtable->mutex)) != 0) { |
| | | LoggerFactory::getLogger()->error(errno, "hashtable_remove\n"); |
| | | } |
| | | tailq_header_t *my_tailq_head = hashtable->array[code] ; |
| | |
| | | void *hashtable_get(hashtable_t *hashtable, int key) { |
| | | int rv; |
| | | |
| | | if((rv = svsem_wait(hashtable->mutex)) != 0) { |
| | | if((rv = svsem_uni_wait(hashtable->mutex)) != 0) { |
| | | LoggerFactory::getLogger()->error(errno, "hashtable_get\n"); |
| | | } |
| | | void * res = _hashtable_get(hashtable, key); |
| | |
| | | void hashtable_put(hashtable_t *hashtable, int key, void *value) { |
| | | int rv; |
| | | |
| | | if((rv = svsem_wait(hashtable->mutex)) != 0) { |
| | | if((rv = svsem_uni_wait(hashtable->mutex)) != 0) { |
| | | LoggerFactory::getLogger()->error(errno, "hashtable_put\n"); |
| | | } |
| | | _hashtable_put(hashtable, key, value); |
| | |
| | | |
| | | int rv; |
| | | void * val; |
| | | if(( rv = svsem_wait(hashtable->mutex)) != 0) { |
| | | if(( rv = svsem_uni_wait(hashtable->mutex)) != 0) { |
| | | LoggerFactory::getLogger()->error(errno, "hashtable_put\n"); |
| | | } |
| | | if(overwrite) { |
| | |
| | | key = START_KEY; |
| | | } |
| | | |
| | | rv = svsem_wait(hashtable->mutex); |
| | | rv = svsem_uni_wait(hashtable->mutex); |
| | | if(rv != 0) { |
| | | LoggerFactory::getLogger()->error(errno, "hashtable_alloc_key\n"); |
| | | } |
| | |
| | | { |
| | | tailq_entry_t *item; |
| | | int rv; |
| | | if( (rv = svsem_wait(hashtable->mutex)) != 0) { |
| | | if( (rv = svsem_uni_wait(hashtable->mutex)) != 0) { |
| | | LoggerFactory::getLogger()->error(errno, "hashtable_removeall\n"); |
| | | } |
| | | for (int i = 0; i < MAPSIZE; i++) |