Cleanup zipos vfork (#1004)

This commit is contained in:
Jōshin 2023-12-13 04:36:44 -05:00 committed by GitHub
parent 6cedbc746c
commit 3b302e6379
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 3 deletions

View file

@ -28,6 +28,7 @@
#include "libc/str/str.h"
#include "libc/sysv/consts/o.h"
#include "libc/testlib/hyperion.h"
#include "libc/testlib/subprocess.h"
#include "libc/testlib/testlib.h"
#include "libc/thread/thread.h"
@ -111,3 +112,15 @@ TEST(zipos, lseek) {
EXPECT_EQ(0, memcmp(b1, b2, 512));
EXPECT_SYS(0, 0, close(3));
}
TEST(zipos, closeAfterVfork) {
ASSERT_SYS(0, 3, open("/zip/libc/testlib/hyperion.txt", O_RDONLY));
SPAWN(vfork);
ASSERT_SYS(0, 0, close(3));
ASSERT_SYS(0, 3, open("/etc/hosts", O_RDONLY));
ASSERT_SYS(0, 0, close(3));
ASSERT_SYS(EBADF, -1, close(3));
EXITS(0);
ASSERT_SYS(0, 0, close(3));
ASSERT_SYS(EBADF, -1, close(3));
}