From 2a6ad51f1acd4cae30a6e976d00444a1a6931702 Mon Sep 17 00:00:00 2001 From: "Damien F. Katz" Date: Thu, 18 Dec 2008 21:43:34 +0000 Subject: fix for crash of couch_server when database non-existant git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@727832 13f79535-47bb-0310-9956-ffa450edef68 --- src/couchdb/couch_file.erl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/couchdb/couch_file.erl') diff --git a/src/couchdb/couch_file.erl b/src/couchdb/couch_file.erl index 4ed9dc05..06156324 100644 --- a/src/couchdb/couch_file.erl +++ b/src/couchdb/couch_file.erl @@ -40,7 +40,11 @@ open(Filepath, Options) -> ignore -> % get the error receive - {Ref, Error} -> + {Ref, Pid, Error} -> + case process_info(self(), trap_exit) of + {trap_exit, true} -> receive {'EXIT', Pid, _} -> ok end; + {trap_exit, false} -> ok + end, Error end; Error -> @@ -276,7 +280,7 @@ extract_header(Prefix, Bin) -> init_status_error(ReturnPid, Ref, Error) -> - ReturnPid ! {Ref, Error}, + ReturnPid ! {Ref, self(), Error}, ignore. % server functions -- cgit v1.2.3