libbsd: Branch 'main'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jan 8 01:02:40 UTC 2024


 test/closefrom.c |    6 ++++++
 1 file changed, 6 insertions(+)

New commits:
commit dd0bdb58e0e5b3b811958a1f9ccd7da6d46c9581
Author: Guillem Jover <guillem at hadrons.org>
Date:   Mon Jan 8 01:58:54 2024 +0100

    test: Close all descriptors before initializing them for closefrom()
    
    On macOS, closefrom() only sets the close-on-exec flag, so we cannot
    check whether all file descriptors were closed, which means that if
    on entry our file descriptor table was filled after the 4th file
    descriptor, then we might fail the assertions for the flags for odd
    file descriptors which we expect to be closed.
    
    This can easily happen when running the test suite in parallel mode
    with «make -j8 check» for example.
    
    Closes: #23

diff --git a/test/closefrom.c b/test/closefrom.c
index 474c69f..f9d74cc 100644
--- a/test/closefrom.c
+++ b/test/closefrom.c
@@ -40,6 +40,12 @@ main(int argc, char *argv[])
 	fd = open("/dev/null", O_RDONLY);
 
 	fd_max = 1024;
+
+	/* First make sure we have a clean fd list. */
+	for (i = 4; i < fd_max; i++)
+		close(i);
+
+	/* Then initialize each even fd. */
 	for (i = 4; i < fd_max; i *= 2) {
 		int fd_new = dup2(fd, i);
 


More information about the libbsd mailing list