diff options
author | Ezra Peisach <epeisach@mit.edu> | 2008-12-01 12:16:33 +0000 |
---|---|---|
committer | Ezra Peisach <epeisach@mit.edu> | 2008-12-01 12:16:33 +0000 |
commit | 02416c882d81807c07625ab8666ffc61aa33ba3d (patch) | |
tree | c29899fca4bbdd5727d449cd477109c7f0e180ae /src/lib/krb5/ccache | |
parent | c09d15126e63f351dd1a8d9962bd27aa0a94b74b (diff) | |
download | krb5-02416c882d81807c07625ab8666ffc61aa33ba3d.tar.gz krb5-02416c882d81807c07625ab8666ffc61aa33ba3d.tar.xz krb5-02416c882d81807c07625ab8666ffc61aa33ba3d.zip |
Move cc_mutex code from k5-int.h - where it is globally available to cc-int.h
where it is declared and used. The functions are not exported by the library -
nor are they used outside lib/krb5/ccache... For cc_file.h - include cc-int.h.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21205 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/ccache')
-rw-r--r-- | src/lib/krb5/ccache/cc-int.h | 30 | ||||
-rw-r--r-- | src/lib/krb5/ccache/cc_file.c | 2 |
2 files changed, 31 insertions, 1 deletions
diff --git a/src/lib/krb5/ccache/cc-int.h b/src/lib/krb5/ccache/cc-int.h index 4c0db959d7..84b100286a 100644 --- a/src/lib/krb5/ccache/cc-int.h +++ b/src/lib/krb5/ccache/cc-int.h @@ -64,6 +64,36 @@ krb5int_cc_typecursor_free( krb5_context context, krb5_cc_typecursor *cursor); +/* reentrant mutex used by krb5_cc_* functions */ +typedef struct _k5_cc_mutex { + k5_mutex_t lock; + krb5_context owner; + krb5_int32 refcount; +} k5_cc_mutex; + +#define K5_CC_MUTEX_PARTIAL_INITIALIZER \ + { K5_MUTEX_PARTIAL_INITIALIZER, NULL, 0 } + +krb5_error_code +k5_cc_mutex_init(k5_cc_mutex *m); + +krb5_error_code +k5_cc_mutex_finish_init(k5_cc_mutex *m); + +#define k5_cc_mutex_destroy(M) \ +k5_mutex_destroy(&(M)->lock); + +void +k5_cc_mutex_assert_locked(krb5_context context, k5_cc_mutex *m); + +void +k5_cc_mutex_assert_unlocked(krb5_context context, k5_cc_mutex *m); + +krb5_error_code +k5_cc_mutex_lock(krb5_context context, k5_cc_mutex *m); + +krb5_error_code +k5_cc_mutex_unlock(krb5_context context, k5_cc_mutex *m); extern k5_cc_mutex krb5int_mcc_mutex; extern k5_cc_mutex krb5int_krcc_mutex; diff --git a/src/lib/krb5/ccache/cc_file.c b/src/lib/krb5/ccache/cc_file.c index b5a0990599..71476d7788 100644 --- a/src/lib/krb5/ccache/cc_file.c +++ b/src/lib/krb5/ccache/cc_file.c @@ -76,7 +76,7 @@ etc. fcc_nseq.c and fcc_read don't check return values a lot. */ #include "k5-int.h" - +#include "cc-int.h" #include <stdio.h> #include <errno.h> |