From 3d3f4dea2ac829f450bc2bb2ceed777864ba6aec Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Mon, 20 Nov 2006 14:27:38 +0000 Subject: [PATCH] better error messages when PAPI_library_init() fails --- rts/RtsStartup.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/rts/RtsStartup.c b/rts/RtsStartup.c index f2a0dd7..c2f765a 100644 --- a/rts/RtsStartup.c +++ b/rts/RtsStartup.c @@ -160,9 +160,18 @@ hs_init(int *argc, char **argv[]) /* Initialise the performance tracking library */ #ifdef USE_PAPI - /* Must fix to abort gracefully */ - if(PAPI_library_init(PAPI_VER_CURRENT) != PAPI_VER_CURRENT) - exit(1); + { + int ver; + if ((ver = PAPI_library_init(PAPI_VER_CURRENT)) != PAPI_VER_CURRENT) { + if (ver > 0) { + errorBelch("PAPI_library_init: wrong version: %x", ver); + stg_exit(EXIT_FAILURE); + } else { + sysErrorBelch("PAPI_library_init"); + stg_exit(EXIT_FAILURE); + } + } + } #ifdef THREADED_RTS { int err; -- 1.7.10.4