[Spice-devel] [PATCH spice-streaming-agent 8/9] Clean up the global try-catch block
Frediano Ziglio
fziglio at redhat.com
Thu Jun 14 09:31:34 UTC 2018
>
> Unify the error handling to use exceptions, narrowing down the exit
> spots for success/error to one each.
>
> Signed-off-by: Lukáš Hrázký <lhrazky at redhat.com>
> ---
> src/spice-streaming-agent.cpp | 17 +++++++----------
> 1 file changed, 7 insertions(+), 10 deletions(-)
>
> diff --git a/src/spice-streaming-agent.cpp b/src/spice-streaming-agent.cpp
> index fe26f70..94419b0 100644
> --- a/src/spice-streaming-agent.cpp
> +++ b/src/spice-streaming-agent.cpp
> @@ -474,14 +474,14 @@ int main(int argc, char* argv[])
> }
> }
>
> + register_interrupts();
> +
> try {
> // register built-in plugins
> MjpegPlugin::Register(&agent);
>
> agent.LoadPlugins(pluginsdir);
>
> - register_interrupts();
> -
> FrameLog frame_log(log_filename, log_binary, log_frames);
>
> for (const std::string& arg: old_args) {
This register_interrupts() change seems to be off topic here.
> @@ -491,19 +491,16 @@ int main(int argc, char* argv[])
>
> Display *display = XOpenDisplay(NULL);
> if (display == NULL) {
> - syslog(LOG_ERR, "failed to open display\n");
> - return EXIT_FAILURE;
> + throw Error("Failed to open X display");
> }
> +
> int event_base, error_base;
> if (!XFixesQueryExtension(display, &event_base, &error_base)) {
> - syslog(LOG_ERR, "XFixesQueryExtension failed\n");
> - return EXIT_FAILURE;
> + throw Error("XFixesQueryExtension failed");
> }
> Window rootwindow = DefaultRootWindow(display);
> XFixesSelectCursorInput(display, rootwindow,
> XFixesDisplayCursorNotifyMask);
>
> - int ret = EXIT_SUCCESS;
> -
> StreamPort stream_port(stream_port_name);
>
> std::thread cursor_th(cursor_changes, &stream_port, display,
> event_base);
> @@ -513,8 +510,8 @@ int main(int argc, char* argv[])
> }
> catch (std::exception &err) {
> syslog(LOG_ERR, "%s\n", err.what());
> - ret = EXIT_FAILURE;
> + return EXIT_FAILURE;
> }
>
> - return ret;
> + return EXIT_SUCCESS;
> }
This makes 7/9 compile.
Frediano
More information about the Spice-devel
mailing list