gmessages: make _g_log_abort() do only breakpoints again
authorMarc-André Lureau <marcandre.lureau@gmail.com>
Tue, 3 Dec 2013 14:35:50 +0000 (15:35 +0100)
committerMarc-André Lureau <marcandre.lureau@gmail.com>
Tue, 3 Dec 2013 14:56:47 +0000 (15:56 +0100)
Commit e53caad4 makes _g_log_abort() noreturn by calling abort()
unconditionally.

However, it is useful to be able to skip some log_abort() with a
debugger, to reach a point of interest. Revert back to previous
behaviour. Make g_assert_warning() noreturn by calling abort().

https://bugzilla.gnome.org/show_bug.cgi?id=711800

glib/gmessages.c

index 0a8dc82..a118002 100644 (file)
@@ -290,7 +290,7 @@ static gpointer          fatal_log_data;
 
 /* --- functions --- */
 
-static void _g_log_abort (gboolean breakpoint) G_GNUC_NORETURN;
+static void _g_log_abort (gboolean breakpoint);
 
 static void
 _g_log_abort (gboolean breakpoint)
@@ -307,8 +307,8 @@ _g_log_abort (gboolean breakpoint)
 
   if (breakpoint)
     G_BREAKPOINT ();
-
-  abort ();
+  else
+    abort ();
 }
 
 #ifdef G_OS_WIN32
@@ -1130,6 +1130,7 @@ g_assert_warning (const char *log_domain,
         pretty_function,
         expression);
   _g_log_abort (FALSE);
+  abort ();
 }
 
 /**