From 681e0e8ce470ec77a0db071f9fc7ec15995a0bb3 Mon Sep 17 00:00:00 2001 From: sheaf Date: Thu, 9 Feb 2023 13:13:15 +0100 Subject: No default finalizer exception handler Commit cfc8e2e2 introduced a mechanism for handling of exceptions that occur during Handle finalization, and 372cf730 set the default handler to print out the error to stderr. However, #21680 pointed out we might not want to set this by default, as it might pollute users' terminals with unwanted information. So, for the time being, the default handler discards the exception. Fixes #21680 --- docs/users_guide/9.6.1-notes.rst | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/users_guide/9.6.1-notes.rst b/docs/users_guide/9.6.1-notes.rst index 256e3f1aca..646ea43c1c 100644 --- a/docs/users_guide/9.6.1-notes.rst +++ b/docs/users_guide/9.6.1-notes.rst @@ -191,10 +191,9 @@ Runtime system ``base`` library ~~~~~~~~~~~~~~~~ -- Exceptions thrown by weak pointer finalizers are now caught and reported - via a global exception handler. By default this handler reports the error - to ``stderr`` although this can be changed using - ``GHC.Weak.Finalize.setFinalizerExceptionHandler``. +- Exceptions thrown by weak pointer finalizers can now be reported by setting + a global exception handler, using ``GHC.Weak.Finalize.setFinalizerExceptionHandler``. + The default behaviour is unchanged (exceptions are ignored and not reported). - GHC now provides a set of operations for introspecting on the threads of a program, ``GHC.Conc.listThreads``, as well as operations for querying a thread's -- cgit v1.2.1