Adding TcGadt.lhs
[ghc-hetmet.git] / rts / Stable.c
index 5a1b92b..813c6c8 100644 (file)
@@ -169,6 +169,9 @@ exitStablePtrTable(void)
     stgFree(stable_ptr_table);
   stable_ptr_table = NULL;
   SPT_size = 0;
+#ifdef THREADED_RTS
+  closeMutex(&stable_mutex);
+#endif
 }
 
 /*
@@ -412,15 +415,15 @@ gcStablePtrTable( void )
                if (p->sn_obj == NULL) {
                    // StableName object is dead
                    freeStableName(p);
-                   debugTrace(DEBUG_stable, "GC'd Stable name %ld", 
-                              p - stable_ptr_table);
+                   debugTrace(DEBUG_stable, "GC'd Stable name %ld",
+                              (long)(p - stable_ptr_table));
                    continue;
                    
                } else {
                  p->addr = (StgPtr)isAlive((StgClosure *)p->addr);
                  debugTrace(DEBUG_stable, 
                             "stable name %ld still alive at %p, ref %ld\n",
-                            p - stable_ptr_table, p->addr, p->ref);
+                            (long)(p - stable_ptr_table), p->addr, p->ref);
                }
            }
        }