anchor.diff:      ?SLEEP(2000),
       p("stop manager"),
       snmpm:stop(),
  -    ns02_loop2(Opts, N-1).
  +    ns02_ctrl_loop(Opts, N-1).
   
   
   %%======================================================================
  
positive.code: 	{'EXIT', Pid2, normal} ->
  	    ok;
  	{'EXIT', Pid2, Reason2} ->
  	    ?FAIL(Reason2)
      after 5000 ->
  	    ?FAIL(timeout)
      end,
  	
  
negative.code: 	    {config, [{verbosity, log}, {dir, ConfDir}, {db_dir, DbDir}]}],
  
      p("start snmpm client process"),
      NumIterations = 5,
      Pid1 = ns02_client_start(NumIterations),
  
      p("start snmpm ctrl (starter) process"),
      Pid2 = ns02_ctrl_start(Opts, NumIterations),
  
      %% On a reasonably fast machine, one iteration takes approx 4 seconds.
      %% We measure the first iteration, and then we wait for the remaining
      %% ones (4 in this case).
      ApproxStartTime =
          case ns02_client_await_approx_runtime(Pid1) of
              {ok, T} ->
                  T;
              {error, Reason} ->
                  %% Attempt cleanup just in case
                  exit(Pid1, kill),
                  exit(Pid2, kill),
                  ?FAIL(Reason);
              {skip, Reason} ->
                  %% Attempt cleanup just in case
                  exit(Pid1, kill),
                  exit(Pid2, kill),
                  ?SKIP(Reason)
          end,
  
      p("await snmpm client process exit (max ~p+10000 msec)", [ApproxStartTime]),
      receive 
  	{'EXIT', Pid1, normal} ->
  	    ok;
  	{'EXIT', Pid1, Reason1} ->
  	    ?FAIL({client, Reason1})
      after ApproxStartTime + 10000 ->
              exit(Pid1, kill),
              exit(Pid2, kill),
  	    ?FAIL(timeout)
      end,
  	
  