diff options
Diffstat (limited to 'lib/kernel')
| -rw-r--r-- | lib/kernel/src/file.erl | 11 | ||||
| -rw-r--r-- | lib/kernel/src/file_io_server.erl | 3 | 
2 files changed, 9 insertions, 5 deletions
| diff --git a/lib/kernel/src/file.erl b/lib/kernel/src/file.erl index 3a618976f5..b281151778 100644 --- a/lib/kernel/src/file.erl +++ b/lib/kernel/src/file.erl @@ -1416,15 +1416,16 @@ mode_list(_) ->  %% Functions for communicating with the file server  call(Command, Args) when is_list(Args) -> -    gen_server:call(?FILE_SERVER, list_to_tuple([Command | Args]), infinity). +    X = erlang:spread_utag(true), +    Y = gen_server:call(?FILE_SERVER, list_to_tuple([Command | Args]),  +			infinity), +    erlang:restore_utag(X), +    Y.  check_and_call(Command, Args) when is_list(Args) ->      case check_args(Args) of  	ok -> -	    X = erlang:spread_utag(true), -	    Y = call(Command, Args), -	    erlang:restore_utag(X), -	    Y; +	    call(Command, Args);  	Error ->  	    Error      end. 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} -> | 
