[PATCH v2 0/4] Additional error numbers and signal functions
by Richard Ipsum
Hi,
I went through FreeBSD, NetBSD, glibc/Linux and musl, and found that some
error numbers defined by POSIX.1-2017 are missing in the implementations:
ENOTRECOVERABLE, ENOTSUP and EOWNERDEAD.
I did a bit of digging but couldn't actually find a copy of the POSIX.1-1996
definition of errno.h. If anybody does manage to find a copy I'm happy to go
through and check against that as well.
Thanks,
Richard
Richard Ipsum (4):
Define additional POSIX error numbers
simple: Add fdopen
Add sigpending, sigsuspend, sigwait, sigwaitinfo, sigtimedwait and
raise
Add license statements
Makefile | 1 +
findlua.mk | 1 +
luxio.c | 276 ++++++++++++++++++++++++++++++++++------
luxio/simple.lua | 18 +++
luxio_constants.inc.in | 52 +++++++-
tests/test-access.lua | 1 +
tests/test-creat.lua | 1 +
tests/test-dirent.lua | 1 +
tests/test-event-serv.lua | 1 +
tests/test-fcntl-lock-1.lua | 1 +
tests/test-fcntl-lock-2.lua | 1 +
tests/test-forkexecpwaitpid.lua | 1 +
tests/test-forkexecwaitpid.lua | 1 +
tests/test-http-client.lua | 1 +
tests/test-iconv.lua | 1 +
tests/test-mqueue-read.lua | 1 +
tests/test-mqueue-write.lua | 1 +
tests/test-poll-serv.lua | 1 +
tests/test-select.lua | 1 +
tests/test-setsid.lua | 1 +
tests/test-sigaction.lua | 1 +
tests/test-sigpending.lua | 18 +++
tests/test-sigprocmask.lua | 1 +
tests/test-sigsuspend.lua | 16 +++
tests/test-sigtimedwait.lua | 38 ++++++
tests/test-sigwait.lua | 22 ++++
tests/test-sigwaitinfo.lua | 22 ++++
tests/test-sio-http-client.lua | 1 +
tests/test-splice.lua | 1 +
tests/test-subprocess.lua | 1 +
tests/test-sysconf.lua | 1 +
tests/test-syslog.lua | 1 +
tests/test-termident.lua | 1 +
tests/test-uds-server.lua | 1 +
34 files changed, 446 insertions(+), 42 deletions(-)
create mode 100644 tests/test-sigpending.lua
create mode 100644 tests/test-sigsuspend.lua
create mode 100644 tests/test-sigtimedwait.lua
create mode 100644 tests/test-sigwait.lua
create mode 100644 tests/test-sigwaitinfo.lua
--
2.11.0
4 years
[PATCH 1/5] Define additional POSIX error numbers
by Richard Ipsum
Error numbers are defined according to:
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html
---
luxio_constants.inc.in | 51 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 49 insertions(+), 2 deletions(-)
diff --git a/luxio_constants.inc.in b/luxio_constants.inc.in
index 22a1f13..29f54ad 100644
--- a/luxio_constants.inc.in
+++ b/luxio_constants.inc.in
@@ -11,39 +11,86 @@ static const struct {
} luxio_numeric_constants[] = {
/* errors */
+ E(E2BIG),
E(EACCES),
+ E(EADDRINUSE),
E(EADDRNOTAVAIL),
E(EAFNOSUPPORT),
- E(EEXIST),
+ E(EAGAIN),
+ E(EALREADY),
E(EBADF),
+ E(EBADMSG),
+ E(EBUSY),
+ E(ECANCELED),
+ E(ECHILD),
+ E(ECONNABORTED),
+ E(ECONNREFUSED),
+ E(ECONNRESET),
+ E(EDEADLK),
+ E(EDESTADDRREQ),
+ E(EDOM),
+ E(EDQUOT),
+ E(EEXIST),
E(EFAULT),
E(EFBIG),
+ E(EHOSTUNREACH),
+ E(EIDRM),
+ E(EILSEQ),
+ E(EINPROGRESS),
E(EINTR),
+ E(EINVAL),
E(EIO),
+ E(EISCONN),
E(EISDIR),
- E(EINVAL),
E(ELOOP),
E(EMFILE),
+ E(EMLINK),
+ E(EMSGSIZE),
+#ifdef __linux__
+ E(EMULTIHOP),
+#endif
E(ENAMETOOLONG),
+ E(ENETDOWN),
+ E(ENETRESET),
+ E(ENETUNREACH),
E(ENFILE),
E(ENOBUFS),
E(ENODEV),
E(ENOENT),
+ E(ENOEXEC),
+ E(ENOLCK),
+#ifdef __linux__
+ E(ENOLINK),
+#endif
E(ENOMEM),
+ E(ENOMSG),
+ E(ENOPROTOOPT),
E(ENOSPC),
+ E(ENOSYS),
E(ENOTCONN),
E(ENOTDIR),
+ E(ENOTEMPTY),
+ E(ENOTRECOVERABLE),
E(ENOTSOCK),
+ E(ENOTSUP),
E(ENOTTY),
E(ENXIO),
+ E(EOPNOTSUPP),
E(EOVERFLOW),
+ E(EOWNERDEAD),
E(EPERM),
+ E(EPROTO),
E(EPROTONOSUPPORT),
+ E(EPROTOTYPE),
+ E(ERANGE),
E(EROFS),
? E(ESPIPE),
E(ESRCH),
+ E(ESTALE),
+ E(ETIMEDOUT),
E(ETXTBSY),
E(EWOULDBLOCK),
+ E(EXDEV),
/* open-related defines */
E(O_RDONLY),
--
2.11.0
4 years, 1 month