summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--libs/nixio/Makefile8
-rw-r--r--libs/nixio/src/splice.c4
2 files changed, 11 insertions, 1 deletions
diff --git a/libs/nixio/Makefile b/libs/nixio/Makefile
index f70f75421c..c65822f081 100644
--- a/libs/nixio/Makefile
+++ b/libs/nixio/Makefile
@@ -10,8 +10,14 @@ AXTLS_VERSION = 1.2.1
AXTLS_DIR = axTLS
AXTLS_FILE = $(AXTLS_DIR)-$(AXTLS_VERSION).tar.gz
NIXIO_TLS ?= openssl
-NIXIO_LDFLAGS = -lcrypt
NIXIO_SO = nixio.so
+NIXIO_LDFLAGS =
+
+ifeq (,$(findstring Darwin,$(OS)))
+ NIXIO_LDFLAGS += -lcrypt
+else
+ EXTRA_CFLAGS += -D__DARWIN__
+endif
NIXIO_OBJ = src/nixio.o src/socket.o src/sockopt.o src/bind.o src/address.o \
src/poll.o src/io.o src/file.o src/splice.o src/process.o src/syslog.o \
diff --git a/libs/nixio/src/splice.c b/libs/nixio/src/splice.c
index 8b4f2a1ac0..4f7c04301c 100644
--- a/libs/nixio/src/splice.c
+++ b/libs/nixio/src/splice.c
@@ -143,7 +143,11 @@ static int nixio_sendfile(lua_State *L) {
const off_t offset = lseek(infd, 0, SEEK_CUR);
do {
+#ifdef __DARWIN__
+ r = sendfile(infd, sock, offset, len, NULL, 0);
+#else
r = sendfile(infd, sock, offset, len, NULL, &spliced, 0);
+#endif
} while (r == -1 && errno == EINTR);
if (r == -1) {