wcore: rework non-compatible mutex initialization
commit1e3c013e7e56a9cbaa65ada61205485c56f490d4
authorEmil Velikov <emil.l.velikov@gmail.com>
Fri, 27 Mar 2015 23:28:37 +0000 (27 23:28 +0000)
committerChad Versace <chad.versace@intel.com>
Sat, 4 Apr 2015 20:30:44 +0000 (4 13:30 -0700)
tree249b4a16d6801c7142d88b98726d748dd93422c5
parent211d05ec017696a8cb35e2c14c16ab053ad9ea1d
wcore: rework non-compatible mutex initialization

C11 does not specify a static initializer, based on the idea that the
a mutex will be platform and/or implementation dependent. As such the
alternative solution is to initialize the mutex with call_once/mtx_init.
This will allow us to remove the transition hack, and in due time move
to the system's C11 threads implementation.

v2: Actually use call_once() to prevent the possibility of multiple
threads hitting the mtx_init() at the same time. Suggested by Jose.

v3: Do not destroy the mutex. Suggested by Chad.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Chad Versace <chad.versace@intel.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
src/waffle/core/wcore_display.c