From 223b90d0d4e79f74ebafbd0db9aea70a3bf9b74b Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 4 Jan 2013 15:30:10 +0100 Subject: MusicBuffer: return memory to kernel when stopping playback Use the new HugeAllocator as backend for SliceBuffer and call HugeDiscard() when the last chunk was returned. --- src/MusicBuffer.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/MusicBuffer.cxx') diff --git a/src/MusicBuffer.cxx b/src/MusicBuffer.cxx index ec6e5205..5fddddc2 100644 --- a/src/MusicBuffer.cxx +++ b/src/MusicBuffer.cxx @@ -21,6 +21,7 @@ #include "MusicBuffer.hxx" #include "MusicChunk.hxx" #include "util/SliceBuffer.hxx" +#include "mpd_error.h" #include @@ -32,7 +33,10 @@ struct music_buffer : public SliceBuffer { music_buffer(unsigned num_chunks) :SliceBuffer(num_chunks), - mutex(g_mutex_new()) {} + mutex(g_mutex_new()) { + if (IsOOM()) + MPD_ERROR("Failed to allocate buffer"); + } ~music_buffer() { g_mutex_free(mutex); -- cgit v1.2.3