aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
authorFredrik Gustafsson <[email protected]>2013-06-04 14:41:11 +0200
committerFredrik Gustafsson <[email protected]>2013-06-04 14:41:11 +0200
commit57b24ccd49fc005d685aeebd363531a8ed86e6bc (patch)
treecccfa608d4aa543a60151352fbdbec01760b2c42 /erts
parente83fd8f94aba352b6cc055d2b4cfff007911b6d4 (diff)
parent66c5325d80aaee54bda10ff0ebb4c79a4fea24d0 (diff)
downloadotp-57b24ccd49fc005d685aeebd363531a8ed86e6bc.tar.gz
otp-57b24ccd49fc005d685aeebd363531a8ed86e6bc.tar.bz2
otp-57b24ccd49fc005d685aeebd363531a8ed86e6bc.zip
Merge branch 'maint'
Conflicts: bootstrap/lib/stdlib/ebin/erl_pp.beam
Diffstat (limited to 'erts')
-rw-r--r--erts/emulator/drivers/common/efile_drv.c4
-rw-r--r--erts/test/z_SUITE.erl9
2 files changed, 9 insertions, 4 deletions
diff --git a/erts/emulator/drivers/common/efile_drv.c b/erts/emulator/drivers/common/efile_drv.c
index 6cc1295973..595b0488a8 100644
--- a/erts/emulator/drivers/common/efile_drv.c
+++ b/erts/emulator/drivers/common/efile_drv.c
@@ -1679,10 +1679,10 @@ static void invoke_pwritev(void *data) {
d->again = 0;
}
} else
- ASSERT(written == FILE_SEGMENT_WRITE);
+ ASSERT(written >= FILE_SEGMENT_WRITE);
MUTEX_LOCK(d->c.writev.q_mtx);
- driver_deq(d->c.pwritev.port, size);
+ driver_deq(d->c.pwritev.port, written);
MUTEX_UNLOCK(d->c.writev.q_mtx);
done:
EF_FREE(iov); /* Free our copy of the vector, nothing to restore */
diff --git a/erts/test/z_SUITE.erl b/erts/test/z_SUITE.erl
index 78968ed405..9abc73c081 100644
--- a/erts/test/z_SUITE.erl
+++ b/erts/test/z_SUITE.erl
@@ -190,8 +190,13 @@ file_inspect(#core_search_conf{file = File}, Core) ->
probably_a_core
end.
-mk_readable(F) ->
- catch file:write_file_info(F, #file_info{mode = 8#00444}).
+mk_readable(F) ->
+ try
+ {ok, Old} = file:read_file_info(F),
+ file:write_file_info(F, Old#file_info{mode = 8#00444})
+ catch
+ _:_ -> io:format("Failed to \"chmod\" core file ~p\n", [F])
+ end.
ignore_core(C) ->
filelib:is_regular(filename:join([filename:dirname(C),