[vlc-commits] commit: gcrypt: use vlc_global_mutex ( Rémi Denis-Courmont )
git at videolan.org
git at videolan.org
Thu Jun 3 22:55:53 CEST 2010
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Thu Jun 3 23:29:35 2010 +0300| [89717011bc83fcf86467544aa8ba43de13e22657] | committer: Rémi Denis-Courmont
gcrypt: use vlc_global_mutex
This saves a few mutexes, but it does not really solve gcrypt
reentrancy. gcry_control() should only be called once for all per copy
of gcrypt in the memory. This is hard to conciliate with dlopen().
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=89717011bc83fcf86467544aa8ba43de13e22657
---
include/vlc_gcrypt.h | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/include/vlc_gcrypt.h b/include/vlc_gcrypt.h
index eec15c2..4bb14f7 100644
--- a/include/vlc_gcrypt.h
+++ b/include/vlc_gcrypt.h
@@ -1,7 +1,7 @@
/*****************************************************************************
* vlc_gcrypt.h: VLC thread support for gcrypt
*****************************************************************************
- * Copyright (C) 2004-2008 Rémi Denis-Courmont
+ * Copyright (C) 2004-2010 Rémi Denis-Courmont
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -90,14 +90,13 @@ static inline void vlc_gcrypt_init (void)
* plugins linking with gcrypt, and some underlying libraries may use it
* behind our back. Only way is to always link gcrypt statically (ouch!) or
* have upstream gcrypt provide one shared object per threading system. */
- static vlc_mutex_t lock = VLC_STATIC_MUTEX;
static bool done = false;
- vlc_mutex_lock (&lock);
+ vlc_global_lock (VLC_GCRYPT_MUTEX);
if (!done)
{
gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_vlc);
done = true;
}
- vlc_mutex_unlock (&lock);
+ vlc_global_unlock (VLC_GCRYPT_MUTEX);
}
More information about the vlc-commits
mailing list