diff options
author | olgeni <olgeni@FreeBSD.org> | 2015-04-24 21:15:00 +0800 |
---|---|---|
committer | olgeni <olgeni@FreeBSD.org> | 2015-04-24 21:15:00 +0800 |
commit | 03a7d2d5f409f2ac67def92eb07c4a75f61f213a (patch) | |
tree | 0544641103c3ad64456fdfbd6bf6139c2c10c9aa /lang/erlang-runtime15 | |
parent | 1a6971332aa4b248f8260240d1e1014669366904 (diff) | |
download | freebsd-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/Makefile | 5 | ||||
-rw-r--r-- | lang/erlang-runtime15/files/patch-erts_emulator_drivers_common_efile__drv.c | 15 |
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; |