summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-sysdeps.c
diff options
context:
space:
mode:
Diffstat (limited to 'dbus/dbus-sysdeps.c')
-rw-r--r--dbus/dbus-sysdeps.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/dbus/dbus-sysdeps.c b/dbus/dbus-sysdeps.c
index 2db45900..e8c03ef3 100644
--- a/dbus/dbus-sysdeps.c
+++ b/dbus/dbus-sysdeps.c
@@ -60,14 +60,20 @@ _DBUS_DEFINE_GLOBAL_LOCK (sid_atom_cache);
void
_dbus_abort (void)
{
-#ifdef DBUS_ENABLE_VERBOSE_MODE
const char *s;
- s = _dbus_getenv ("DBUS_PRINT_BACKTRACE");
+
+ _dbus_print_backtrace ();
+
+ s = _dbus_getenv ("DBUS_BLOCK_ON_ABORT");
if (s && *s)
- _dbus_print_backtrace ();
-#endif
+ {
+ /* don't use _dbus_warn here since it can _dbus_abort() */
+ fprintf (stderr, " Process %lu sleeping for gdb attach\n", (unsigned long) _dbus_getpid());
+ _dbus_sleep_milliseconds (1000 * 60);
+ }
+
abort ();
- _dbus_exit (1); /* in case someone manages to ignore SIGABRT */
+ _dbus_exit (1); /* in case someone manages to ignore SIGABRT ? */
}
#endif