anchor.diff:  
   do_busy_disconnect_passive2(MuchoData, N) ->
       ?P("[passive,~w] *** prepare server *** ", [N]),
  -    S = busy_disconnect_prepare_server([{active,false}]),
  +    {_Server, S} = busy_disconnect_prepare_server([{active,false}]),
       ?P("[passive,~w] server prepared - start sending", [N]),
       busy_disconnect_passive_send(S, MuchoData).
   
   busy_disconnect_passive_send(S, Data) ->
       case gen_tcp:send(S, Data) of
  -	ok -> busy_disconnect_passive_send(S, Data);
  -	{error,closed} -> ok
  +	ok ->
  +            busy_disconnect_passive_send(S, Data);
  +	{error, closed} ->
  +            ok
       end.
   
   %%%
  
positive.code:     A = setup_timeout_sink(RNode, 1000, AutoClose),
      Self = self(),
      SenderFun = fun() ->
  			Send = fun() -> gen_tcp:send(A, BinData) end,
  			{error,Error} = timeout_sink_loop(Send),
  			Self ! {error,Error}
  		end,
      ?P("[para] spawn process 1 with sender fun"),
      spawn_link(SenderFun),
      ?P("[para] spawn process 2 with sender fun"),
      spawn_link(SenderFun),
  
      ?P("[para] await sender timeout"),
      receive
  	{error, timeout} ->
              ?P("[para] timeout received"),
              ok
      after 10000 ->
              ?P("[para] UNEXPECTED timeout(1,~w)", [AutoClose]),
  	    exit({timeout, AutoClose})
      end,
  
  
negative.code: 
  do_busy_disconnect_active2(MuchoData, N) ->
      ?P("[active,~w] *** prepare server *** ", [N]),
      {Server, S} = busy_disconnect_prepare_server([{active,true}]),
      ?P("[active,~w] server prepared - start sending", [N]),
      busy_disconnect_active_send(Server, S, MuchoData).
  
  busy_disconnect_active_send(Server, S, Data) ->
      case gen_tcp:send(S, Data) of
  	ok ->
              busy_disconnect_active_send(Server, S, Data);
  	{error, closed} ->
              ?P("[active-sender] send failed with closed - await tcp-closed"),
              busy_disconnect_active_send_await_closed(Server, S);
          {error, einval = Reason} ->
              ?P("[active-sender] UNEXPECTED send failure:"
                 "~n   ~p", [Reason]),
              ?SKIPT(send_failed_str(Reason));
  
          {error, Reason} ->
              ?P("[active-sender] UNEXPECTED send failure:"
                 "~n   ~p", [Reason]),
              ct:fail({unexpected_send_result, Reason})
      end.
  
  busy_disconnect_active_send_await_closed(Server, S) ->
      receive
          {tcp_closed, S} ->
              ?P("[active-sender] received tcp-closed"),
              ok;
  
          {'EXIT', Server, normal} ->
              ?P("[active-sender] received server (normal) exit"),
              busy_disconnect_active_send_await_closed(Server, S);
  
          Other ->
              ?P("[active-sender] received UNEXPECTED message:"
                 "~n   ~p", [Other]),
              ct:fail({unexpected, Other, S, flush([])})
      end.
      
  
  busy_disconnect_prepare_server(ConnectOpts) ->
      Sender = self(),
  