anchor.diff:              _ ->
                   ok
           end,
  -        gen_server:call(Parent, {open_result, DbName, Res}, infinity),
  +        gen_server:call(Parent, {open_result, T0, DbName, Res}, infinity),
           unlink(Parent)
       end),
       ReqType = case lists:member(create, Options) of
  
positive.code:     {reply, ok, Server#server{max_dbs_open=Max}};
  handle_call(get_server, _From, Server) ->
      {reply, {ok, Server}, Server};
  handle_call({open_result, DbName, {ok, Db}}, {FromPid, _Tag}, Server) ->
      link(Db#db.main_pid),
      true = ets:delete(couch_dbs_pid_to_name, FromPid),
      case erase({async_open, DbName}) of undefined -> ok; T0 ->
          OpenTime = timer:now_diff(os:timestamp(), T0) / 1000,
          couch_stats:update_histogram([couchdb, db_open_time], OpenTime)
      end,
      % icky hack of field values - compactor_pid used to store clients
      % and fd used to possibly store a creation request
      [#db{fd=ReqType, compactor_pid=Froms}] = ets:lookup(couch_dbs, DbName),
  
negative.code: 
  open_async(Server, From, DbName, Filepath, Options) ->
      Parent = self(),
      T0 = os:timestamp(),
      Opener = spawn_link(fun() ->
          Res = couch_db:start_link(DbName, Filepath, Options),
          case {Res, lists:member(create, Options)} of
  