anchor.diff:              ?P("[master] send timeout: server send queue full (N = ~w+1)", [N]),
               %% Send queue full, sender blocked 
               %% -> stop sender and release client
  -            ?P("Send timeout, time to receive..."),
               Server ! {self(), close},
               Client ! {self(), recv, N+1},
  +            ?P("[master] await server 'send'..."),
               receive
                   {Server, send} ->
                       busy_send_2(Server, Client, N+1)
               after 10000 ->
                       %% If this happens, see busy_send_srv
  -                    ?P("UNEXPECTED: server send timeout"),
  +                    ?P("[master] UNEXPECTED: server send timeout"),
                       ct:fail({timeout,{server,not_send,flush([])}})
               end
       end.
  
positive.code: 	{ok, Msg} ->
  	    busy_send_client_loop(Socket, Master, Msg, N-1);
  	Other ->
  	    Master ! {self(), flush([Other,N])}
      end.
  
  
negative.code: busy_send_2(Server, Client, _N) ->
      %% Master
      %%
      ?P("[master] await (server) closed"),
      receive
          {Server, [closed]} ->
              ?P("[master] received expected (server) closed - "
                 "await client closed"),
              receive
                  {Client, [0,{error,closed}]} ->
                      ?P("[master] received expected (client) closed"),
                      ok
              end
      after 10000 ->
              ?P("[master] UNEXPECTED: server closed timeout"),
              ct:fail({timeout, {server, not_closed, flush([])}})
      end.
  
  busy_send_srv(L, Master, Msg) ->
      %% Server
      %% Sometimes this accept does not return, do not really know why
      %% but it causes the timeout error in busy_send_loop to be
      %% triggered. Only happens on OS X Leopard?!?
      ?P("[server] try accept"),
      case gen_tcp:accept(L) of
          {ok, Socket} ->
              ?P("[server] accepted"),
  