anchor.diff:      p("starting"),
       ns02_ctrl_loop(Opts, N).
   
  +
  +%% We have seen that some times it takes unreasonably long time to
  +%% start the manager (it got "stuck" in snmpm_config). But since
  +%% we did not have enough verbosity, we do not know how far it got.
  +%% So, we try to monitor each start attempt. We allow 5 sec (just 
  +%% to give slow boxes a chance).
   ns02_ctrl_loop(_Opts, 0) ->
       p("done"),
       exit(normal);
  
positive.code: 
      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 ->
  
negative.code:     p("entry when N: ~p", [N]),
      ?SLEEP(2000),
      p("start manager"),
      %% snmpm:start(Opts),
      {Pid, MRef} = erlang:spawn_monitor(fun() -> exit(snmpm:start(Opts)) end),
      receive
          {'DOWN', MRef, process, Pid, ok} ->
              ok
      after 5000 ->
              p("start manager (~p) timeout - kill"),
              exit(Pid, kill),
              exit({skip, timeout})
      end,
      ?SLEEP(2000),
      p("stop manager"),
      snmpm:stop(),
      ns02_ctrl_loop(Opts, N-1).
  
  
  
  %%======================================================================
  