anchor.diff:      {noreply, reinit_cache(State)}.
   
   
  -terminate(_Reason, #state{db_notifier = Notifier}) ->
  -    couch_db_update_notifier:stop(Notifier),
  +terminate(_Reason, #state{event_listener = Listener}) ->
  +    couch_event:stop_listener(Listener),
       exec_if_auth_db(fun(AuthDb) -> catch couch_db:close(AuthDb) end),
       true = ets:delete(?BY_USER),
       true = ets:delete(?BY_ATIME),
  
positive.code:     max_cache_size = 0,
      cache_size = 0,
      db_notifier = nil,
      db_mon_ref = nil
  }).
  
  
  
negative.code:     ?STATE = ets:new(?STATE, [set, protected, named_table]),
      ?BY_USER = ets:new(?BY_USER, [set, protected, named_table]),
      ?BY_ATIME = ets:new(?BY_ATIME, [ordered_set, private, named_table]),
      AuthDbName = config:get("couch_httpd_auth", "authentication_db"),
      process_flag(trap_exit, true),
      ok = config:listen_for_changes(?MODULE, nil),
      {ok, Listener} = couch_event:link_listener(
              ?MODULE, handle_db_event, nil, [{dbname, AuthDbName}]
          ),
      State = #state{
          event_listener = Listener,
          max_cache_size = list_to_integer(
              config:get("couch_httpd_auth", "auth_cache_size", "50")
          )
  