[06/10] w32threads: Wrap the mutex functions in inline functions returning int

Message ID 1320154365-10834-6-git-send-email-martin@martin.st
State Committed
Commit 8148631269734f4ecde7a63ca7432e82c12c0b3e
Headers show

Commit Message

Martin Storsjö Nov. 1, 2011, 1:32 p.m.
This allows using these wrappers in the gcrypt mutex callbacks.
---
 libavcodec/w32pthreads.h |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

Comments

Luca Barbato Nov. 4, 2011, 8:35 p.m. | #1
On 11/1/11 6:32 AM, Martin Storsjö wrote:
> This allows using these wrappers in the gcrypt mutex callbacks.
> ---

Seems ok.

Patch

diff --git a/libavcodec/w32pthreads.h b/libavcodec/w32pthreads.h
index 7774817..c015b87 100644
--- a/libavcodec/w32pthreads.h
+++ b/libavcodec/w32pthreads.h
@@ -91,10 +91,26 @@  static void pthread_join(pthread_t thread, void **value_ptr)
     CloseHandle(thread.handle);
 }
 
-#define pthread_mutex_init(m, a) InitializeCriticalSection(m)
-#define pthread_mutex_destroy(m) DeleteCriticalSection(m)
-#define pthread_mutex_lock(m)    EnterCriticalSection(m)
-#define pthread_mutex_unlock(m)  LeaveCriticalSection(m)
+static inline int pthread_mutex_init(pthread_mutex_t *m, void* attr)
+{
+    InitializeCriticalSection(m);
+    return 0;
+}
+static inline int pthread_mutex_destroy(pthread_mutex_t *m)
+{
+    DeleteCriticalSection(m);
+    return 0;
+}
+static inline int pthread_mutex_lock(pthread_mutex_t *m)
+{
+    EnterCriticalSection(m);
+    return 0;
+}
+static inline int pthread_mutex_unlock(pthread_mutex_t *m)
+{
+    LeaveCriticalSection(m);
+    return 0;
+}
 
 /* for pre-Windows 6.0 platforms we need to define and use our own condition
  * variable and api */