Irix k5_os_mutex_lock calls k5_pthread_mutex_lock w/ wrong arg
authorEzra Peisach <epeisach@mit.edu>
Sat, 22 Jan 2005 01:28:14 +0000 (01:28 +0000)
committerEzra Peisach <epeisach@mit.edu>
Sat, 22 Jan 2005 01:28:14 +0000 (01:28 +0000)
        * k5-thread.h (k5_os_mutex_lock): Under Irix, invoke
        k5_pthread_mutex_lock() with the k5_os_mutex, not the
        pthread_mutex_t.
        (k5_pthread_assert_locked,unlocked): If DEBUG_THREADS not used, provide
        correct prototype. Add missing close paren.

Test programs show that under irix, the mutex locking/unlocking code was
working - even with the wrong memory use... I do not understand why.

ticket: new
tags: pullup

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

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

index 6227a7e924820036a645f8eafb04a904df83526c..8c85be46dcefd2e6be75c252904abb00ba0b9009 100644 (file)
@@ -1,3 +1,11 @@
+2005-01-21  Ezra Peisach  <epeisach@mit.edu>
+
+       * k5-thread.h (k5_os_mutex_lock): Under Irix, invoke
+       k5_pthread_mutex_lock() with the k5_os_mutex, not the
+       pthread_mutex_t.
+       (k5_pthread_assert_locked,unlocked): If DEBUG_THREADS not use, provide
+       correct prototype. Add missing close paren.
+
 2005-01-14  Ken Raeburn  <raeburn@mit.edu>
 
        * k5-thread.h [HAVE_PTHREAD && HAVE_PRAGMA_WEAK_REF]: Mark
index 606030749f1c29bb7cfe27d473c44aa6316e2123..2caf8ecc9e8aa791dc781f9dc68bc066ccaef4b5 100644 (file)
@@ -339,7 +339,7 @@ static inline int k5_os_nothread_mutex_unlock(k5_os_nothread_mutex *m) {
     return 0;
 }
 # define k5_os_nothread_mutex_assert_locked(M)         ((void)0)
-# define k5_os_nothread_mutex_assert_unlocked(M)       ((void(0)
+# define k5_os_nothread_mutex_assert_unlocked(M)       ((void)0)
 
 #endif
 
@@ -501,7 +501,7 @@ k5_pthread_mutex_lock(k5_os_mutex *m)
         pthread_mutex_unlock(&(M)->p))
 #else
 # define k5_pthread_mutex_lock(M) pthread_mutex_lock(&(M)->p)
-static inline void k5_pthread_assert_locked(pthread_mutex_t *m) { }
+static inline void k5_pthread_assert_locked(k5_os_mutex *m) { }
 # define k5_pthread_mutex_unlock(M) pthread_mutex_unlock(&(M)->p)
 #endif
 
@@ -585,7 +585,7 @@ static inline int return_after_yield(int r)
 
 # define k5_os_mutex_lock(M)                                           \
        return_after_yield(K5_PTHREADS_LOADED                           \
-                          ? k5_pthread_mutex_lock(&(M)->p)             \
+                          ? k5_pthread_mutex_lock(M)                   \
                           : k5_os_nothread_mutex_lock(&(M)->n))
 # define k5_os_mutex_unlock(M)                         \
        (MAYBE_SCHED_YIELD(),                           \