anchor.diff:          {ok, LSock} ->
               io:format("~p started imem_server ~p @ ~p~n", [self(), LSock, {ListenIf, ListenPort}]),
               gen_server:cast(self(), accept),
  -            true = erlang:register(?MODULE, self()),
               {reply, ok, #state{lsock=LSock}};
           Reason ->
               io:format("~p [ERROR] imem_server not started ~p~n", [self(), Reason]),
  -            true = erlang:register(?MODULE, self()),
               {reply, Reason, State}
       end;
   handle_call(_Request, _From, State) ->
  
positive.code:     {reply, ok, State}.
  
  handle_cast(accept, #state{lsock=LSock}=State) ->
      {ok, Sock} = gen_tcp:accept(LSock),
      % io:format("accept conn ~p~n", [Sock]),
      {ok,Pid} = gen_server:start(?MODULE, [Sock, true], []),
      ok = gen_tcp:controlling_process(Sock, Pid),
      gen_server:cast(Pid, activate),
  
negative.code:                 {ok, LSock} ->
                      io:format("~p started imem_server ~p @ ~p~n", [self(), LSock, {ListenIf, ListenPort}]),
                      gen_server:cast(self(), accept),
                      {ok, #state{lsock=LSock}};
                  Reason ->
                      io:format("~p [ERROR] imem_server not started ~p~n", [self(), Reason]),
                      {ok, #state{}}
              end;
          _ ->
  