From fd2eafa7c67e0efdae7d3d18c39b97f724372f7e Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 6 Nov 2013 22:01:06 +0100 Subject: ClientRead: "close" flushes the output buffer Add a new CommandResult code called "FINISH" which, unlike "CLOSE", will attempt to flush the output buffer. This is a one-shot attempt; it will do one write, and not try again. --- src/command/CommandResult.hxx | 6 ++++++ src/command/OtherCommands.cxx | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'src/command') diff --git a/src/command/CommandResult.hxx b/src/command/CommandResult.hxx index bbc16146b..9916b70cb 100644 --- a/src/command/CommandResult.hxx +++ b/src/command/CommandResult.hxx @@ -47,6 +47,12 @@ enum class CommandResult { */ ERROR, + /** + * The client has asked MPD to close the connection. MPD will + * flush the remaining output buffer first. + */ + FINISH, + /** * The connection to this client shall be closed. */ diff --git a/src/command/OtherCommands.cxx b/src/command/OtherCommands.cxx index 75faa4dc2..7b2cb1331 100644 --- a/src/command/OtherCommands.cxx +++ b/src/command/OtherCommands.cxx @@ -99,7 +99,7 @@ CommandResult handle_close(gcc_unused Client &client, gcc_unused int argc, gcc_unused char *argv[]) { - return CommandResult::CLOSE; + return CommandResult::FINISH; } CommandResult -- cgit v1.2.3