aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2013-12-18 22:29:25 +0100
committerDiego Biurrun <diego@biurrun.de>2014-02-19 15:12:37 +0100
commit874c751cc5b99cd68932e21c2c3a0d21134207e0 (patch)
tree12e3634d4be09598bc1a9f9d13e095924b7371e6
parent35b05c5184fb3aa1191e2d1e7f1cae1e11f344a4 (diff)
downloadffmpeg-874c751cc5b99cd68932e21c2c3a0d21134207e0.tar.gz
threads: Check w32threads dependencies at the configure stage
Also add warning comment about threading implementations without matching atomics implementation to the atomics fallback implementation.
-rwxr-xr-xconfigure1
-rw-r--r--libavutil/atomic.c5
2 files changed, 5 insertions, 1 deletions
diff --git a/configure b/configure
index 292da47f72..841c39a00c 100755
--- a/configure
+++ b/configure
@@ -1606,6 +1606,7 @@ atomics_gcc_if="sync_val_compare_and_swap"
atomics_suncc_if="atomic_cas_ptr machine_rw_barrier"
atomics_win32_if="MemoryBarrier"
atomics_native_if_any="$ATOMICS_LIST"
+w32threads_deps="atomics_native"
threads_if_any="$THREADS_LIST"
# subsystems
diff --git a/libavutil/atomic.c b/libavutil/atomic.c
index e4fa957ba4..83740396d4 100644
--- a/libavutil/atomic.c
+++ b/libavutil/atomic.c
@@ -97,8 +97,11 @@ void *avpriv_atomic_ptr_cas(void * volatile *ptr, void *oldval, void *newval)
return *ptr;
}
-#else
+#else /* HAVE_THREADS */
+/* This should never trigger, unless a new threading implementation
+ * without correct atomics dependencies in configure or a corresponding
+ * atomics implementation is added. */
#error "Threading is enabled, but there is no implementation of atomic operations available"
#endif /* HAVE_PTHREADS */