anchor.diff:  -export([start_link/0, init/1, handle_call/3, handle_cast/2, handle_info/2,
            terminate/2, code_change/3]).
   
  -% config_listener callbacks
  --export([handle_config_change/5, handle_config_terminate/3]).
  -
   -export([init_changes_handler/1, changes_handler/3]).
   
   -record(state, {parent, db_name, delete_dbs, changes_pid, changes_ref}).
  +
  +-define(RELISTEN_DELAY, 5000).
   
   
   start_link() ->
  
positive.code: 
  code_change(_OldVsn, State, _Extra) ->
      {ok, State}.
  
  
  %% config_listener callbacks
  
  handle_config_change("couch_httpd_auth", "authentication_db", _Value, _Persist, Server) ->
      ok = gen_server:cast(Server, update_config),
      {ok, Server};
  handle_config_change("couch_peruser", _Key, _Value, _Persist, Server) ->
      ok = gen_server:cast(Server, update_config),
      {ok, Server};
  handle_config_change(_Section, _Key, _Value, _Persist, Server) ->
      {ok, Server}.
  
  handle_config_terminate(_Self, Reason, _Server) ->
      {stop, Reason}.
  
negative.code: 
  -module(couch_peruser).
  -behaviour(gen_server).
  
  -include_lib("couch/include/couch_db.hrl").
  
  