On 2023/6/19 17:18:23, "Claudio Imbrenda" <imbrenda@linux.ibm.com> wrote:
>On Sat, 17 Jun 2023 13:36:18 +0800
>Bin Meng <bmeng@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 <bmeng@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