1- we should probably extend pthread_mutexattr_t with a field to create a 2 single linked list of all instances. This requires changing the 3 pthread_mutexattr_* functions. 4 5 6- a new attribute for mutexes: number of times we spin before calling 7sys_futex 8 9- for adaptive mutexes: when releasing, determine whether somebody spins. 10If yes, for a short time release lock. If someone else locks no wakeup 11syscall needed. 12 13 14 15- test with threaded process terminating and semadj (?) being applied 16 only after all threads are gone 17 18 19 20- semaphore changes: 21 22 - sem_post should only wake one thread and only when the state of 23 the semaphore changed from 0 to 1 24 25 this also requires that sem_wait and sem_timedwait don't drop the 26 post if they get canceled. 27 28 - possibly add counter field. This requires reviving the 29 differences between old and new semaphose funtions. The old ones 30 stay as they are now. The new once can use an additional field 31 wich is the counter for the number of waiters 32