npub1dj7q4kzehyveqtxhpmrgjpclxw0sfuuy9rqazutl4pfch3vmuurq6txuj8 (npub1dj7…xuj8) that's why my proposal is along the line of overriding thread-unsafe functions with `*_safe` twins - it wouldn't break back-compatibility, and it'll introduce changes (veeery) gradually into codebases as the new standard is adopted. Implementing a reentrant multilock mechanism that simply uses memory locations as keys wouldn't even be technically difficult to implement.
But I've got the impression that POSIX will simply not easily accept such a big change, no matter how well-intentioned or well-designed. POSIX basically hasn't changed at all since 1997 - the three reviews that occurred since then, in 2001, 2008 and 2017, have all been very minor and usually amounted to errata or minor fixes. Things can be designed to be back-compatible, but old standards that are so widely used are just insanely resistant to change...