summaryrefslogtreecommitdiff
path: root/rts/TopHandler.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/TopHandler.c')
-rw-r--r--rts/TopHandler.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/rts/TopHandler.c b/rts/TopHandler.c
index d5175015e7..f3ab55c85e 100644
--- a/rts/TopHandler.c
+++ b/rts/TopHandler.c
@@ -28,6 +28,10 @@ StgTSO *getTopHandlerThread(void) {
ACQUIRE_LOCK(&m);
StgWeak *weak = (StgWeak*)deRefStablePtr(topHandlerPtr);
RELEASE_LOCK(&m);
+ if (weak == NULL) {
+ // topHandlerPtr was never initialised
+ return NULL;
+ }
const StgInfoTable *info = weak->header.info;
load_load_barrier();
if (info == &stg_WEAK_info) {