[PATCH 0/2] Testsuite adjustment and relevant fix
Jon Turney
jon.turney@dronecode.org.uk
Wed Jul 19 12:41:40 GMT 2023
[1/2] has the side effect of flipping test stat06 from working to failing.
[2/2] fixes that
When run with TDIRECTORY set, libltp just uses that directory and assumes
something else will clean it up.
When TDIRECTORY is not set, libltp creates a subdirectory under /tmp, and when
the test is completed, removes the expected files and verifies that the
directory is empty.
stat06 fails that check, because it creates the a file named "file" there, and
tries stat("file", -1), testing that it returns the expected value EFAULT.
"file" is removed, but lingers in the STATUS_DELETE_PENDING state until the
Windows handle which stat_worker() leaks when an exception occurs is closed
(when the processes exits).
Future work: It looks like similar problems might generically occur in similar
code througout syscalls.cc.
Jon Turney (2):
Cygwin: testsuite: Drop setting TDIRECTORY
Cygwin: Fix Windows file handle leak in stat("file", -1)
winsup/cygwin/syscalls.cc | 6 +++---
winsup/testsuite/Makefile.am | 8 --------
winsup/testsuite/cygrun.c | 5 +----
winsup/testsuite/winsup.api/winsup.exp | 4 +---
4 files changed, 5 insertions(+), 18 deletions(-)
--
2.39.0
More information about the Cygwin-patches
mailing list