mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 17:24:23 +00:00
Flush the telemetry stream before aborting.
Copied from Perforce Change: 186782 ServerID: perforce.ravenbrook.com
This commit is contained in:
parent
45199757f2
commit
cb7dc69cd5
4 changed files with 11 additions and 5 deletions
|
|
@ -74,6 +74,7 @@ static void mps_lib_assert_fail_default(const char *file, unsigned line,
|
|||
file, line, condition);
|
||||
/* Ensure the message is output even if stderr is buffered. */
|
||||
(void)fflush(stderr);
|
||||
mps_telemetry_flush();
|
||||
ASSERT_ABORT(); /* see config.h */
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -139,6 +139,10 @@ Other changes
|
|||
around 25% faster (in our benchmarks) than they were in release
|
||||
1.113.0.
|
||||
|
||||
#. The default assertion handler in the ANSI plinth now flushes the
|
||||
telemetry stream before aborting. See
|
||||
:c:func:`mps_lib_assert_fail`.
|
||||
|
||||
|
||||
.. _release-notes-1.113:
|
||||
|
||||
|
|
|
|||
|
|
@ -247,9 +247,11 @@ Library module
|
|||
.. note::
|
||||
|
||||
In the ANSI Library module, ``mpsliban.c``, this reports the
|
||||
failure using ``fprintf(stderr, "...%s...", message)`` and, in
|
||||
the :term:`cool` :term:`variety`, terminates the program by
|
||||
calling :c:func:`abort`. You can change this behaviour with
|
||||
failure by calling ``fprintf(stderr, "...%s...", message)``,
|
||||
flushes the :term:`telemetry` stream by calling
|
||||
:c:func:`mps_telemetry_flush`, and, in the :term:`cool`
|
||||
:term:`variety`, terminates the program by calling
|
||||
:c:func:`abort`. You can change this behaviour with
|
||||
:c:func:`mps_lib_assert_fail_install`. For a discussion of the
|
||||
default behaviour, see :ref:`topic-error-assertion-handling`.
|
||||
|
||||
|
|
|
|||
|
|
@ -431,8 +431,7 @@ Telemetry interface
|
|||
stream itself. This ensures that even the latest events are now
|
||||
properly recorded, should the :term:`client program` terminate
|
||||
(uncontrollably as a result of a bug, for example) or some
|
||||
interactive tool require access to the telemetry stream. You could
|
||||
even try calling this from a debugger after a problem.
|
||||
interactive tool require access to the telemetry stream.
|
||||
|
||||
.. note::
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue