diff options
author | Max Kellermann <max@duempel.org> | 2008-04-12 04:18:38 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2008-04-12 04:18:38 +0000 |
commit | f2cdac6ee7a338ace92c6e884f65b9f89841970e (patch) | |
tree | ccd66e5181ab8d9ad0c95dcc91df1572247bf848 /src | |
parent | b6881345860b7ea1465e746b33d15c8e9be3e505 (diff) | |
download | mpd-f2cdac6ee7a338ace92c6e884f65b9f89841970e.tar.gz mpd-f2cdac6ee7a338ace92c6e884f65b9f89841970e.tar.xz mpd-f2cdac6ee7a338ace92c6e884f65b9f89841970e.zip |
added output_buffer_free()
To do proper cleanup before exiting, we have to provide a destructor
for OutputBuffer. One day, valgrind will not complain about memory
leaks!
git-svn-id: https://svn.musicpd.org/mpd/trunk@7315 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to 'src')
-rw-r--r-- | src/outputBuffer.c | 6 | ||||
-rw-r--r-- | src/outputBuffer.h | 2 | ||||
-rw-r--r-- | src/playerData.c | 1 |
3 files changed, 9 insertions, 0 deletions
diff --git a/src/outputBuffer.c b/src/outputBuffer.c index 8e2780eb2..de649e0c7 100644 --- a/src/outputBuffer.c +++ b/src/outputBuffer.c @@ -36,6 +36,12 @@ void initOutputBuffer(OutputBuffer * cb, unsigned int size) cb->currentChunk = -1; } +void output_buffer_free(OutputBuffer * cb) +{ + assert(cb->chunks != NULL); + free(cb->chunks); +} + void clearOutputBuffer(OutputBuffer * cb) { cb->end = cb->begin; diff --git a/src/outputBuffer.h b/src/outputBuffer.h index 6ca073836..9f5a996bb 100644 --- a/src/outputBuffer.h +++ b/src/outputBuffer.h @@ -62,6 +62,8 @@ typedef struct _OutputBuffer { void initOutputBuffer(OutputBuffer * cb, unsigned int size); +void output_buffer_free(OutputBuffer * cb); + void clearOutputBuffer(OutputBuffer * cb); void flushOutputBuffer(OutputBuffer * cb); diff --git a/src/playerData.c b/src/playerData.c index 91a7ef661..6cc98ccc6 100644 --- a/src/playerData.c +++ b/src/playerData.c @@ -116,5 +116,6 @@ void freePlayerData(void) * access playerData_pd and we need to keep it available for them */ waitpid(-1, NULL, 0); + output_buffer_free(&playerData_pd.buffer); free(playerData_pd.audioDeviceStates); } |