mirror of
https://gitlab.freedesktop.org/libbsd/libbsd.git
synced 2025-01-07 17:52:34 +01:00
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
This commit is contained in:
parent
0813f3786f
commit
dd0bdb58e0
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user