projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
NCG: Move the graph allocator into its own dir
[ghc-hetmet.git]
/
rts
/
posix
/
OSThreads.c
diff --git
a/rts/posix/OSThreads.c
b/rts/posix/OSThreads.c
index
79d395f
..
6e01f82
100644
(file)
--- a/
rts/posix/OSThreads.c
+++ b/
rts/posix/OSThreads.c
@@
-94,7
+94,7
@@
osThreadId()
}
rtsBool
}
rtsBool
-osThreadIsAlive(OSThreadId id)
+osThreadIsAlive(OSThreadId id STG_UNUSED)
{
// no good way to implement this on POSIX, AFAICT. Returning true
// is safe.
{
// no good way to implement this on POSIX, AFAICT. Returning true
// is safe.
@@
-104,10
+104,10
@@
osThreadIsAlive(OSThreadId id)
void
initMutex(Mutex* pMut)
{
void
initMutex(Mutex* pMut)
{
-#if defined(DEBUG) && defined(linux_HOST_OS)
+#if defined(DEBUG)
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
- pthread_mutexattr_settype(&attr,PTHREAD_MUTEX_ERRORCHECK_NP);
+ pthread_mutexattr_settype(&attr,PTHREAD_MUTEX_ERRORCHECK);
pthread_mutex_init(pMut,&attr);
#else
pthread_mutex_init(pMut,NULL);
pthread_mutex_init(pMut,&attr);
#else
pthread_mutex_init(pMut,NULL);
@@
-148,6
+148,15
@@
setThreadLocalVar (ThreadLocalKey *key, void *value)
}
}
}
}
+void
+freeThreadLocalKey (ThreadLocalKey *key)
+{
+ int r;
+ if ((r = pthread_key_delete(*key)) != 0) {
+ barf("freeThreadLocalKey: %s", strerror(r));
+ }
+}
+
static void *
forkOS_createThreadWrapper ( void * entry )
{
static void *
forkOS_createThreadWrapper ( void * entry )
{