summaryrefslogtreecommitdiff
path: root/apps/couch/src/couch_proc_manager.erl
diff options
context:
space:
mode:
authorAdam Kocoloski <adam@cloudant.com>2011-12-03 16:34:05 -0500
committerRobert Newson <robert.newson@cloudant.com>2012-11-14 17:27:06 +0000
commite9440aef1c6cc708b3bd531876658485cb60ec86 (patch)
tree7986bf98a9ae80b76e77229726f1fda8c8c90dac /apps/couch/src/couch_proc_manager.erl
parentb9f0271cf63efed0af5c3c4aec5a31c928da1079 (diff)
Trigger a GC when OS process is returned
Diffstat (limited to 'apps/couch/src/couch_proc_manager.erl')
-rw-r--r--apps/couch/src/couch_proc_manager.erl1
1 files changed, 1 insertions, 0 deletions
diff --git a/apps/couch/src/couch_proc_manager.erl b/apps/couch/src/couch_proc_manager.erl
index 568608bc..d09893eb 100644
--- a/apps/couch/src/couch_proc_manager.erl
+++ b/apps/couch/src/couch_proc_manager.erl
@@ -67,6 +67,7 @@ handle_call({ret_proc, #proc{client=Ref, pid=Pid} = Proc}, _From, State) ->
% #proc{} from our own table, so the alternative is to do a lookup in the
% table before the insert. Don't know which approach is cheaper.
case is_process_alive(Pid) of true ->
+ gen_server:cast(Pid, garbage_collect),
ets:insert(State#state.tab, Proc);
false -> ok end,
{reply, true, State};