From eb19d41d5f85f169cee7570f783821cb705ad37a Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Wed, 3 Jul 2013 20:33:19 -0400 Subject: do not check error from close(2) On operating systems we support, the behavior is always such that the kernel will do the right thing as far as invalidating the file descriptor, regardless of the eventual return value. Therefore, potentially looping and calling close multiple times is wrong. At best, we call close again on an invalid FD and throw a spurious EBADF error. At worst, we might close an FD which doesn't belong to us when a multi-threaded application opens its own file descriptor between iterations of the loop. Signed-off-by: Dave Reisner Signed-off-by: Allan McRae --- lib/libalpm/add.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/libalpm/add.c') diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c index 3d0cf55a..8ef9ef0e 100644 --- a/lib/libalpm/add.c +++ b/lib/libalpm/add.c @@ -552,7 +552,7 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg, _alpm_log(handle, ALPM_LOG_ERROR, _("could not change directory to %s (%s)\n"), handle->root, strerror(errno)); _alpm_archive_read_free(archive); - CLOSE(fd); + close(fd); ret = -1; goto cleanup; } @@ -582,7 +582,7 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg, errors += extract_single_file(handle, archive, entry, newpkg, oldpkg); } _alpm_archive_read_free(archive); - CLOSE(fd); + close(fd); /* restore the old cwd if we have it */ if(cwdfd >= 0) { @@ -590,7 +590,7 @@ static int commit_single_pkg(alpm_handle_t *handle, alpm_pkg_t *newpkg, _alpm_log(handle, ALPM_LOG_ERROR, _("could not restore working directory (%s)\n"), strerror(errno)); } - CLOSE(cwdfd); + close(cwdfd); } if(errors) { -- cgit v1.2.3-24-g4f1b