On 2023/6/19 17:18:23, "Claudio Imbrenda" <imbre...@linux.ibm.com> wrote:

On Sat, 17 Jun 2023 13:36:18 +0800
Bin Meng <bm...@tinylab.org> wrote:

 When opening /proc/self/fd fails, current codes just return directly,
 but we can fall back to close fds one by one.

 Signed-off-by: Bin Meng <bm...@tinylab.org>

 ---

 (no changes since v2)

 Changes in v2:
 - new patch: "util/async-teardown: Fall back to close fds one by one"

  util/async-teardown.c | 6 +++++-
  1 file changed, 5 insertions(+), 1 deletion(-)

 diff --git a/util/async-teardown.c b/util/async-teardown.c
 index 3ab19c8740..7e0177a8da 100644
 --- a/util/async-teardown.c
 +++ b/util/async-teardown.c
 @@ -48,7 +48,11 @@ static void close_all_open_fd(void)

      dir = opendir("/proc/self/fd");
      if (!dir) {
 -        /* If /proc is not mounted, there is nothing that can be done. */
 +        /* If /proc is not mounted, close fds one by one. */
 +        int open_max = sysconf(_SC_OPEN_MAX), i;
 +        for (i = 0; i < open_max; i++) {
 +                close(i);
 +        }
          return;
      }
      /* Avoid closing the directory. */

a few patches later, you replace the whole close_all_open_fd() with a
generic version, I don't see a point in changing the code here.

I meant to do a 100% replacement, and this patch added the missing loop.



this patch is useless, just drop it

Regards,
Bin

Reply via email to