anchor.diff:          50 ->
               erlang:demonitor(MonitorRef),
               true
  +    end.
  +
  +wait_for(Pid) ->
  +    MonitorRef = erlang:monitor(process, Pid),
  +    receive
  +        {'DOWN', MonitorRef, process, Pid, _Info} ->
  +            ok
       end.
   
   check_extras(0) -> ok;
  
positive.code:     ProtocolFactory.
  
  
  test_start() ->
      {ok, Client1} = make_thrift_client([{connect, false}]),
      tester ! {client, unlinked, Client1},
      {ok, Client2} = make_thrift_client([{connect, false}]),
      io:format("PASS.  Unlinked clients created.~n"),
      try
          gen_server:call(Client2, {connect, make_protocol_factory(2)}),
          io:format("FAIL.  Unlinked client connected.~n", [])
      catch
          Kind:Info ->
              io:format("PASS.  Caught unlinked error.  ~p:~p~n", [Kind, Info])
  
negative.code:     %% Exit abnormally to not kill our unlinked extra client.
      exit(die).
  
  test_linked(Port) ->
      {ok, Client1} = make_thrift_client([{connect, false}, {monitor, link}]),
      tester ! {client, linked, Client1},
      {ok, Client2} = make_thrift_client([{connect, false}, {monitor, link}]),
      io:format("PASS.  Linked clients created.~n"),
      try
          gen_server:call(Client2, {connect, make_protocol_factory(Port)}),
          thrift_client:call(Client2, testVoid, []),
          io:format("FAIL.  Linked client connected and called.~n", [])
      catch
          Kind:Info ->
              io:format("FAIL.  Caught linked error.  ~p:~p~n", [Kind, Info])
  