Fix build on glibc < 2.34
Fix build on glibc < 2.34
The close_range function was added in glibc in version 2.34; for older versions use syscall(SYS_close_range.....).
Also since close_range was first avaiable in Kernel 5.9, for older kernels fallback to iterating over /proc/self/fd/ and closing the fd's manually.
Edited by Ahmad Samir