diff options
author | Hans Bolinder <[email protected]> | 2010-10-21 09:43:00 +0200 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2010-10-21 09:43:00 +0200 |
commit | 9040272e941352944a2e9294230f0c46e27c5a45 (patch) | |
tree | 67ccaa2eaf1949abea2349b57d469f7b6177a1b6 /lib/stdlib/src/dets.erl | |
parent | 4e79fa3b1b6797f2583848d307d6b85cec94a920 (diff) | |
parent | ac96033fc95304a43813cd5a4a75aeefe6299a2d (diff) | |
download | otp-9040272e941352944a2e9294230f0c46e27c5a45.tar.gz otp-9040272e941352944a2e9294230f0c46e27c5a45.tar.bz2 otp-9040272e941352944a2e9294230f0c46e27c5a45.zip |
Merge branch 'hb/stdlib/dets_stream_op/OTP-8899' into dev
* hb/stdlib/dets_stream_op/OTP-8899:
Fix a bug that could cause 'bad_object' errors
Conflicts:
lib/stdlib/test/dets_SUITE.erl
Diffstat (limited to 'lib/stdlib/src/dets.erl')
-rw-r--r-- | lib/stdlib/src/dets.erl | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/stdlib/src/dets.erl b/lib/stdlib/src/dets.erl index 79bebada4d..c23f77cdfa 100644 --- a/lib/stdlib/src/dets.erl +++ b/lib/stdlib/src/dets.erl @@ -1094,7 +1094,9 @@ do_apply_op(Op, From, Head, N) -> {N2, H2} when is_record(H2, head), is_integer(N2) -> open_file_loop(H2, N2); H2 when is_record(H2, head) -> - open_file_loop(H2, N) + open_file_loop(H2, N); + {{more,From1,Op1,N1}, NewHead} -> + do_apply_op(Op1, From1, NewHead, N1) catch exit:normal -> exit(normal); @@ -1436,7 +1438,7 @@ stream_end2([], Ps, no_more, N, C, Head, _Reply) -> penalty(Head, Ps, C), {N, Head}; stream_end2([], _Ps, {From, Op}, N, _C, Head, _Reply) -> - apply_op(Op, From, Head, N). + {{more,From,Op,N},Head}. penalty(H, _Ps, _C) when H#head.fixed =:= false -> ok; |