incubator-couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Filipe David Manana <fdman...@apache.org>
Subject Re: git commit: Open replicator database in child process
Date Wed, 05 Oct 2011 07:28:56 GMT
On Wednesday, October 5, 2011, Benoit Chesneau <bchesneau@gmail.com> wrote:
> On Wed, Oct 5, 2011 at 2:12 AM,  <fdmanana@apache.org> wrote:
>> Updated Branches:
>>  refs/heads/master 3c24a94dd -> 0c7fbd3da
>>
>>
>> Open replicator database in child process
>>
>> This is more correct and less confusing.
>>
>>
>> Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo
>> Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/0c7fbd3d
>> Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/0c7fbd3d
>> Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/0c7fbd3d
>>
>> Branch: refs/heads/master
>> Commit: 0c7fbd3dab5bf13215def4349dbba7f689a22ac6
>> Parents: 3c24a94
>> Author: Filipe David Manana <fdmanana@apache.org>
>> Authored: Wed Oct 5 01:10:54 2011 +0100
>> Committer: Filipe David Manana <fdmanana@apache.org>
>> Committed: Wed Oct 5 01:12:45 2011 +0100
>>
>> ----------------------------------------------------------------------
>>  src/couchdb/couch_replication_manager.erl |   11 +++++++----
>>  1 files changed, 7 insertions(+), 4 deletions(-)
>> ----------------------------------------------------------------------
>>
>>
>>
http://git-wip-us.apache.org/repos/asf/couchdb/blob/0c7fbd3d/src/couchdb/couch_replication_manager.erl
>> ----------------------------------------------------------------------
>> diff --git a/src/couchdb/couch_replication_manager.erl
b/src/couchdb/couch_replication_manager.erl
>> index 5885732..7d1860e 100644
>> --- a/src/couchdb/couch_replication_manager.erl
>> +++ b/src/couchdb/couch_replication_manager.erl
>> @@ -223,9 +223,12 @@ code_change(_OldVsn, State, _Extra) ->
>>
>>  changes_feed_loop() ->
>>     {ok, RepDb} = ensure_rep_db_exists(),
>> +    RepDbName = couch_db:name(RepDb),
>> +    couch_db:close(RepDb),
>>     Server = self(),
>>     Pid = spawn_link(
>>         fun() ->
>> +            {ok, Db} = couch_db:open_int(RepDbName, [sys_db]),
>>             ChangesFeedFun = couch_changes:handle_changes(
>>                 #changes_args{
>>                     include_docs = true,
>> @@ -234,7 +237,7 @@ changes_feed_loop() ->
>>                     db_open_options = [sys_db]
>>                 },
>>                 {json_req, null},
>> -                RepDb
>> +                Db
>>             ),
>>             ChangesFeedFun(
>>                 fun({change, Change, _}, _) ->
>> @@ -248,11 +251,11 @@ changes_feed_loop() ->
>>                 (_, _) ->
>>                     ok
>>                 end
>> -            )
>> +            ),
>> +            couch_db:close(Db)
>>         end
>>     ),
>> -    couch_db:close(RepDb),
>> -    {Pid, couch_db:name(RepDb)}.
>> +    {Pid, RepDbName}.
>>
>>
>>  has_valid_rep_id({Change}) ->
>>
>>
>
> Can't you ensure it in the process too ? What is the reason to have it
> externally ?

To return the name to the parent.

>
> - benoit
>

-- 
Filipe David Manana,

"Reasonable men adapt themselves to the world.
 Unreasonable men adapt the world to themselves.
 That's why all progress depends on unreasonable men."

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message