summaryrefslogtreecommitdiffstats
path: root/src/lib/krb5/ccache
diff options
context:
space:
mode:
authorEzra Peisach <epeisach@mit.edu>2008-12-01 12:16:33 +0000
committerEzra Peisach <epeisach@mit.edu>2008-12-01 12:16:33 +0000
commit02416c882d81807c07625ab8666ffc61aa33ba3d (patch)
treec29899fca4bbdd5727d449cd477109c7f0e180ae /src/lib/krb5/ccache
parentc09d15126e63f351dd1a8d9962bd27aa0a94b74b (diff)
downloadkrb5-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.h30
-rw-r--r--src/lib/krb5/ccache/cc_file.c2
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>