anchor.diff:  	{stop,normal,P};
   handle_info(timeout,P) ->
   	case P#dp.callsininterval of
  -		0 when P#dp.permanent == false, P#dp.callcount == 0, P#dp.direction == sender ->
  +		0 when P#dp.permanent == false, P#dp.callcount == 0, P#dp.direction == sender, P#dp.isolated == false ->
   			% If nothing is going on, first unreg,
   			%  then in next timeout die off. To prevent any race conditions.
   			case P#dp.connected_to of
  
positive.code: 			exit(false)
  	end.
  
  exec_gather(Home,Bin) ->
  	erlang:monitor(process,Home),
  	exec_sum(Home,Bin).
  exec_sum(Home,Bin) ->
  	receive
  		{chunk,C} ->
  			exec_sum(Home,<<Bin/binary,C/binary>>);
  		{'DOWN',_Monitor,_,Home,_Reason} ->
  			ok;
  		{done,C} ->
  			exec(Home,<<Bin/binary,C/binary>>)
  	end.
  
  exec(Home,Msg) ->
  	case binary_to_term(Msg) of
  		{rpcreply,{From,X}} ->
  			gen_server:reply(From,X),
  
negative.code: 			{noreply,P#dp{direction = tunnel, isinit = true, permanent = true, connected_to = From,
  						  tunnelmod = binary_to_existing_atom(Mod,latin1)}}
  	end;
  handle_info({tcp,_S,_Bin},#dp{direction = tunnel, isolated = true} = P) ->
  	{noreply,P};
  handle_info({tcp,_S,Bin},#dp{direction = tunnel} = P) ->
  	case catch apply(P#dp.tunnelmod,tunnel_bin,[P#dp.tunnelstate,Bin]) of
  		{'EXIT',_Err}  ->
  