Add closeMutex and use it on clean up
[ghc-hetmet.git] / rts / posix / OSThreads.c
index 07bd762..b30d085 100644 (file)
@@ -16,6 +16,7 @@
 #if defined(THREADED_RTS)
 #include "OSThreads.h"
 #include "RtsUtils.h"
+#include "Task.h"
 
 #if HAVE_STRING_H
 #include <string.h>
@@ -105,6 +106,11 @@ initMutex(Mutex* pMut)
 #endif
     return;
 }
+void
+closeMutex(Mutex* pMut)
+{
+    pthread_mutex_destroy(pMut);
+}
 
 void
 newThreadLocalKey (ThreadLocalKey *key)
@@ -140,6 +146,7 @@ forkOS_createThreadWrapper ( void * entry )
     Capability *cap;
     cap = rts_lock();
     cap = rts_evalStableIO(cap, (HsStablePtr) entry, NULL);
+    taskTimeStamp(myTask());
     rts_unlock(cap);
     return NULL;
 }