[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#72547: [PATCH 9/9] posix.c: Set errno when pipe2 is not available an
From: |
Tomas Volf |
Subject: |
bug#72547: [PATCH 9/9] posix.c: Set errno when pipe2 is not available and flags provided. |
Date: |
Sat, 10 Aug 2024 00:54:35 +0200 |
If pipe2 is not available (e.g. on MacOS) and flags are set,
SCM_SYSERROR was correctly signaled, however errno was not set, so it
reported as:
Undefined error: 0
That sucks both in tests (the test is not skipped) and in actual
usage (user has no idea what went wrong).
So set errno to ENOSYS as well.
* libguile/posix.c (scm_pipe2) [!HAVE_PIPE2] <c_flags>: Set errno to
ENOSYS.
---
libguile/posix.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libguile/posix.c b/libguile/posix.c
index 9a873b5a1..986dcc7d0 100644
--- a/libguile/posix.c
+++ b/libguile/posix.c
@@ -282,7 +282,7 @@ SCM_DEFINE (scm_pipe2, "pipe", 0, 1, 0,
/* 'pipe2' cannot be emulated on systems that lack it: calling
'fnctl' afterwards to set the relevant flags is not equivalent
because it's not atomic. */
- rv = ENOSYS;
+ rv = errno = ENOSYS;
#endif
if (rv)
--
2.45.2
- bug#72547: [PATCH 0/9] Make test suite pass on macOS., Tomas Volf, 2024/08/09
- bug#72547: [PATCH 1/9] tests: Check TCP_NODELAY for non-zero instead of 1., Tomas Volf, 2024/08/09
- bug#72547: [PATCH 3/9] tests: Skip hole-related port tests on Darwin., Tomas Volf, 2024/08/09
- bug#72547: [PATCH 2/9] tests: Skip tests of abstract Unix sockets on Darwin., Tomas Volf, 2024/08/09
- bug#72547: [PATCH 5/9] tests: Skip mkdtemp test for invalid template on Darwin., Tomas Volf, 2024/08/09
- bug#72547: [PATCH 4/9] filesys.c: Fix readlink for ports on Darwin., Tomas Volf, 2024/08/09
- bug#72547: [PATCH 7/9] tests: Fix spawn if file not found with Gnulib., Tomas Volf, 2024/08/09
- bug#72547: [PATCH 6/9] tests: Fix spawn with #:environment on MacOS., Tomas Volf, 2024/08/09
- bug#72547: [PATCH 8/9] Do not depend on tmpnam in posix.test., Tomas Volf, 2024/08/09
- bug#72547: [PATCH 9/9] posix.c: Set errno when pipe2 is not available and flags provided.,
Tomas Volf <=