[GHC] #13452: Lock .tix file
GHC
ghc-devs at haskell.org
Sun Jun 10 20:40:19 UTC 2018
#13452: Lock .tix file
-------------------------------------+-------------------------------------
Reporter: dfeuer | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Code Coverage | Version: 8.0.1
Resolution: | Keywords: newcomer
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by bgamari):
Indeed file locking is non-trivial, as our experiences with #13194 has
taught us. If HPC records were written by Haskell code then we could
simply piggy-back on the file locking interfaces in `base`. However, this
isn't the case; `tix` files are written by the RTS. One option would be to
change this, implementing the tix I/O bits in Haskell. Another would be to
introduce file locking logic into the RTS.
Regardless of how the locking itself will be implemented, the real
question is how contention will be dealt with without either losing
samples from one of the processes or causing one of the processes to
block. It seems to me like this will likely require some refactoring of
how TIX samples are read/accumulated/written; IIRC they are currently read
by the RTS during startup, accumulated as the program runs, and written
during shutdown.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13452#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list