anchor.diff:  	     {undefined,Handle3,_,_}] = lists:sort(ct_util:get_connections(ConnPid)),
       ct:pal("CONNS = ~n~p", [Conns]),
   
  +    monitor_procs([Handle1,Handle2,Handle3,ConnPid]),
       ok = proto:close(Handle1),
  -    ct:sleep(100),
  +    ok = wait_procs_down([Handle1]),
       {false,true} = {is_process_alive(Handle1),is_process_alive(ConnPid)},
   
       ok = proto:kill_conn_proc(Handle2),
  -    ct:sleep(100),
  +    ok = wait_procs_down([ConnPid]),
       NewConnPid = ct_gen_conn:get_conn_pid(Handle2),
       NewConnPid = ct_gen_conn:get_conn_pid(Handle3),
       true = is_process_alive(Handle2),
       true = is_process_alive(Handle3),
  +    false = is_process_alive(ConnPid),
  +
  +    monitor_procs([NewConnPid]),
   
       ok = proto:close(Handle2),
  -    ct:sleep(100),
  +    ok = wait_procs_down([Handle2]),
       {false,true} = {is_process_alive(Handle2),is_process_alive(NewConnPid)},
   
       application:set_env(ct_test, reconnect, false),
       ok = proto:kill_conn_proc(Handle3),
  -    ct:sleep(100),
  +    ok = wait_procs_down([Handle3,NewConnPid]),
       {false,false} = {is_process_alive(Handle3),is_process_alive(NewConnPid)},    
   
       ok.
  
positive.code: 	     {sconn3,Handle3,_,_}] = lists:sort(ct_util:get_connections(ConnPid)),
      ct:pal("CONNS on ~p = ~n~p", [ConnPid,Conns]),
  
      ok = proto:close(sconn1),
      ct:sleep(100),
      {false,true} = {is_process_alive(Handle1),is_process_alive(ConnPid)},
  
      ok = proto:kill_conn_proc(Handle2),
      ct:sleep(100),
      {true,false} = {is_process_alive(Handle2),is_process_alive(ConnPid)},
      Handle2 = proto:open(sconn2),  % should've been reconnected already
      NewConnPid = ct_gen_conn:get_conn_pid(Handle2),
      true = is_process_alive(NewConnPid),
      
      Conns1 = [{sconn2,Handle2,_,_},
  	      {sconn3,Handle3,_,_}] = 
  
negative.code: 
      Handle1 = proto:open(mconn1),
  
      monitor_procs([Handle1,ConnPid1,Handle2,ConnPid2,Handle3,ConnPid3]),
  
      ok = proto:close(mconn1),
      ok = wait_procs_down([Handle1,ConnPid1]),
      {false,false} = {is_process_alive(Handle1),is_process_alive(ConnPid1)},
  
      ok = proto:kill_conn_proc(Handle2),
      ok = wait_procs_down([ConnPid2]),
      Handle2 = proto:open(mconn2),  % should've been reconnected already
      {true,false} = {is_process_alive(Handle2),is_process_alive(ConnPid2)},
      ConnPid2x = ct_gen_conn:get_conn_pid(Handle2),
      true = is_process_alive(ConnPid2x),
  
      monitor_procs([ConnPid2x]),
  
      ok = proto:close(mconn2),
      ok = wait_procs_down([Handle2,ConnPid2x]),
      {false,false} = {is_process_alive(Handle2),is_process_alive(ConnPid2x)},
      Handle2y = proto:open(mconn2),
      ConnPid2y = ct_gen_conn:get_conn_pid(Handle2y),
      {true,true} = {is_process_alive(Handle2y),is_process_alive(ConnPid2y)},
  
      monitor_procs([Handle2y,ConnPid2y]),
  
      ok = proto:close(mconn2),
      ok = wait_procs_down([Handle2y,ConnPid2y]),
      {false,false} = {is_process_alive(Handle2y),is_process_alive(ConnPid2y)},
  
      application:set_env(ct_test, reconnect, false),
      ok = proto:kill_conn_proc(Handle3),
      ok = wait_procs_down([Handle3,ConnPid3]),
      {false,false} = {is_process_alive(Handle3),is_process_alive(ConnPid3)},
  
      ok.
  