aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib
diff options
context:
space:
mode:
authorRaimo Niskanen <[email protected]>2017-10-11 10:35:07 +0200
committerGitHub <[email protected]>2017-10-11 10:35:07 +0200
commit5c917e33b53a397b30ca56a9cdd9922d9df19e7d (patch)
tree2665cd7f5270c6a4b367b2f089850ff4d0ed271d /lib/stdlib
parenta49cfca9f9b42c18a0d1127348f68f2827dd126f (diff)
parent8efef4a2b75a7c7db54cb1b2d4b7ed36bba78db9 (diff)
downloadotp-5c917e33b53a397b30ca56a9cdd9922d9df19e7d.tar.gz
otp-5c917e33b53a397b30ca56a9cdd9922d9df19e7d.tar.bz2
otp-5c917e33b53a397b30ca56a9cdd9922d9df19e7d.zip
Merge pull request #1595 from RaimoNiskanen/raimo/stdlib/gen_statem-clean_timeout-infinity/OTP-13073
Change gen_statem:call(_, _, {clean_timeout,infinity}) to use proxy
Diffstat (limited to 'lib/stdlib')
-rw-r--r--lib/stdlib/doc/src/gen_statem.xml10
-rw-r--r--lib/stdlib/src/gen_statem.erl2
2 files changed, 7 insertions, 5 deletions
diff --git a/lib/stdlib/doc/src/gen_statem.xml b/lib/stdlib/doc/src/gen_statem.xml
index 8de6ed754f..4a824f073e 100644
--- a/lib/stdlib/doc/src/gen_statem.xml
+++ b/lib/stdlib/doc/src/gen_statem.xml
@@ -1329,7 +1329,7 @@ handle_event(_, _, State, Data) ->
<c><anno>T</anno></c> is the time-out time.
<c>{clean_timeout,<anno>T</anno>}</c> works like
just <c>T</c> described in the note above
- and uses a proxy process for <c>T &lt; infinity</c>,
+ and uses a proxy process
while <c>{dirty_timeout,<anno>T</anno>}</c>
bypasses the proxy process which is more lightweight.
</p>
@@ -1339,8 +1339,12 @@ handle_event(_, _, State, Data) ->
with <c>{dirty_timeout,<anno>T</anno>}</c>
to avoid that the calling process dies when the call
times out, you will have to be prepared to handle
- a late reply.
- So why not just let the calling process die?
+ a late reply. Note that there is an odd chance
+ to get a late reply even with
+ <c>{dirty_timeout,infinity}</c> or <c>infinity</c>
+ for example in the event of network problems.
+ So why not just let the calling process die
+ by not catching the exception?
</p>
</note>
<p>
diff --git a/lib/stdlib/src/gen_statem.erl b/lib/stdlib/src/gen_statem.erl
index 57b6f7ee34..cd6312855d 100644
--- a/lib/stdlib/src/gen_statem.erl
+++ b/lib/stdlib/src/gen_statem.erl
@@ -510,8 +510,6 @@ call(ServerRef, Request, Timeout) ->
parse_timeout(Timeout) ->
case Timeout of
- {clean_timeout,infinity} ->
- {dirty_timeout,infinity};
{clean_timeout,_} ->
Timeout;
{dirty_timeout,_} ->