diff options
author | Lukas Larsson <[email protected]> | 2016-08-17 12:02:58 +0200 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2016-08-17 12:02:58 +0200 |
commit | 7b1cda1f97cd3ec91e7111b22aeffa3b5a6812f1 (patch) | |
tree | c494e75e3c54bc8172277df45b6c2cec31c884d5 /lib/kernel/src | |
parent | b412ea7ed2513400bcaa63581ae68219e7cce2d6 (diff) | |
parent | 71894a879d6254693791585246ce340dd7414b82 (diff) | |
download | otp-7b1cda1f97cd3ec91e7111b22aeffa3b5a6812f1.tar.gz otp-7b1cda1f97cd3ec91e7111b22aeffa3b5a6812f1.tar.bz2 otp-7b1cda1f97cd3ec91e7111b22aeffa3b5a6812f1.zip |
Merge branch 'maint-19' into maint
* maint-19:
Updated OTP version
Prepare release
erts: Make sure to flush potential exit message
Diffstat (limited to 'lib/kernel/src')
-rw-r--r-- | lib/kernel/src/os.erl | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/lib/kernel/src/os.erl b/lib/kernel/src/os.erl index 81b70a7fee..05bbf1069e 100644 --- a/lib/kernel/src/os.erl +++ b/lib/kernel/src/os.erl @@ -279,15 +279,11 @@ get_data(Port, MonRef, Eot, Sofar) -> Last -> Port ! {self(), close}, flush_until_closed(Port), + flush_exit(Port), iolist_to_binary([Sofar, Last]) end; {'DOWN', MonRef, _, _ , _} -> - receive - {'EXIT', Port, _} -> - ok - after 1 -> % force context switch - ok - end, + flush_exit(Port), iolist_to_binary(Sofar) end. @@ -307,3 +303,11 @@ flush_until_closed(Port) -> {Port, closed} -> true end. + +flush_exit(Port) -> + receive + {'EXIT', Port, _} -> + ok + after 1 -> % force context switch + ok + end. |