diff options
author | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2008-12-02 17:54:05 -0500 |
---|---|---|
committer | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2008-12-02 17:54:05 -0500 |
commit | 0599ac42ec109e944e2cd914764258a7acd2652f (patch) | |
tree | d6d7e592450d05b1663d01db9d5863daea8c23d5 /src/wrap.c | |
parent | 28b315770bf6f40cd1f55afcef8f61b47a3eef42 (diff) | |
download | slapi-nis-0599ac42ec109e944e2cd914764258a7acd2652f.tar.gz slapi-nis-0599ac42ec109e944e2cd914764258a7acd2652f.tar.xz slapi-nis-0599ac42ec109e944e2cd914764258a7acd2652f.zip |
- use a counter to make sure we don't recurse inside the same thread,
which might cause us to try to take a read lock when we're holding the
write lock, or vice-versa
Diffstat (limited to 'src/wrap.c')
-rw-r--r-- | src/wrap.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -272,3 +272,20 @@ wrap_search_internal_get_entry(Slapi_DN *dn, char **attrs, #endif } +static __thread int call_level = 0; + +int +wrap_get_call_level(void) +{ + return call_level; +} +int +wrap_inc_call_level(void) +{ + return ++call_level; +} +int +wrap_dec_call_level(void) +{ + return --call_level; +} |