]> git.ipfire.org Git - thirdparty/bind9.git/commit
Work around an MSVC bug
authorMichał Kępień <michal@isc.org>
Wed, 8 Apr 2020 12:27:33 +0000 (14:27 +0200)
committerMichał Kępień <michal@isc.org>
Wed, 8 Apr 2020 12:27:33 +0000 (14:27 +0200)
commit4c4f5cccaa0082317b9dda16db1e84222f5f24eb
tree3d33c5d3e2aaf47114086b1ca853fbf77c25c903
parent43e11807fcd02bcd5aa833512d7647f40389a864
Work around an MSVC bug

The assembly code generated by MSVC for at least some signed comparisons
involving atomic variables incorrectly uses unsigned conditional jumps
instead of signed ones.  In particular, the checks in isc_log_wouldlog()
are affected in a way which breaks logging on Windows and thus also all
system tests involving a named instance.  Work around the issue by
assigning the values returned by atomic_load_acquire() calls in
isc_log_wouldlog() to local variables before performing comparisons.
lib/isc/log.c