// The default tracer does not yet support splitting up trace output into sections. void newTracingSection(constchar* name) override {}
};
// We prefer gUserTracer if it's been set, otherwise we fall back on a default tracer; static std::atomic<SkEventTracer*> gUserTracer{nullptr};
bool SkEventTracer::SetInstance(SkEventTracer* tracer, bool leakTracer) {
SkEventTracer* expected = nullptr; if (!gUserTracer.compare_exchange_strong(expected, tracer)) { delete tracer; returnfalse;
} // If leaking the tracer is accepted then there is no need to install // the atexit. if (!leakTracer) {
atexit([]() { delete gUserTracer.load(); });
} returntrue;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.