anchor.diff:      Self         = self(),
       {OwnerPid, OwnerMon} =
   	spawn_monitor(fun() ->
  +			      ?P("[owner] create (listen) socket"),
   			      {ok, L} = ?LISTEN(Config),
  +			      ?P("[owner] send (listen) socket to ctrl"),
   			      Self ! {socket, L},
  +			      ?P("[owner] ready"),
   			      receive
   				  {Self, die} ->
   				      exit(normal)
  
positive.code:     F  = fun(S, Fun, Name) ->
  		 spawn_monitor(fun() -> Fun(S, Name, Self) end)
  	 end,
      F1 = fun(Socket, Name, Parent) ->
  		 ?P("[~s] create monitor", [Name]),
  		 MRef = inet:monitor(Socket),
  		 Parent ! {self(), ready},
  
negative.code:     F  = fun(S, Fun, Name) ->
  		 spawn_monitor(fun() -> Fun(S, Name, Self) end)
  	 end,
      F1 = fun(Socket, Name, Parent) when is_list(Name) andalso is_pid(Parent) ->
  		 ?P("[~s] monitor socket", [Name]),
  		 MRef = inet:monitor(Socket),
  		 Parent ! {self(), ready},
  