diff options
author | Raimo Niskanen <[email protected]> | 2017-10-11 10:35:07 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2017-10-11 10:35:07 +0200 |
commit | 5c917e33b53a397b30ca56a9cdd9922d9df19e7d (patch) | |
tree | 2665cd7f5270c6a4b367b2f089850ff4d0ed271d /lib | |
parent | a49cfca9f9b42c18a0d1127348f68f2827dd126f (diff) | |
parent | 8efef4a2b75a7c7db54cb1b2d4b7ed36bba78db9 (diff) | |
download | otp-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')
-rw-r--r-- | lib/stdlib/doc/src/gen_statem.xml | 10 | ||||
-rw-r--r-- | lib/stdlib/src/gen_statem.erl | 2 |
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 < 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,_} -> |