
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 7: sys_futex 8: 9: - for adaptive mutexes: when releasing, determine whether somebody spins. 10: If yes, for a short time release lock. If someone else locks no wakeup 11: syscall 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