diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2019-02-19 16:23:24 +0000 |
---|---|---|
committer | Laurent Bercot <ska-skaware@skarnet.org> | 2019-02-19 16:23:24 +0000 |
commit | ff9333d473adb4ae1de2d9323394073793627823 (patch) | |
tree | 24780fca6ab8c57e5d8c5d98b61362af33bef4b8 /src/libunixonacid | |
parent | 15eda3d33f9e1160d438d370acd442ef3dbba63f (diff) | |
download | skalibs-ff9333d473adb4ae1de2d9323394073793627823.tar.xz |
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.
Diffstat (limited to 'src/libunixonacid')
-rw-r--r-- | src/libunixonacid/ipc_timed_send.c | 8 | ||||
-rw-r--r-- | src/libunixonacid/ipc_timed_sendv.c | 8 | ||||
-rw-r--r-- | src/libunixonacid/skaclient_default_cb.c | 3 | ||||
-rw-r--r-- | src/libunixonacid/skaclient_server_ack.c | 3 | ||||
-rw-r--r-- | src/libunixonacid/skaclient_start_cb.c | 3 | ||||
-rw-r--r-- | src/libunixonacid/textclient_command.c | 3 | ||||
-rw-r--r-- | src/libunixonacid/textclient_commandv.c | 3 | ||||
-rw-r--r-- | src/libunixonacid/textclient_server_init_frompipe.c | 3 | ||||
-rw-r--r-- | src/libunixonacid/textclient_server_init_fromsocket.c | 8 | ||||
-rw-r--r-- | src/libunixonacid/textclient_start.c | 4 | ||||
-rw-r--r-- | src/libunixonacid/textclient_startf.c | 3 | ||||
-rw-r--r-- | src/libunixonacid/unixmessage_put.c | 3 | ||||
-rw-r--r-- | src/libunixonacid/unixmessage_receive.c | 4 | ||||
-rw-r--r-- | src/libunixonacid/unixmessage_sender_flush.c | 8 |
14 files changed, 34 insertions, 30 deletions
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 <skalibs/nonposix.h> + #include <sys/socket.h> #include <errno.h> + +#include <skalibs/posixishard.h> #include <skalibs/error.h> #include <skalibs/iopause.h> #include <skalibs/unix-timed.h> - /* 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 <skalibs/nonposix.h> + #include <sys/socket.h> #include <errno.h> + +#include <skalibs/posixishard.h> #include <skalibs/error.h> #include <skalibs/iopause.h> #include <skalibs/siovec.h> #include <skalibs/unix-timed.h> - /* 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 <errno.h> -#include <skalibs/error.h> + +#include <skalibs/posixishard.h> #include <skalibs/skaclient.h> #include <skalibs/unixmessage.h> 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 <errno.h> #include <string.h> + +#include <skalibs/posixishard.h> #include <skalibs/djbunix.h> -#include <skalibs/error.h> #include <skalibs/skaclient.h> #include <skalibs/unixmessage.h> #include <skalibs/webipc.h> 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 <errno.h> #include <string.h> -#include <skalibs/error.h> + +#include <skalibs/posixishard.h> #include <skalibs/unixmessage.h> #include <skalibs/skaclient.h> #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 <sys/uio.h> #include <errno.h> -#include <skalibs/error.h> + +#include <skalibs/posixishard.h> #include <skalibs/textclient.h> 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 <sys/uio.h> #include <errno.h> -#include <skalibs/error.h> + +#include <skalibs/posixishard.h> #include <skalibs/textclient.h> 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 <stdlib.h> #include <fcntl.h> #include <errno.h> + +#include <skalibs/posixishard.h> #include <skalibs/types.h> -#include <skalibs/error.h> #include <skalibs/allreadwrite.h> #include <skalibs/djbunix.h> #include <skalibs/textmessage.h> 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 <skalibs/nonposix.h> + #include <sys/uio.h> #include <errno.h> #include <string.h> #include <sys/socket.h> + +#include <skalibs/posixishard.h> #include <skalibs/types.h> -#include <skalibs/error.h> #include <skalibs/allreadwrite.h> #include <skalibs/djbunix.h> #include <skalibs/unix-timed.h> #include <skalibs/textmessage.h> #include <skalibs/textclient.h> -#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 <skalibs/sysdeps.h> #include <skalibs/nonposix.h> + #include <sys/uio.h> #include <string.h> #include <errno.h> #include <sys/socket.h> -#include <skalibs/error.h> + +#include <skalibs/posixishard.h> #include <skalibs/allreadwrite.h> #include <skalibs/webipc.h> #include <skalibs/djbunix.h> 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 <sys/uio.h> #include <string.h> #include <errno.h> -#include <skalibs/error.h> + +#include <skalibs/posixishard.h> #include <skalibs/allreadwrite.h> #include <skalibs/djbunix.h> #include <skalibs/textmessage.h> 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 <string.h> #include <errno.h> + +#include <skalibs/posixishard.h> #include <skalibs/bitarray.h> #include <skalibs/disize.h> -#include <skalibs/error.h> #include <skalibs/stralloc.h> #include <skalibs/genalloc.h> #include <skalibs/siovec.h> 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 <skalibs/sysdeps.h> #include <skalibs/nonposix.h> + #include <errno.h> #include <sys/socket.h> #include <sys/uio.h> + +#include <skalibs/posixishard.h> #include <skalibs/uint16.h> #include <skalibs/uint32.h> #include <skalibs/cbuffer.h> #include <skalibs/djbunix.h> -#include <skalibs/error.h> #include <skalibs/allreadwrite.h> #include <skalibs/stralloc.h> #include <skalibs/unixmessage.h> 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 <skalibs/nonposix.h> + #include <sys/socket.h> #include <sys/uio.h> #include <string.h> #include <stdint.h> #include <unistd.h> #include <errno.h> + +#include <skalibs/posixishard.h> #include <skalibs/uint16.h> #include <skalibs/uint32.h> #include <skalibs/disize.h> @@ -15,11 +18,6 @@ #include <skalibs/djbunix.h> #include <skalibs/unixmessage.h> - /* MacOS X tries hard to be POSIX-compliant... and fails. */ -#ifndef MSG_NOSIGNAL -#define MSG_NOSIGNAL 0 -#endif - union aligner_u { struct cmsghdr cmsghdr ; |