anchor.diff:      {reply, false, State}.
   
   
  -handle_cast({Pid, updated, IdxState}, #st{mod=Mod, pid=Pid}=State) ->
  +handle_cast(_Mesg, State) ->
  +    {stop, unknown_cast, State}.
  +
  +
  +handle_info({'EXIT', Pid, {updated, IdxState}}, #st{mod=Mod, pid=Pid}=State) ->
       Args = [Mod:get(db_name, IdxState), Mod:get(idx_name, IdxState)],
       ?LOG_INFO("Index update finished for db: ~s idx: ~s", Args),
       ok = gen_server:cast(State#st.idx, {updated, IdxState}),
       {noreply, State#st{pid=undefined}};
  -handle_cast(_Mesg, State) ->
  -    {stop, unknown_cast, State}.
  -
  -
   handle_info({'EXIT', Pid, reset}, #st{idx=Idx, pid=Pid}=State) ->
       {ok, NewIdxState} = gen_server:call(State#st.idx, reset),
  -    Self = self(),
  -    Fun = fun() -> update(Self, Idx, State#st.mod, NewIdxState) end,
  -    Pid2 = spawn_link(Fun),
  +    Pid2 = spawn_link(fun() -> update(Idx, State#st.mod, NewIdxState) end),
       {noreply, State#st{pid=Pid2}};
   handle_info({'EXIT', Pid, normal}, #st{pid=Pid}=State) ->
       {noreply, State#st{pid=undefined}};
  
positive.code: handle_call({update, IdxState}, _From, #st{idx=Idx, mod=Mod}=State) ->
      Args = [Mod:get(db_name, IdxState), Mod:get(idx_name, IdxState)],
      ?LOG_INFO("Starting index update for db: ~s idx: ~s", Args),
      Self = self(),
      Pid = spawn_link(fun() -> update(Self, Idx, Mod, IdxState) end),
      {reply, ok, State#st{pid=Pid}};
  handle_call({restart, IdxState}, _From, #st{idx=Idx, mod=Mod}=State) ->
      Args = [Mod:get(db_name, IdxState), Mod:get(idx_name, IdxState)],
  
negative.code:     gen_server:call(Pid, is_running).
  
  
  update(Mod, State) ->
      update(nil, Mod, State).
  
  
  restart(Pid, IdxState) ->
  