[all-commits] [llvm/llvm-project] 900d8a: [profile] Fix file contention causing dropped coun...
Hans via All-commits
all-commits at lists.llvm.org
Wed Nov 27 06:55:33 PST 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 900d8a9a3b4efeefddd310e92219741d98e7270b
https://github.com/llvm/llvm-project/commit/900d8a9a3b4efeefddd310e92219741d98e7270b
Author: Hans Wennborg <hans at chromium.org>
Date: 2019-11-27 (Wed, 27 Nov 2019)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingUtil.c
A compiler-rt/test/profile/Windows/Inputs/instrprof-multiprocess.c
A compiler-rt/test/profile/Windows/instrprof-multiprocess.test
A compiler-rt/test/profile/Windows/lit.local.cfg.py
Log Message:
-----------
[profile] Fix file contention causing dropped counts on Windows under -fprofile-generate
See PR43425:
https://bugs.llvm.org/show_bug.cgi?id=43425
When writing profile data on Windows we were opening profile file with
exclusive read/write access.
In case we are trying to write to the file from multiple processes
simultaneously, subsequent calls to CreateFileA would return
INVALID_HANDLE_VALUE.
To fix this, I changed to open without exclusive access and then take a
lock.
Patch by Michael Holman!
Differential revision: https://reviews.llvm.org/D70330
More information about the All-commits
mailing list