From 732bb45c45d1fd3b2c1e7ff7fb12ce93e6fa1dcc Mon Sep 17 00:00:00 2001 From: Zachary Anderson Date: Wed, 30 Aug 2017 12:48:57 -0700 Subject: [PATCH] [dart:io] Remove double-close from recursive directory delete closedir() closes the file descriptor wrapped by the DIR, so we shouldn't close it again. R=bkonyi@google.com Review-Url: https://codereview.chromium.org/3005883002 . --- runtime/bin/directory_android.cc | 2 -- runtime/bin/directory_fuchsia.cc | 2 -- runtime/bin/directory_linux.cc | 2 -- 3 files changed, 6 deletions(-) diff --git a/runtime/bin/directory_android.cc b/runtime/bin/directory_android.cc index 21d95ef35d4..9152f919963 100644 --- a/runtime/bin/directory_android.cc +++ b/runtime/bin/directory_android.cc @@ -303,7 +303,6 @@ static bool DeleteRecursively(int dirfd, PathBuffer* path) { } // End of directory. int status = NO_RETRY_EXPECTED(closedir(dir_pointer)); - FDUtils::SaveErrorAndClose(fd); if (status != 0) { return false; } @@ -364,7 +363,6 @@ static bool DeleteRecursively(int dirfd, PathBuffer* path) { ASSERT(errno != 0); int err = errno; VOID_NO_RETRY_EXPECTED(closedir(dir_pointer)); - FDUtils::SaveErrorAndClose(fd); errno = err; return false; } diff --git a/runtime/bin/directory_fuchsia.cc b/runtime/bin/directory_fuchsia.cc index c9a7c4e9438..658409e20d3 100644 --- a/runtime/bin/directory_fuchsia.cc +++ b/runtime/bin/directory_fuchsia.cc @@ -413,7 +413,6 @@ static bool DeleteRecursively(int dirfd, PathBuffer* path) { } // End of directory. int status = NO_RETRY_EXPECTED(closedir(dir_pointer)); - FDUtils::SaveErrorAndClose(fd); if (status != 0) { return false; } @@ -474,7 +473,6 @@ static bool DeleteRecursively(int dirfd, PathBuffer* path) { ASSERT(errno != 0); int err = errno; VOID_NO_RETRY_EXPECTED(closedir(dir_pointer)); - FDUtils::SaveErrorAndClose(fd); errno = err; return false; } diff --git a/runtime/bin/directory_linux.cc b/runtime/bin/directory_linux.cc index 357bbb3141a..ade373ebffc 100644 --- a/runtime/bin/directory_linux.cc +++ b/runtime/bin/directory_linux.cc @@ -303,7 +303,6 @@ static bool DeleteRecursively(int dirfd, PathBuffer* path) { } // End of directory. int status = NO_RETRY_EXPECTED(closedir(dir_pointer)); - FDUtils::SaveErrorAndClose(fd); if (status != 0) { return false; } @@ -364,7 +363,6 @@ static bool DeleteRecursively(int dirfd, PathBuffer* path) { ASSERT(errno != 0); int err = errno; VOID_NO_RETRY_EXPECTED(closedir(dir_pointer)); - FDUtils::SaveErrorAndClose(fd); errno = err; return false; }