On 09/11/2015 10:47 AM, Caolán McNamara wrote:
commit 044deb37ae308c10a5bc0e976de40e257caa9a4e
Author: Caolán McNamara <caol...@redhat.com>
Date:   Fri Sep 11 09:40:15 2015 +0100

     coverity#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
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to