projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove unused lookupDeprec function
[ghc-hetmet.git]
/
rts
/
Capability.c
diff --git
a/rts/Capability.c
b/rts/Capability.c
index
7fc1c57
..
1d282f0
100644
(file)
--- a/
rts/Capability.c
+++ b/
rts/Capability.c
@@
-23,6
+23,7
@@
#include "STM.h"
#include "OSThreads.h"
#include "Capability.h"
#include "STM.h"
#include "OSThreads.h"
#include "Capability.h"
+#include "Storage.h"
#include "Schedule.h"
#include "Sparks.h"
#include "Trace.h"
#include "Schedule.h"
#include "Sparks.h"
#include "Trace.h"
@@
-153,7
+154,8
@@
initCapability( Capability *cap, nat i )
cap->mut_lists[g] = NULL;
}
cap->mut_lists[g] = NULL;
}
- cap->free_tvar_wait_queues = END_STM_WAIT_QUEUE;
+ cap->free_tvar_watch_queues = END_STM_WATCH_QUEUE;
+ cap->free_invariant_check_queues = END_INVARIANT_CHECK_QUEUE;
cap->free_trec_chunks = END_STM_CHUNK_LIST;
cap->free_trec_headers = NO_TREC;
cap->transaction_tokens = 0;
cap->free_trec_chunks = END_STM_CHUNK_LIST;
cap->free_trec_headers = NO_TREC;
cap->transaction_tokens = 0;
@@
-678,8
+680,10
@@
shutdownCapability (Capability *cap, Task *task)
// we now have the Capability, its run queue and spare workers
// list are both empty.
// we now have the Capability, its run queue and spare workers
// list are both empty.
- // We end up here only in THREADED_RTS
- closeMutex(&cap->lock);
+ // ToDo: we can't drop this mutex, because there might still be
+ // threads performing foreign calls that will eventually try to
+ // return via resumeThread() and attempt to grab cap->lock.
+ // closeMutex(&cap->lock);
}
/* ----------------------------------------------------------------------------
}
/* ----------------------------------------------------------------------------