On 09/11/2015 10:47 AM, Caolán McNamara wrote:
commit 044deb37ae308c10a5bc0e976de40e257caa9a4e Author: Caolán McNamara <[email protected]> Date: Fri Sep 11 09:40:15 2015 +0100coverity#1323754 we apparently can survive std::abort for a while so try and suppress this warning Change-Id: I096352af0116f1ba0911cc201eb884267095a797 diff --git a/vcl/source/opengl/OpenGLHelper.cxx b/vcl/source/opengl/OpenGLHelper.cxx index 014a5ad..0e0e10c 100644 --- a/vcl/source/opengl/OpenGLHelper.cxx +++ b/vcl/source/opengl/OpenGLHelper.cxx @@ -554,6 +554,7 @@ void OpenGLWatchdogThread::execute() nUnchanged = 0; std::abort(); } + // coverity[dead_error_line] - we might have caught SIGABRT and failed to exit yet bAbortFired = true; } }
What am I missing here? abort is guaranteed to not return to its caller (even if there is a handler for SIGABRT). So, like Coverity, I fail to see how that line can ever be reached (and bAbortFired, of automatic storage during in OpenGLWatchdogThread::execute, ever be true).
Can it be that what <http://cgit.freedesktop.org/libreoffice/core/commit/?id=daa869222edc3aded82f0fc3e73f126b6cfd08ad> "http://cgit.freedesktop.org/libreoffice/core/commit/?id=daa869222edc3aded82f0fc3e73f126b6cfd08ad" really wanted to do is make bAbortFired static, and set it to true /before/ calling std::abort()?
_______________________________________________ LibreOffice mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice
