File tree Expand file tree Collapse file tree 4 files changed +20
-21
lines changed Expand file tree Collapse file tree 4 files changed +20
-21
lines changed Original file line number Diff line number Diff line change @@ -34,10 +34,7 @@ class XPTIRegistry {
3434 void initializeFrameworkOnce () {
3535#ifdef XPTI_ENABLE_INSTRUMENTATION
3636 if (!MInitialized) {
37- xpti::result_t result = xptiFrameworkInitialize ();
38- if (result != xpti::result_t ::XPTI_RESULT_SUCCESS) {
39- throw std::runtime_error (" Failed to initialize XPTI" );
40- }
37+ xptiFrameworkInitialize ();
4138 MInitialized = true ;
4239 }
4340#endif
Original file line number Diff line number Diff line change 3434
3535extern "C" {
3636
37- XPTI_EXPORT_API xpti ::result_t xptiFrameworkInitialize ();
38- XPTI_EXPORT_API xpti ::result_t xptiFrameworkFinalize ();
37+ /// @brief Initializes XPTI framework.
38+ /// @details Initialize XPTI framework resources. Each user of XPTI must call
39+ /// this function prior to any other XPTI API call. It is framework's
40+ /// responsibility to ensure that resources are initialized once. Each call to
41+ /// this function must have corresponding call to xptiFrameworkFinalize() to
42+ /// ensure resources are freed.
43+ XPTI_EXPORT_API void xptiFrameworkInitialize ();
44+
45+ /// @brief Deinitializes XPTI framework.
46+ /// @details Call to this function decrements framework's internal reference
47+ /// counter. Once its value is equal to zero, XPTI framework can release
48+ /// resources and unload subscribers.
49+ XPTI_EXPORT_API void xptiFrameworkFinalize ();
3950
4051/// @brief Initialization function that is called when a new stream is generated
4152/// @details When a runtime or application that uses XPTI instrumentation API
Original file line number Diff line number Diff line change @@ -140,32 +140,26 @@ class ProxyLoader {
140140};
141141} // namespace xpti
142142
143- XPTI_EXPORT_API xpti:: result_t xptiFrameworkInitialize () {
143+ XPTI_EXPORT_API void xptiFrameworkInitialize () {
144144 if (xpti::ProxyLoader::instance ().noErrors ()) {
145145 void *f = xpti::ProxyLoader::instance ().functionByIndex (
146146 XPTI_FRAMEWORK_INITIALIZE);
147147 if (f) {
148- return (*reinterpret_cast <xpti_framework_initialize_t >(f))();
148+ (*reinterpret_cast <xpti_framework_initialize_t >(f))();
149149 }
150150 }
151-
152- return xpti::result_t ::XPTI_RESULT_FAIL;
153151}
154152
155- XPTI_EXPORT_API xpti::result_t xptiFrameworkFinalize () {
156- xpti::result_t result = xpti::result_t ::XPTI_RESULT_FAIL;
157-
153+ XPTI_EXPORT_API void xptiFrameworkFinalize () {
158154 if (xpti::ProxyLoader::instance ().noErrors ()) {
159155 void *f = xpti::ProxyLoader::instance ().functionByIndex (
160156 XPTI_FRAMEWORK_INITIALIZE);
161157 if (f) {
162- result = (*reinterpret_cast <xpti_framework_initialize_t >(f))();
158+ (*reinterpret_cast <xpti_framework_initialize_t >(f))();
163159 }
164160 }
165161
166162 delete &xpti::ProxyLoader::instance ();
167-
168- return result;
169163}
170164
171165XPTI_EXPORT_API uint16_t xptiRegisterUserDefinedTracePoint (
Original file line number Diff line number Diff line change @@ -1004,21 +1004,18 @@ static int GFrameworkReferenceCounter = 0;
10041004
10051005extern " C" {
10061006
1007- XPTI_EXPORT_API xpti:: result_t xptiFrameworkInitialize () {
1007+ XPTI_EXPORT_API void xptiFrameworkInitialize () {
10081008 std::lock_guard<xpti::utils::SpinLock> guard{xpti::g_framework_mutex};
10091009 xpti::GFrameworkReferenceCounter++;
1010- return xpti::result_t ::XPTI_RESULT_SUCCESS;
10111010}
10121011
1013- XPTI_EXPORT_API xpti:: result_t xptiFrameworkFinalize () {
1012+ XPTI_EXPORT_API void xptiFrameworkFinalize () {
10141013 std::lock_guard<xpti::utils::SpinLock> guard{xpti::g_framework_mutex};
10151014
10161015 xpti::GFrameworkReferenceCounter--;
10171016 if (xpti::GFrameworkReferenceCounter == 0 ) {
10181017 delete &xpti::Framework::instance ();
10191018 }
1020-
1021- return xpti::result_t ::XPTI_RESULT_SUCCESS;
10221019}
10231020
10241021XPTI_EXPORT_API uint16_t
You can’t perform that action at this time.
0 commit comments