summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/map.c12
-rw-r--r--src/map.h6
-rw-r--r--src/wrap.c21
-rw-r--r--src/wrap.h6
4 files changed, 24 insertions, 21 deletions
diff --git a/src/map.c b/src/map.c
index 33543df..ad3ed3f 100644
--- a/src/map.c
+++ b/src/map.c
@@ -1218,20 +1218,20 @@ map_data_get_map_size(struct plugin_state *state,
return 0;
}
-void
+int
map_rdlock(void)
{
- wrap_rwlock_rdlock(map_data.lock);
+ return wrap_rwlock_rdlock(map_data.lock);
}
-void
+int
map_wrlock(void)
{
- wrap_rwlock_wrlock(map_data.lock);
+ return wrap_rwlock_wrlock(map_data.lock);
}
-void
+int
map_unlock(void)
{
- wrap_rwlock_unlock(map_data.lock);
+ return wrap_rwlock_unlock(map_data.lock);
}
diff --git a/src/map.h b/src/map.h
index 6bd7205..f5b0405 100644
--- a/src/map.h
+++ b/src/map.h
@@ -115,7 +115,7 @@ int map_data_get_domain_size(struct plugin_state *state,
const char *domain_name);
int map_data_get_map_size(struct plugin_state *state,
const char *domain_name, const char *map_name);
-void map_rdlock(void);
-void map_wrlock(void);
-void map_unlock(void);
+int map_rdlock(void);
+int map_wrlock(void);
+int map_unlock(void);
#endif
diff --git a/src/wrap.c b/src/wrap.c
index 629f697..c89638f 100644
--- a/src/wrap.c
+++ b/src/wrap.c
@@ -216,45 +216,48 @@ wrap_free_rwlock(struct wrapped_rwlock *rwlock)
free(rwlock);
}
-void
+int
wrap_rwlock_rdlock(struct wrapped_rwlock *rwlock)
{
#ifdef USE_SLAPI_LOCKS
- slapi_rwlock_rdlock(rwlock->rwlock);
+ return slapi_rwlock_rdlock(rwlock->rwlock);
#endif
#ifdef USE_PTHREAD_LOCKS
- pthread_rwlock_rdlock(&rwlock->rwlock);
+ return pthread_rwlock_rdlock(&rwlock->rwlock);
#endif
#ifdef USE_NSPR_LOCKS
PR_RWLock_Rlock(rwlock->rwlock);
+ return 0;
#endif
}
-void
+int
wrap_rwlock_wrlock(struct wrapped_rwlock *rwlock)
{
#ifdef USE_SLAPI_LOCKS
- slapi_rwlock_wrlock(rwlock->rwlock);
+ return slapi_rwlock_wrlock(rwlock->rwlock);
#endif
#ifdef USE_PTHREAD_LOCKS
- pthread_rwlock_wrlock(&rwlock->rwlock);
+ return pthread_rwlock_wrlock(&rwlock->rwlock);
#endif
#ifdef USE_NSPR_LOCKS
PR_RWLock_Wlock(rwlock->rwlock);
+ return 0;
#endif
}
-void
+int
wrap_rwlock_unlock(struct wrapped_rwlock *rwlock)
{
#ifdef USE_SLAPI_LOCKS
- slapi_rwlock_unlock(rwlock->rwlock);
+ return slapi_rwlock_unlock(rwlock->rwlock);
#endif
#ifdef USE_PTHREAD_LOCKS
- pthread_rwlock_unlock(&rwlock->rwlock);
+ return pthread_rwlock_unlock(&rwlock->rwlock);
#endif
#ifdef USE_NSPR_LOCKS
PR_RWLock_Unlock(rwlock->rwlock);
+ return 0;
#endif
}
diff --git a/src/wrap.h b/src/wrap.h
index 7fd85e7..71bd326 100644
--- a/src/wrap.h
+++ b/src/wrap.h
@@ -33,9 +33,9 @@ int wrap_thread_stopfd(struct wrapped_thread *t);
struct wrapped_rwlock *wrap_new_rwlock(void);
void wrap_free_rwlock(struct wrapped_rwlock *rwlock);
-void wrap_rwlock_rdlock(struct wrapped_rwlock *rwlock);
-void wrap_rwlock_wrlock(struct wrapped_rwlock *rwlock);
-void wrap_rwlock_unlock(struct wrapped_rwlock *rwlock);
+int wrap_rwlock_rdlock(struct wrapped_rwlock *rwlock);
+int wrap_rwlock_wrlock(struct wrapped_rwlock *rwlock);
+int wrap_rwlock_unlock(struct wrapped_rwlock *rwlock);
Slapi_PBlock *wrap_pblock_new(Slapi_PBlock *parent);
int wrap_search_internal_get_entry(Slapi_PBlock *pb,