aboutsummaryrefslogtreecommitdiffstats
path: root/lang/erlang-runtime15
diff options
context:
space:
mode:
authorolgeni <olgeni@FreeBSD.org>2015-04-24 21:15:00 +0800
committerolgeni <olgeni@FreeBSD.org>2015-04-24 21:15:00 +0800
commit03a7d2d5f409f2ac67def92eb07c4a75f61f213a (patch)
tree0544641103c3ad64456fdfbd6bf6139c2c10c9aa /lang/erlang-runtime15
parent1a6971332aa4b248f8260240d1e1014669366904 (diff)
downloadfreebsd-ports-gnome-03a7d2d5f409f2ac67def92eb07c4a75f61f213a.tar.gz
freebsd-ports-gnome-03a7d2d5f409f2ac67def92eb07c4a75f61f213a.tar.zst
freebsd-ports-gnome-03a7d2d5f409f2ac67def92eb07c4a75f61f213a.zip
Fix implementation of sendfile function on FreeBSD.
Also, replace USE_AUTOTOOLS with USES=autoreconf while I'm here. PR: 199649 Submitted by: Stefan Grundmann
Diffstat (limited to 'lang/erlang-runtime15')
-rw-r--r--lang/erlang-runtime15/Makefile5
-rw-r--r--lang/erlang-runtime15/files/patch-erts_emulator_drivers_common_efile__drv.c15
2 files changed, 13 insertions, 7 deletions
diff --git a/lang/erlang-runtime15/Makefile b/lang/erlang-runtime15/Makefile
index 92ed10e97651..20be86e8fd6e 100644
--- a/lang/erlang-runtime15/Makefile
+++ b/lang/erlang-runtime15/Makefile
@@ -3,7 +3,7 @@
PORTNAME= erlang
PORTVERSION= 15.b.03.1
-PORTREVISION= 7
+PORTREVISION= 8
CATEGORIES= lang parallel java
MASTER_SITES= http://www.erlang.org/download/:erlangorg \
http://erlang.stacken.kth.se/download/:erlangorg \
@@ -43,8 +43,7 @@ OPTIONS_EXCLUDE_DragonFly= SCTP
ERL_RELEASE= R${PORTVERSION:S/.//g:tu:S/1$/-1/}
-USES= gmake perl5
-USE_AUTOTOOLS= autoconf:env
+USES= autoreconf gmake perl5
USE_PERL5= build
GNU_CONFIGURE= yes
LDFLAGS+= -L${LOCALBASE}/lib
diff --git a/lang/erlang-runtime15/files/patch-erts_emulator_drivers_common_efile__drv.c b/lang/erlang-runtime15/files/patch-erts_emulator_drivers_common_efile__drv.c
index dedf69150029..49b55a31d613 100644
--- a/lang/erlang-runtime15/files/patch-erts_emulator_drivers_common_efile__drv.c
+++ b/lang/erlang-runtime15/files/patch-erts_emulator_drivers_common_efile__drv.c
@@ -285,7 +285,14 @@ $FreeBSD$
DTRACE_INVOKE_RETURN(FILE_FADVISE);
}
-@@ -1906,6 +1968,7 @@
+@@ -1901,11 +1963,14 @@
+ d->result_ok = 1;
+ if (d->c.sendfile.nbytes != 0)
+ d->c.sendfile.nbytes -= nbytes;
++ } else if (nbytes == 0 && d->c.sendfile.nbytes == 0) {
++ d->result_ok = 1;
+ } else
+ d->result_ok = 0;
} else {
d->result_ok = -1;
}
@@ -293,7 +300,7 @@ $FreeBSD$
}
static void free_sendfile(void *data) {
-@@ -2023,6 +2086,21 @@
+@@ -2023,6 +2088,21 @@
return;
TRACE_F(("x%i", (int) d->command));
d->again = sys_info.async_threads == 0;
@@ -315,7 +322,7 @@ $FreeBSD$
DRIVER_ASYNC(d->level, desc, d->invoke, void_ptr=d, d->free);
}
-@@ -2247,6 +2325,8 @@
+@@ -2247,6 +2327,8 @@
return;
}
@@ -324,7 +331,7 @@ $FreeBSD$
switch (d->command)
{
case FILE_READ:
-@@ -2375,6 +2455,10 @@
+@@ -2375,6 +2457,10 @@
} else {
desc->fd = d->fd;
desc->flags = d->flags;