From ff9333d473adb4ae1de2d9323394073793627823 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Tue, 19 Feb 2019 16:23:24 +0000 Subject: Add skalibs/posixishard.h This will break things. It's a known issue. Patches to other packages will come later, to adapt them to the new API. To work around brokenness, there needs to be *two* different headers: 1. one to be used before including system headers, that maximizes visibility by enabling system-dependent feature test macros (that will be tested by system headers) 2. one to be used after including system headers, that performs preprocessor tests and defines. skalibs/nonposix.h is the first one. Previously, there was no second one, and the tests were scattered all over. There was a strnlen declaration in skalibs/posixplz.h (which serves a totally different function: declaring things that should be in POSIX, but *are not*, i.e. working around problems in the standard, instead of problems in systems failing to respect the standard), a build-time sysdep for error.h, #defines for MSG_NOSIGNAL, etc. etc. skalibs/posixishard.h now is the second one, and centralizes all the tests. As a result, the eproto sysdep is unnecessary and has been removed. skalibs/error.h is now a static header, it is not built anymore. --- src/libunixonacid/ipc_timed_send.c | 8 +++----- src/libunixonacid/ipc_timed_sendv.c | 8 +++----- src/libunixonacid/skaclient_default_cb.c | 3 ++- src/libunixonacid/skaclient_server_ack.c | 3 ++- src/libunixonacid/skaclient_start_cb.c | 3 ++- src/libunixonacid/textclient_command.c | 3 ++- src/libunixonacid/textclient_commandv.c | 3 ++- src/libunixonacid/textclient_server_init_frompipe.c | 3 ++- src/libunixonacid/textclient_server_init_fromsocket.c | 8 +++----- src/libunixonacid/textclient_start.c | 4 +++- src/libunixonacid/textclient_startf.c | 3 ++- src/libunixonacid/unixmessage_put.c | 3 ++- src/libunixonacid/unixmessage_receive.c | 4 +++- src/libunixonacid/unixmessage_sender_flush.c | 8 +++----- 14 files changed, 34 insertions(+), 30 deletions(-) (limited to 'src/libunixonacid') diff --git a/src/libunixonacid/ipc_timed_send.c b/src/libunixonacid/ipc_timed_send.c index eeae453..e1e75a4 100644 --- a/src/libunixonacid/ipc_timed_send.c +++ b/src/libunixonacid/ipc_timed_send.c @@ -1,17 +1,15 @@ /* ISC license. */ #include + #include #include + +#include #include #include #include - /* For MacOS, that still doesn't know what POSIX says */ -#ifndef MSG_NOSIGNAL -#define MSG_NOSIGNAL 0 -#endif - int ipc_timed_send (int fd, char const *s, size_t len, tain_t const *deadline, tain_t *stamp) { iopause_fd x = { .fd = fd, .events = IOPAUSE_WRITE, .revents = 0 } ; diff --git a/src/libunixonacid/ipc_timed_sendv.c b/src/libunixonacid/ipc_timed_sendv.c index 220b2e3..0fe5b1e 100644 --- a/src/libunixonacid/ipc_timed_sendv.c +++ b/src/libunixonacid/ipc_timed_sendv.c @@ -1,18 +1,16 @@ /* ISC license. */ #include + #include #include + +#include #include #include #include #include - /* For MacOS, that still doesn't know what POSIX says */ -#ifndef MSG_NOSIGNAL -#define MSG_NOSIGNAL 0 -#endif - int ipc_timed_sendv (int fd, struct iovec const *v, unsigned int n, tain_t const *deadline, tain_t *stamp) { struct msghdr hdr = diff --git a/src/libunixonacid/skaclient_default_cb.c b/src/libunixonacid/skaclient_default_cb.c index 10934e5..5bf0268 100644 --- a/src/libunixonacid/skaclient_default_cb.c +++ b/src/libunixonacid/skaclient_default_cb.c @@ -1,7 +1,8 @@ /* ISC license. */ #include -#include + +#include #include #include diff --git a/src/libunixonacid/skaclient_server_ack.c b/src/libunixonacid/skaclient_server_ack.c index 715e128..b55eb07 100644 --- a/src/libunixonacid/skaclient_server_ack.c +++ b/src/libunixonacid/skaclient_server_ack.c @@ -2,8 +2,9 @@ #include #include + +#include #include -#include #include #include #include diff --git a/src/libunixonacid/skaclient_start_cb.c b/src/libunixonacid/skaclient_start_cb.c index 80cb6c3..0c4ef49 100644 --- a/src/libunixonacid/skaclient_start_cb.c +++ b/src/libunixonacid/skaclient_start_cb.c @@ -2,7 +2,8 @@ #include #include -#include + +#include #include #include #include "skaclient-internal.h" diff --git a/src/libunixonacid/textclient_command.c b/src/libunixonacid/textclient_command.c index 2e72a4c..56c7122 100644 --- a/src/libunixonacid/textclient_command.c +++ b/src/libunixonacid/textclient_command.c @@ -2,7 +2,8 @@ #include #include -#include + +#include #include int textclient_command (textclient_t *a, char const *s, size_t len, tain_t const *deadline, tain_t *stamp) diff --git a/src/libunixonacid/textclient_commandv.c b/src/libunixonacid/textclient_commandv.c index 5bcd411..ec61498 100644 --- a/src/libunixonacid/textclient_commandv.c +++ b/src/libunixonacid/textclient_commandv.c @@ -2,7 +2,8 @@ #include #include -#include + +#include #include int textclient_commandv (textclient_t *a, struct iovec const *v, unsigned int n, tain_t const *deadline, tain_t *stamp) diff --git a/src/libunixonacid/textclient_server_init_frompipe.c b/src/libunixonacid/textclient_server_init_frompipe.c index fb85b44..e606eeb 100644 --- a/src/libunixonacid/textclient_server_init_frompipe.c +++ b/src/libunixonacid/textclient_server_init_frompipe.c @@ -4,8 +4,9 @@ #include #include #include + +#include #include -#include #include #include #include diff --git a/src/libunixonacid/textclient_server_init_fromsocket.c b/src/libunixonacid/textclient_server_init_fromsocket.c index e58df2b..b7f4e84 100644 --- a/src/libunixonacid/textclient_server_init_fromsocket.c +++ b/src/libunixonacid/textclient_server_init_fromsocket.c @@ -1,22 +1,20 @@ /* ISC license. */ #include + #include #include #include #include + +#include #include -#include #include #include #include #include #include -#ifndef MSG_NOSIGNAL -#define MSG_NOSIGNAL 0 -#endif - union aligner_u { struct cmsghdr cmsghdr ; diff --git a/src/libunixonacid/textclient_start.c b/src/libunixonacid/textclient_start.c index 8cb7bcd..8eb8b13 100644 --- a/src/libunixonacid/textclient_start.c +++ b/src/libunixonacid/textclient_start.c @@ -2,11 +2,13 @@ #include #include + #include #include #include #include -#include + +#include #include #include #include diff --git a/src/libunixonacid/textclient_startf.c b/src/libunixonacid/textclient_startf.c index 6a6f0fc..12c2b20 100644 --- a/src/libunixonacid/textclient_startf.c +++ b/src/libunixonacid/textclient_startf.c @@ -3,7 +3,8 @@ #include #include #include -#include + +#include #include #include #include diff --git a/src/libunixonacid/unixmessage_put.c b/src/libunixonacid/unixmessage_put.c index a8701ee..a2ac302 100644 --- a/src/libunixonacid/unixmessage_put.c +++ b/src/libunixonacid/unixmessage_put.c @@ -2,9 +2,10 @@ #include #include + +#include #include #include -#include #include #include #include diff --git a/src/libunixonacid/unixmessage_receive.c b/src/libunixonacid/unixmessage_receive.c index 15d08ae..811baae 100644 --- a/src/libunixonacid/unixmessage_receive.c +++ b/src/libunixonacid/unixmessage_receive.c @@ -2,14 +2,16 @@ #include #include + #include #include #include + +#include #include #include #include #include -#include #include #include #include diff --git a/src/libunixonacid/unixmessage_sender_flush.c b/src/libunixonacid/unixmessage_sender_flush.c index fa1438f..3f096f0 100644 --- a/src/libunixonacid/unixmessage_sender_flush.c +++ b/src/libunixonacid/unixmessage_sender_flush.c @@ -1,12 +1,15 @@ /* ISC license. */ #include + #include #include #include #include #include #include + +#include #include #include #include @@ -15,11 +18,6 @@ #include #include - /* MacOS X tries hard to be POSIX-compliant... and fails. */ -#ifndef MSG_NOSIGNAL -#define MSG_NOSIGNAL 0 -#endif - union aligner_u { struct cmsghdr cmsghdr ; -- cgit v1.2.3