--- old/mplayer.c 2009-01-13 15:21:56.000000000 +0200 +++ new/mplayer.c 2009-01-13 15:25:42.000000000 +0200 @@ -2535,6 +2535,9 @@ //float a_frame=0; // Audio +// Make sure the asynchronous quit request is not set. +async_quit_request = 0; + int i; int gui_no_filename=0; @@ -3178,6 +3181,12 @@ mp_msg(MSGT_MENCODER,MSGL_FATAL,MSGTR_ErrorWritingFile,stream_dump_name); exit_player(MSGTR_Exit_error); } + + // Exit with failure in case of an asynchronous quit request (set in signal handler) + if (async_quit_request) { + exit_player(MSGTR_Exit_error); + } + mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_CoreDumped); exit_player_with_rc(MSGTR_Exit_eof, 0); }