From cb5adf4d726e19e4966362fdf316892da484fefa Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 13 Feb 2015 10:47:07 +0100 Subject: cocoa: fix exiting the command line player Commit e920a00eb assumed that terminate_cocoa_application() actually would exit. But apparently that is not always the case; e.g. mpv --help will just hang. The old code had a dummy exit(0), which was apparently actually called. Fix by explicitly exiting if mpv_main() returns and terminate_cocoa_application() does nothing. (cherry picked from commit 9e14042e575435e94da660823d14aa6a6b6cb668) --- osdep/macosx_application.m | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/osdep/macosx_application.m b/osdep/macosx_application.m index 008622f3ea..39800dbbb6 100644 --- a/osdep/macosx_application.m +++ b/osdep/macosx_application.m @@ -273,11 +273,10 @@ static void *playback_thread(void *ctx_obj) mpthread_set_name("playback core (OSX)"); @autoreleasepool { struct playback_thread_ctx *ctx = (struct playback_thread_ctx*) ctx_obj; - ctx->mpv_main(*ctx->argc, *ctx->argv); + int r = ctx->mpv_main(*ctx->argc, *ctx->argv); terminate_cocoa_application(); - // normally never reached - cocoa_stop_runloop(); - pthread_exit(NULL); + // normally never reached - unless the cocoa mainloop hasn't started yet + exit(r); } } -- cgit v1.2.3