Johannes Sixt <j6t@xxxxxxxx> writes: > Am 27.10.2016 um 19:01 schrieb Stefan Beller: > ... > It is not possible to mark a mutex uninitialized on Windows without an > extra piece of data. A solution would become quite complicated quite > quickly, and at the cost of additional operations that are in the same > ballpark as an uncontended mutex. I'm not enthused. > >> The positive aspect of this way the patch proposes would be that any >> future contributor not knowing the details of how to do mutexes right >> on Windows, would not totally break the whole system, i.e. this seems >> to be more maintainable in the future as it reduces the friction between >> pthreads mutexes and the way we can do things in Git in a platform >> independent way > > This is a non-argument. Coders have to know their tools. The codebase should strive to give coders a coherent abstraction that can be implemented efficiently on platforms, so that coders do not have to care too deeply about quirks that exist on individual platforms. It is OK to argue that the particular solution Stefan lifted from somewhere (perhaps msdn article he cited???) does not qualify as such an abstraction. But I do not agree with your "Coders have to know" as a blanket statement.