Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


On 09/11/2015 10:47 AM, Caolán McNamara wrote:
commit 044deb37ae308c10a5bc0e976de40e257caa9a4e
Author: Caolán McNamara <caolanm@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()?

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.