On 2024-01-24 05:11, Corinna Vinschen via Cygwin wrote: > Is anybody willing to give this a whirl? We have a good year until > the next major release...
As far as the problem of not allocating per-mutex kernel objects, this can be done by implementing futex. Linux has futexes, mainly for solving certain problems having to do with doing synchronization efficiently in user space, while requiring the kernel to actually make threads wait. But the technique has an attractive aspect in that programs do not have to allocate and free futexes. Any memory location is a futex. (A vaguely similar idea was implemented in early Unix: the "wait channel" (wchan). Any memory location in the kernel could be waited on and signaled, without allocating or freeing any sync object. That's where the wchan field comes from in ps; showing the address of what the process is waiting in. Because the wait channel had no state, any address could be used. Addresses of functions were used, because those could be resolved back to meaningful names via the symbol table. Futexes have state, though.) -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple