]> git.ipfire.org Git - thirdparty/git.git/commit - git-compat-util.h
mingw: avoid fallback for {local,gm}time_r()
authorCarlo Marcelo Arenas Belón <carenas@gmail.com>
Sat, 27 Nov 2021 10:15:32 +0000 (10:15 +0000)
committerJunio C Hamano <gitster@pobox.com>
Sun, 28 Nov 2021 07:49:20 +0000 (23:49 -0800)
commit9e12400da8d2b71e1fd7ccaa8f3c9cdbc52df554
tree920aae481d587dcd40c68d184ff0f8380e0b065b
parente9d7761bb94f20acc98824275e317fa82436c25d
mingw: avoid fallback for {local,gm}time_r()

mingw-w64's pthread_unistd.h had a bug that mistakenly (because there is
no support for the *lockfile() functions required[1]) defined
_POSIX_THREAD_SAFE_FUNCTIONS and that was being worked around since
3ecd153a3b (compat/mingw: support MSys2-based MinGW build, 2016-01-14).

The bug was fixed in winphtreads, but as a side effect, leaves the
reentrant functions from time.h no longer visible and therefore breaks
the build.

Since the intention all along was to avoid using the fallback functions,
formalize the use of POSIX by setting the corresponding feature flag and
compile out the implementation for the fallback functions.

[1] https://unix.org/whitepapers/reentrant.html

Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/mingw.c
git-compat-util.h