summaryrefslogtreecommitdiff
path: root/rts/Schedule.c
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-04-28 08:53:45 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-04-28 08:53:45 +0000
commitc9ad23b0b5be6d0767e490cc55b00c169a5ec226 (patch)
treee2340cb13cfc12d4515e59351edaaa16b58fe7c1 /rts/Schedule.c
parentc59c053f0b8613dd128297ee0b6eef31f001c498 (diff)
downloadhaskell-c9ad23b0b5be6d0767e490cc55b00c169a5ec226.tar.gz
improve the finalizer callback error message
Diffstat (limited to 'rts/Schedule.c')
-rw-r--r--rts/Schedule.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/rts/Schedule.c b/rts/Schedule.c
index e82115bc29..97923022b4 100644
--- a/rts/Schedule.c
+++ b/rts/Schedule.c
@@ -285,7 +285,9 @@ schedule (Capability *initialCapability, Task *task)
if (running_finalizers) {
errorBelch("error: a C finalizer called back into Haskell.\n"
- " use Foreign.Concurrent.newForeignPtr for Haskell finalizers.");
+ " This was previously allowed, but is disallowed in GHC 6.10.2 and later.\n"
+ " To create finalizers that may call back into Haskll, use\n"
+ " Foreign.Concurrent.newForeignPtr instead of Foreign.newForeignPtr.");
stg_exit(EXIT_FAILURE);
}