diff options
author | Jakob Bornecrantz <jakob@vmware.com> | 2011-02-17 11:18:02 +0000 |
---|---|---|
committer | Jakob Bornecrantz <jakob@vmware.com> | 2011-02-18 14:46:23 +0000 |
commit | 52ad45677dd3d8a50836edea9f5841aa12d70419 (patch) | |
tree | 28dc22849ffc110ed348bbd49871aa696c48b3bd /src/gallium/auxiliary/util/u_debug_symbol.c | |
parent | d252db7af1370246c76b46f4b9e66b352879bd9b (diff) |
util: Make refcnt and symbol debuggers work on windows
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
Diffstat (limited to 'src/gallium/auxiliary/util/u_debug_symbol.c')
-rw-r--r-- | src/gallium/auxiliary/util/u_debug_symbol.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/util/u_debug_symbol.c b/src/gallium/auxiliary/util/u_debug_symbol.c index cb03930a67..bae9be87a2 100644 --- a/src/gallium/auxiliary/util/u_debug_symbol.c +++ b/src/gallium/auxiliary/util/u_debug_symbol.c @@ -196,7 +196,7 @@ debug_symbol_print(const void *addr) } struct util_hash_table* symbols_hash; -pipe_mutex symbols_mutex; +pipe_static_mutex(symbols_mutex); static unsigned hash_ptr(void* p) { @@ -217,6 +217,15 @@ const char* debug_symbol_name_cached(const void *addr) { const char* name; +#ifdef PIPE_SUBSYSTEM_WINDOWS_USER + static boolean first = TRUE; + + if (first) { + pipe_mutex_init(symbols_mutex); + first = FALSE; + } +#endif + pipe_mutex_lock(symbols_mutex); if(!symbols_hash) symbols_hash = util_hash_table_create(hash_ptr, compare_ptr); |