pcli_reply_and_close() writes a message to the client and close the
connection. To be used only in the CLI proxy.
---
 src/cli.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/cli.c b/src/cli.c
index 1a4a92c0e..67741a631 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -1635,6 +1635,14 @@ void pcli_write_prompt(struct stream *s)
 
 /* The pcli_* functions are used for the CLI proxy in the master */
 
+void pcli_reply_and_close(struct stream *s, const char *msg)
+{
+       struct buffer *buf = get_trash_chunk();
+
+       chunk_initstr(buf, msg);
+       stream_int_retnclose(&s->si[0], buf);
+}
+
 static enum obj_type *pcli_pid_to_server(int proc_pid)
 {
        struct mworker_proc *child;
@@ -1894,8 +1902,8 @@ read_again:
                        s->pcli_next_pid = target_pid;
                        pcli_write_prompt(s);
                } else {
-                       // TODO: pcli_reply() error
                        s->pcli_next_pid = 0;
+                       pcli_reply_and_close(s, "Can't find the target CLI!\n");
                }
 
                /* we trimmed things but we might have other commands to 
consume */
-- 
2.16.4


Reply via email to