diff options
Diffstat (limited to 'dbus/dbus-sysdeps.c')
-rw-r--r-- | dbus/dbus-sysdeps.c | 16 |
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 |