summaryrefslogtreecommitdiff
path: root/src/couchdb/couch_db_update_notifier.erl
diff options
context:
space:
mode:
authorJan Lehnardt <jan@apache.org>2009-01-24 11:39:21 +0000
committerJan Lehnardt <jan@apache.org>2009-01-24 11:39:21 +0000
commitd35cbb3032767ebe2632b9be69f1b88f8522639e (patch)
treedfc4c772d9d2cfe124502ed6220fc6b8f8557765 /src/couchdb/couch_db_update_notifier.erl
parent2b0231f20bb4c6eb111dee2df82760732c364faf (diff)
Don't let a failing db update notification client bring down the entire
view_server. Patch by Adam Kocoloski. Closes COUCHDB-206. Thanks Adam. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@737334 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/couchdb/couch_db_update_notifier.erl')
-rw-r--r--src/couchdb/couch_db_update_notifier.erl6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/couchdb/couch_db_update_notifier.erl b/src/couchdb/couch_db_update_notifier.erl
index ef50e704..a1019556 100644
--- a/src/couchdb/couch_db_update_notifier.erl
+++ b/src/couchdb/couch_db_update_notifier.erl
@@ -63,7 +63,11 @@ handle_call(_Request, State) ->
handle_info({'EXIT', Pid, Reason}, Pid) ->
?LOG_ERROR("Update notification process ~p died: ~p", [Pid, Reason]),
- {stop, nil}.
+ remove_handler;
+handle_info({'EXIT', _, _}, Pid) ->
+ %% the db_update event manager traps exits and forwards this message to all
+ %% its handlers. Just ignore as it wasn't our os_process that exited.
+ {ok, Pid}.
code_change(_OldVsn, State, _Extra) ->
{ok, State}.