- we should probably extend pthread_mutexattr_t with a field to create a single linked list of all instances. This requires changing the pthread_mutexattr_* functions. - a new attribute for mutexes: number of times we spin before calling sys_futex - in case a thread calls 'fork' the stacks of all the other threads in the child process are currently list. Instead they should be recovered and added to the stack cache. This can be done by adding another global list (maybe one per cluster) which lists all running threads and which is processed by the child branch of fork. All the stacks are simply added to the stack cache. - test with threaded process terminating and semadj (?) being applied only after all threads are gone - raise sends the signal to calling thread or process?