anchor.diff:  
   code_change(_OldVsn, St, _Extra) ->
       {ok, St}.
  +
  +
  +watchdog() ->
  +    Handlers = gen_event:which_handlers(couch_db_update),
  +    case length(Handlers) > 0 of
  +        true ->
  +            exit(whereis(couch_db_update), force_upgrade);
  +        false ->
  +            ok
  +    end,
  +    timer:sleep(5000),
  +    ?MODULE:watchdog().
   
   
   notify_listeners(ByDbName, DbName, Event) ->
  
positive.code:     {noreply, St}.
  
  
  handle_info({'DOWN', Ref, process, Pid, _Reason}, St) ->
      case khash:get(St#st.by_pid, Pid) of
          {Ref, OldDbNames} ->
  
negative.code:     end,
      {noreply, St};
  
  
  handle_info(spawn_watchdog, #st{watchdog=undefined}=St) ->
      NewWD = spawn_monitor(?MODULE, watchdog, []),
      {noreply, St#st{watchdog=NewWD}};
  handle_info(Msg, St) ->
      couch_log:notice("~s ignoring info ~w", [?MODULE, Msg]),
      {noreply, St}.
  