X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRtsStartup.c;h=c2f765a9bef7f1e701d3a2fec68f918921ff28e0;hb=6feeea5a596026e3416ec6dcd5cae6fecaeb2e27;hp=f2a0dd71c36243d41583b44f7c11a014fc910b74;hpb=fe07f054d7ae5e10b14d5fed730fe4424dabd587;p=ghc-hetmet.git 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;