This is an archive of the discontinued LLVM Phabricator instance.

[XRay][compiler-rt] Use a single global volatile recursion guard for FDR handlers
ClosedPublic

Authored by dberris on Sep 8 2017, 1:18 AM.

Details

Summary

Before this change, the recursion guard for the flight data recorder
(FDR) mode handlers were independent. This change makes it so that when
a handler is already in the process of running and somehow the same or
another handler starts running -- say in a signal handler, while the
XRay handler is executing -- then we can use the same thread-local
recursion guard to stop the second handler from running.

Diff Detail

Repository
rL LLVM

Event Timeline

dberris created this revision.Sep 8 2017, 1:18 AM
eizan accepted this revision.Sep 11 2017, 5:39 PM
This revision is now accepted and ready to land.Sep 11 2017, 5:39 PM
This revision was automatically updated to reflect the committed changes.