diff --git a/src/ittnotify/ittnotify_config.h b/src/ittnotify/ittnotify_config.h index 7b0d855..274d466 100644 --- a/src/ittnotify/ittnotify_config.h +++ b/src/ittnotify/ittnotify_config.h @@ -208,10 +208,10 @@ #define ITT_MAGIC { 0xED, 0xAB, 0xAB, 0xEC, 0x0D, 0xEE, 0xDA, 0x30 } /* Replace with snapshot date YYYYMMDD for promotion build. */ -#define API_VERSION_BUILD 20250429 +#define API_VERSION_BUILD 20250807 #ifndef API_VERSION_NUM -#define API_VERSION_NUM 3.26.0 +#define API_VERSION_NUM 3.26.3 #endif /* API_VERSION_NUM */ #define API_VERSION "ITT-API-Version " ITT_TO_STR(API_VERSION_NUM) \ diff --git a/src/ittnotify/ittnotify_static.c b/src/ittnotify/ittnotify_static.c index f78adaf..85f66ec 100644 --- a/src/ittnotify/ittnotify_static.c +++ b/src/ittnotify/ittnotify_static.c @@ -952,6 +952,7 @@ static void ITTAPI ITT_VERSIONIZE(ITT_JOIN(_N_(bind_context_metadata_to_counter) { if (PTHREAD_SYMBOLS) __itt_mutex_unlock(&_N_(_ittapi_global).mutex); ITTNOTIFY_NAME(bind_context_metadata_to_counter)(counter, length, metadata); + return; } else { @@ -1344,14 +1345,12 @@ static void __itt_nullify_all_pointers(void) static int __itt_is_collector_available(void) { - int is_available; - ITT_MUTEX_INIT_AND_LOCK(_N_(_ittapi_global)); if (_N_(_ittapi_global).state == __itt_collection_uninitialized) { _N_(_ittapi_global).state = (NULL == __itt_get_lib_name()) ? __itt_collection_collector_absent : __itt_collection_collector_exists; } - is_available = (_N_(_ittapi_global).state == __itt_collection_collector_exists || + int is_available = (_N_(_ittapi_global).state == __itt_collection_collector_exists || _N_(_ittapi_global).state == __itt_collection_init_successful); __itt_mutex_unlock(&_N_(_ittapi_global).mutex); return is_available; @@ -1663,11 +1662,14 @@ ITT_EXTERN_C void _N_(mark_pt_region_end)(__itt_pt_region region) ITT_EXTERN_C __itt_collection_state (_N_(get_collection_state))(void) { + ITT_MUTEX_INIT_AND_LOCK(_N_(_ittapi_global)); if (!_N_(_ittapi_global).api_initialized && _N_(_ittapi_global).thread_list == NULL) { __itt_init_ittlib_name(NULL, __itt_group_all); } - return _N_(_ittapi_global).state; + __itt_collection_state state = _N_(_ittapi_global).state; + if (PTHREAD_SYMBOLS) __itt_mutex_unlock(&_N_(_ittapi_global).mutex); + return state; } /* !!! should be called from the library destructor !!!