aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/src/file_io_server.erl
diff options
context:
space:
mode:
authorPatrik Nyblom <[email protected]>2012-03-05 17:29:03 +0100
committerPatrik Nyblom <[email protected]>2012-03-22 18:16:14 +0100
commitdb4ddca4d9709965121fba9a1f9cc68226f35a0c (patch)
treef3a6719ac33760ed669b5c1d84aca67626cec4cb /lib/kernel/src/file_io_server.erl
parentcca350ef2206a81c0f8969071f412f07b87413a1 (diff)
downloadotp-db4ddca4d9709965121fba9a1f9cc68226f35a0c.tar.gz
otp-db4ddca4d9709965121fba9a1f9cc68226f35a0c.tar.bz2
otp-db4ddca4d9709965121fba9a1f9cc68226f35a0c.zip
Correct some errors in the user tag spreading
Diffstat (limited to 'lib/kernel/src/file_io_server.erl')
-rw-r--r--lib/kernel/src/file_io_server.erl3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/kernel/src/file_io_server.erl b/lib/kernel/src/file_io_server.erl
index 14da9c1a55..6369a5250c 100644
--- a/lib/kernel/src/file_io_server.erl
+++ b/lib/kernel/src/file_io_server.erl
@@ -57,9 +57,11 @@ start_link(Owner, FileName, ModeList)
do_start(Spawn, Owner, FileName, ModeList) ->
Self = self(),
Ref = make_ref(),
+ Utag = erlang:spread_utag(true),
Pid =
erlang:Spawn(
fun() ->
+ erlang:restore_utag(Utag),
%% process_flag(trap_exit, true),
case parse_options(ModeList) of
{ReadMode, UnicodeMode, Opts} ->
@@ -84,6 +86,7 @@ do_start(Spawn, Owner, FileName, ModeList) ->
exit(Reason1)
end
end),
+ erlang:restore_utag(Utag),
Mref = erlang:monitor(process, Pid),
receive
{Ref, {error, _Reason} = Error} ->