diff options
author | Björn Gustavsson <bjorn@erlang.org> | 2014-03-05 12:53:39 +0100 |
---|---|---|
committer | Björn Gustavsson <bjorn@erlang.org> | 2014-03-05 12:53:39 +0100 |
commit | f4346705566f668b5cf88b91c5c79cec215a6ad6 (patch) | |
tree | 23bdce04d6ddaf5d1c4b7b6d7ed253c44b152239 /lib/compiler | |
parent | a15b25bbd09b91040ba92c65c287ad04b1bc2a30 (diff) | |
parent | adade27df2a89887ff44ef54e59996effafb6419 (diff) | |
download | otp-f4346705566f668b5cf88b91c5c79cec215a6ad6.tar.gz otp-f4346705566f668b5cf88b91c5c79cec215a6ad6.tar.bz2 otp-f4346705566f668b5cf88b91c5c79cec215a6ad6.zip |
Merge branch 'nox/compiler/live_opt-wait_timeout-nil'
* nox/compiler/live_opt-wait_timeout-nil:
Handle nil as a wait_timeout argument in beam_utils:live_opt/4
Diffstat (limited to 'lib/compiler')
-rw-r--r-- | lib/compiler/src/beam_utils.erl | 2 | ||||
-rw-r--r-- | lib/compiler/test/receive_SUITE.erl | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/lib/compiler/src/beam_utils.erl b/lib/compiler/src/beam_utils.erl index 27034aecce..8ca368c167 100644 --- a/lib/compiler/src/beam_utils.erl +++ b/lib/compiler/src/beam_utils.erl @@ -748,6 +748,8 @@ live_opt([{try_end,_}=I|Is], Regs, D, Acc) -> live_opt(Is, Regs, D, [I|Acc]); live_opt([{loop_rec_end,_}=I|Is], Regs, D, Acc) -> live_opt(Is, Regs, D, [I|Acc]); +live_opt([{wait_timeout,_,nil}=I|Is], Regs, D, Acc) -> + live_opt(Is, Regs, D, [I|Acc]); live_opt([{wait_timeout,_,{Tag,_}}=I|Is], Regs, D, Acc) when Tag =/= x -> live_opt(Is, Regs, D, [I|Acc]); live_opt([{line,_}=I|Is], Regs, D, Acc) -> diff --git a/lib/compiler/test/receive_SUITE.erl b/lib/compiler/test/receive_SUITE.erl index ec49267ded..00a6e900d4 100644 --- a/lib/compiler/test/receive_SUITE.erl +++ b/lib/compiler/test/receive_SUITE.erl @@ -257,6 +257,7 @@ wait(Config) when is_list(Config) -> self() ! <<42>>, <<42>> = wait_1(r, 1, 2), {1,2,3} = wait_1(1, 2, 3), + {'EXIT',{timeout_value,_}} = (catch receive after [] -> timeout end), ok. wait_1(r, _, _) -> |