summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorILYA Khlopotov <iilyak@apache.org>2017-04-27 09:11:53 -0700
committerILYA Khlopotov <iilyak@apache.org>2017-04-27 10:12:01 -0700
commit8d888d76f26726c1da3e97384e9ecedd8ef077f8 (patch)
tree57d9b55b4c52b384b892128e94d8c47945af6e09
parentbcd718bb80d7a6cf9aa8d06242d8f30419fbe588 (diff)
downloadcouchdb-8d888d76f26726c1da3e97384e9ecedd8ef077f8.tar.gz
Adjust reverted code to new couch_lru API
-rw-r--r--src/couch/src/couch_server.erl18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/couch/src/couch_server.erl b/src/couch/src/couch_server.erl
index 893b957d6..ad2a5f0ec 100644
--- a/src/couch/src/couch_server.erl
+++ b/src/couch/src/couch_server.erl
@@ -281,10 +281,11 @@ maybe_close_lru_db(#server{dbs_open=NumOpen, max_dbs_open=MaxOpen}=Server)
when NumOpen < MaxOpen ->
{ok, Server};
maybe_close_lru_db(#server{lru=Lru}=Server) ->
- try
- {ok, db_closed(Server#server{lru = couch_lru:close(Lru)}, [])}
- catch error:all_dbs_active ->
- {error, all_dbs_active}
+ case couch_lru:close(Lru) of
+ {true, NewLru} ->
+ {ok, db_closed(Server#server{lru = NewLru}, [])};
+ false ->
+ {error, all_dbs_active}
end.
open_async(Server, From, DbName, Filepath, Options) ->
@@ -319,10 +320,11 @@ open_async(Server, From, DbName, Filepath, Options) ->
db_opened(Server, Options).
handle_call(close_lru, _From, #server{lru=Lru} = Server) ->
- try
- {reply, ok, db_closed(Server#server{lru = couch_lru:close(Lru)}, [])}
- catch error:all_dbs_active ->
- {reply, {error, all_dbs_active}, Server}
+ case couch_lru:close(Lru) of
+ {true, NewLru} ->
+ {reply, ok, db_closed(Server#server{lru = NewLru}, [])};
+ false ->
+ {reply, {error, all_dbs_active}, Server}
end;
handle_call(open_dbs_count, _From, Server) ->
{reply, Server#server.dbs_open, Server};