From 50c94d6ab44593ff4ea1559472fa99aaa7627e06 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Tue, 23 Oct 2007 16:30:05 +0200 Subject: [PATCH] afs: Fix a fd leak. --- afs.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/afs.c b/afs.c index 0c7526c7..901ae00d 100644 --- a/afs.c +++ b/afs.c @@ -468,14 +468,13 @@ int pass_afd(int fd, char *buf, size_t size) /** * Open the audio file with highest score. * - * \param afd Audio file data is returned here. + * This stores all information for streaming the "best" audio file in a shared + * memory area. The id of that area and an open file descriptor for the next + * audio file are passed to the server process. * - * This stores all information for streaming the "best" audio file - * in the \a afd structure. + * \return Standard. * - * \return Positive on success, negative on errors. - * - * \sa close_audio_file(), open_and_update_audio_file(). + * \sa open_and_update_audio_file(). */ int open_next_audio_file(void) { @@ -500,6 +499,7 @@ int open_next_audio_file(void) *(uint32_t *)buf = NEXT_AUDIO_FILE; *(uint32_t *)(buf + 4) = (uint32_t)shmid; ret = pass_afd(afd.fd, buf, 8); + close(afd.fd); if (ret >= 0) return ret; PARA_ERROR_LOG("%s\n", PARA_STRERROR(-ret)); -- 2.39.2