* k5-thread.h (krb5int_mutex_alloc, krb5int_mutex_free, krb5int_mutex_lock,
authorKen Raeburn <raeburn@mit.edu>
Wed, 25 Jan 2006 06:39:36 +0000 (06:39 +0000)
committerKen Raeburn <raeburn@mit.edu>
Wed, 25 Jan 2006 06:39:36 +0000 (06:39 +0000)
krb5int_mutex_unlock): Declare.
(k5_mutex_lock, k5_mutex_unlock) [PLUGIN]: Redefine to call krb5int_ function
versions.

ticket: 3417
status: open

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17610 dc483132-0cff-0310-8789-dd5450dbe970

src/include/ChangeLog
src/include/k5-thread.h

index e5c7530e8f68cc293116bd2a945984af67af2dc0..f630a49027136821cd5eb33922a3e2d2670ff5a1 100644 (file)
@@ -1,3 +1,10 @@
+2006-01-25  Ken Raeburn  <raeburn@mit.edu>
+
+       * k5-thread.h (krb5int_mutex_alloc, krb5int_mutex_free,
+       krb5int_mutex_lock, krb5int_mutex_unlock): Declare.
+       (k5_mutex_lock, k5_mutex_unlock) [PLUGIN]: Redefine to call
+       krb5int_ function versions.
+
 2005-12-16  Ken Raeburn  <raeburn@mit.edu>
 
        * k5-thread.h (USE_PTHREAD_LOCK_ONLY_IF_LOADED): Define any time
index 7dbcfac6b98c9f542cab0e10a46cf592d20151a3..bd7b3cdf2614379e79d49db81db7b90134daad69 100644 (file)
@@ -774,4 +774,25 @@ extern void *k5_getspecific(k5_key_t);
 extern int k5_setspecific(k5_key_t, void *);
 extern int k5_key_delete(k5_key_t);
 
+extern int  KRB5_CALLCONV krb5int_mutex_alloc  (k5_mutex_t **);
+extern void KRB5_CALLCONV krb5int_mutex_free   (k5_mutex_t *);
+extern int  KRB5_CALLCONV krb5int_mutex_lock   (k5_mutex_t *);
+extern int  KRB5_CALLCONV krb5int_mutex_unlock (k5_mutex_t *);
+
+/* In time, many of the definitions above should move into the support
+   library, and this file should be greatly simplified.  For type
+   definitions, that'll take some work, since other data structures
+   incorporate mutexes directly, and our mutex type is dependent on
+   configuration options and system attributes.  For most functions,
+   though, it should be relatively easy.
+
+   For now, plugins should use the exported functions, and not the
+   above macros, and use krb5int_mutex_alloc for allocations.  */
+#ifdef PLUGIN
+#undef k5_mutex_lock
+#define k5_mutex_lock krb5int_mutex_lock
+#undef k5_mutex_unlock
+#define k5_mutex_unlock krb5int_mutex_unlock
+#endif
+
 #endif /* multiple inclusion? */