summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdam Kocoloski <kocolosk@apache.org>2009-05-17 17:05:21 +0000
committerAdam Kocoloski <kocolosk@apache.org>2009-05-17 17:05:21 +0000
commit209b41daf6b1097016b273578496dc435abcffeb (patch)
tree47f30c331a4018adcd70e8becb2ad8fe14266d54 /src
parent8afaff9a115a1d70586b642b23b37019bab205dc (diff)
one more hanging receive loop fix
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@775715 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
-rw-r--r--src/couchdb/couch_rep.erl8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/couchdb/couch_rep.erl b/src/couchdb/couch_rep.erl
index 7aa491ae..4c938683 100644
--- a/src/couchdb/couch_rep.erl
+++ b/src/couchdb/couch_rep.erl
@@ -527,7 +527,13 @@ do_checkpoint(Source, Target, Context, NewSeqNum, Stats) ->
% commit tgt sync
{ok, TgtInstanceStartTime2} = ensure_full_commit(Target),
- receive {SrcCommitPid, {ok, SrcInstanceStartTime2}} -> ok end,
+ SrcInstanceStartTime2 =
+ receive
+ {SrcCommitPid, {ok, Timestamp}} ->
+ Timestamp;
+ {'EXIT', SrcCommitPid, {http_request_failed, _}} ->
+ exit(replication_link_failure)
+ end,
RecordSeqNum =
if SrcInstanceStartTime2 == SrcInstanceStartTime andalso