summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-05-25 15:03:30 +0200
committerwm4 <wm4@nowhere>2013-06-16 22:05:09 +0200
commit236577af09149eb59e13b5ce325809a48ac93088 (patch)
tree6945f99f02529c50fb9743b102fc2aec3d5c85f9 /configure
parent4abec2f7b2021d493d1aeefba5419963e6da698b (diff)
downloadmpv-236577af09149eb59e13b5ce325809a48ac93088.tar.bz2
mpv-236577af09149eb59e13b5ce325809a48ac93088.tar.xz
cache: use threads instead of fork()
Basically rewrite all the code supporting the cache (i.e. anything other than the ringbuffer logic). The underlying design is untouched. Note that the old cache2.c (on which this code is based) already had a threading implementation. This was mostly unused on Linux, and had some problems, such as using shared volatile variables for communication and uninterruptible timeouts, instead of using locks for synchronization. This commit does use proper locking, while still retaining the way the old cache worked. It's basically a big refactor. Simplify the code too. Since we don't need to copy stream ctrl args anymore (we're always guaranteed a shared address space now), lots of annoying code just goes away. Likewise, we don't need to care about sector sizes. The cache uses the high-level stream API to read from other streams, and sector sizes are handled transparently.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure9
1 files changed, 5 insertions, 4 deletions
diff --git a/configure b/configure
index f01c515c54..d18d1cc547 100755
--- a/configure
+++ b/configure
@@ -493,7 +493,6 @@ libavdevice=auto
_stream_cache=yes
_priority=no
def_dos_paths="#define HAVE_DOS_PATHS 0"
-def_stream_cache="#define CONFIG_STREAM_CACHE 1"
def_priority="#undef CONFIG_PRIORITY"
need_shmem=yes
_build_man=auto
@@ -1452,9 +1451,11 @@ else
fi
echores "$_pthreads"
-if cygwin || mingw32 ; then
- _stream_cache=no
- def_stream_cache="#undef CONFIG_STREAM_CACHE"
+_stream_cache="$_pthreads"
+if test "$_stream_cache" = yes ; then
+ def_stream_cache='#define CONFIG_STREAM_CACHE'
+else
+ def_stream_cache='#undef CONFIG_STREAM_CACHE'
fi
echocheck "rpath"