From 7860f047be25f99c4d1e83f9456c7eb245ad37dc Mon Sep 17 00:00:00 2001 From: "Damien F. Katz" Date: Sat, 30 May 2009 02:43:52 +0000 Subject: Test and fix for infinite loops in view_servers, fix for crashed OS processes causing leaked erlang processes and fix for view server crashing when view group process terminates. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@780165 13f79535-47bb-0310-9956-ffa450edef68 --- src/couchdb/couch_view_group.erl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/couchdb/couch_view_group.erl') diff --git a/src/couchdb/couch_view_group.erl b/src/couchdb/couch_view_group.erl index 28679927..0ab1077e 100644 --- a/src/couchdb/couch_view_group.erl +++ b/src/couchdb/couch_view_group.erl @@ -274,9 +274,10 @@ handle_info({'DOWN',_,_,_,_}, State) -> {stop, normal, reply_all(State, shutdown)}. -terminate(Reason, State) -> - reply_all(State, Reason), - couch_util:terminate_linked(Reason), +terminate(Reason, #group_state{updater_pid=Update, compactor_pid=Compact}=S) -> + reply_all(S, Reason), + catch exit(Update, Reason), + catch exit(Compact, Reason), ok. code_change(_OldVsn, State, _Extra) -> -- cgit v1.2.3