commit | 81af503610761a69476a3adbe8341fa8b6d078aa | [log] [tgz] |
---|---|---|
author | Rich Felker <dalias@aerifal.cx> | Thu Mar 10 21:34:19 2011 -0500 |
committer | Rich Felker <dalias@aerifal.cx> | Thu Mar 10 21:34:19 2011 -0500 |
tree | 87d40059752e8c9db136c3b53f25bc4f1a3a103d | |
parent | 5fcebcde6aeba6ae4a339790beba5331fbcd3b6e [diff] |
fix sem_open and sem_close to obey posix semantics multiple opens of the same named semaphore must return the same pointer, and only the last close can unmap it. thus the ugly global state keeping track of mappings. the maximum number of distinct named semaphores that can be opened is limited sufficiently small that the linear searches take trivial time, especially compared to the syscall overhead of these functions.