summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Smith (work) <jhs@iriscouch.com>2013-02-08 11:28:02 +0000
committerJason Smith (work) <jhs@iriscouch.com>2013-02-08 11:28:02 +0000
commit801b7310e1ce1cb4d958b57dc6d192903df6b416 (patch)
treec19811149b0d388d74fd60bbf676ff61a62bb4d5
parentc27cef11ce29b104a695a8761b94ff50545a32f3 (diff)
downloadcouchdb-801b7310e1ce1cb4d958b57dc6d192903df6b416.tar.gz
Get the pids/ports from pid_procs, not lang_procs
-rw-r--r--src/couchdb/couch_query_servers.erl20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/couchdb/couch_query_servers.erl b/src/couchdb/couch_query_servers.erl
index 26382d713..099fc1226 100644
--- a/src/couchdb/couch_query_servers.erl
+++ b/src/couchdb/couch_query_servers.erl
@@ -353,18 +353,9 @@ handle_call({get_proc, Lang}, From, Server) ->
{reply, Error, Server}
end;
handle_call({get_debugging, Lang}, _From, Server) ->
- #qserver{lang_procs=LangProcs} = Server,
- case ets:lookup(LangProcs, Lang) of
- [{Lang, Procs}] ->
- Ports = lists:map(fun(#proc{pid=Pid, debug_port=Port}) ->
- [PidStr] = io_lib:format("~w", [Pid]),
- Pids = string:substr(PidStr, 2, length(PidStr) - 2),
- {?l2b(Pids), Port}
- end, Procs),
- {reply, Ports, Server};
- _ ->
- {reply, [], Server}
- end;
+ #qserver{pid_procs=PidProcs} = Server,
+ Reply = lists:map(fun pid_and_port/1, ets:tab2list(PidProcs)),
+ {reply, Reply, Server};
handle_call({unlink_proc, Pid}, _From, Server) ->
unlink(Pid),
{reply, ok, Server};
@@ -471,6 +462,11 @@ service_waiting({{Lang}, From}, Server) ->
ok
end.
+pid_and_port({Pid, #proc{debug_port=Port}}) ->
+ [PidStr] = io_lib:format("~w", [Pid]),
+ PidRepr = string:substr(PidStr, 2, length(PidStr) - 2),
+ {?l2b(PidRepr), Port}.
+
lang_proc(Lang, #qserver{
langs=Langs,
pid_procs=PidProcs,