diff options
Diffstat (limited to 'openmp/runtime/src/z_Linux_util.c')
| -rw-r--r-- | openmp/runtime/src/z_Linux_util.c | 62 |
1 files changed, 47 insertions, 15 deletions
diff --git a/openmp/runtime/src/z_Linux_util.c b/openmp/runtime/src/z_Linux_util.c index 4a26d4b65d5..34a4f2c9769 100644 --- a/openmp/runtime/src/z_Linux_util.c +++ b/openmp/runtime/src/z_Linux_util.c @@ -165,12 +165,16 @@ __kmp_affinity_determine_capable(const char *env_var) && (__kmp_affinity_type != affinity_default) && (__kmp_affinity_type != affinity_disabled))) { int error = errno; + kmp_msg_t err_code = KMP_ERR( error ); __kmp_msg( kmp_ms_warning, KMP_MSG( GetAffSysCallNotSupported, env_var ), - KMP_ERR( error ), + err_code, __kmp_msg_null ); + if (__kmp_generate_warnings == kmp_warnings_off) { + __kmp_str_free(&err_code.str); + } } KMP_AFFINITY_DISABLE(); KMP_INTERNAL_FREE(buf); @@ -193,12 +197,16 @@ __kmp_affinity_determine_capable(const char *env_var) && (__kmp_affinity_type != affinity_default) && (__kmp_affinity_type != affinity_disabled))) { int error = errno; + kmp_msg_t err_code = KMP_ERR( error ); __kmp_msg( kmp_ms_warning, KMP_MSG( SetAffSysCallNotSupported, env_var ), - KMP_ERR( error ), + err_code, __kmp_msg_null ); + if (__kmp_generate_warnings == kmp_warnings_off) { + __kmp_str_free(&err_code.str); + } } KMP_AFFINITY_DISABLE(); KMP_INTERNAL_FREE(buf); @@ -241,12 +249,16 @@ __kmp_affinity_determine_capable(const char *env_var) && (__kmp_affinity_type != affinity_default) && (__kmp_affinity_type != affinity_disabled))) { int error = errno; + kmp_msg_t err_code = KMP_ERR( error ); __kmp_msg( kmp_ms_warning, KMP_MSG( GetAffSysCallNotSupported, env_var ), - KMP_ERR( error ), + err_code, __kmp_msg_null ); + if (__kmp_generate_warnings == kmp_warnings_off) { + __kmp_str_free(&err_code.str); + } } KMP_AFFINITY_DISABLE(); KMP_INTERNAL_FREE(buf); @@ -272,12 +284,16 @@ __kmp_affinity_determine_capable(const char *env_var) && (__kmp_affinity_type != affinity_default) && (__kmp_affinity_type != affinity_disabled))) { int error = errno; + kmp_msg_t err_code = KMP_ERR( error ); __kmp_msg( kmp_ms_warning, KMP_MSG( SetAffSysCallNotSupported, env_var ), - KMP_ERR( error ), + err_code, __kmp_msg_null ); + if (__kmp_generate_warnings == kmp_warnings_off) { + __kmp_str_free(&err_code.str); + } } KMP_AFFINITY_DISABLE(); KMP_INTERNAL_FREE(buf); @@ -710,13 +726,17 @@ __kmp_launch_monitor( void *thr ) rc = sched_setscheduler( 0, sched, & param ); if ( rc != 0 ) { int error = errno; - __kmp_msg( - kmp_ms_warning, - KMP_MSG( CantChangeMonitorPriority ), - KMP_ERR( error ), - KMP_MSG( MonitorWillStarve ), - __kmp_msg_null - ); + kmp_msg_t err_code = KMP_ERR( error ); + __kmp_msg( + kmp_ms_warning, + KMP_MSG( CantChangeMonitorPriority ), + err_code, + KMP_MSG( MonitorWillStarve ), + __kmp_msg_null + ); + if (__kmp_generate_warnings == kmp_warnings_off) { + __kmp_str_free(&err_code.str); + } }; // if } else { // We cannot abort here, because number of CPUs may be enough for all the threads, @@ -959,7 +979,11 @@ __kmp_create_worker( int gtid, kmp_info_t *th, size_t stack_size ) #ifdef KMP_THREAD_ATTR status = pthread_attr_destroy( & thread_attr ); if ( status ) { - __kmp_msg(kmp_ms_warning, KMP_MSG( CantDestroyThreadAttrs ), KMP_ERR( status ), __kmp_msg_null); + kmp_msg_t err_code = KMP_ERR( status ); + __kmp_msg(kmp_ms_warning, KMP_MSG( CantDestroyThreadAttrs ), err_code, __kmp_msg_null); + if (__kmp_generate_warnings == kmp_warnings_off) { + __kmp_str_free(&err_code.str); + } }; // if #endif /* KMP_THREAD_ATTR */ @@ -1055,13 +1079,17 @@ __kmp_create_monitor( kmp_info_t *th ) __kmp_monitor_stksize *= 2; goto retry; } + kmp_msg_t err_code = KMP_ERR( status ); __kmp_msg( kmp_ms_warning, // should this be fatal? BB KMP_MSG( CantSetMonitorStackSize, (long int) __kmp_monitor_stksize ), - KMP_ERR( status ), + err_code, KMP_HNT( ChangeMonitorStackSize ), __kmp_msg_null ); + if (__kmp_generate_warnings == kmp_warnings_off) { + __kmp_str_free(&err_code.str); + } }; // if #endif /* _POSIX_THREAD_ATTR_STACKSIZE */ @@ -1117,12 +1145,16 @@ __kmp_create_monitor( kmp_info_t *th ) #ifdef KMP_THREAD_ATTR status = pthread_attr_destroy( & thread_attr ); if ( status != 0 ) { - __kmp_msg( // + kmp_msg_t err_code = KMP_ERR( status ); + __kmp_msg( kmp_ms_warning, KMP_MSG( CantDestroyThreadAttrs ), - KMP_ERR( status ), + err_code, __kmp_msg_null ); + if (__kmp_generate_warnings == kmp_warnings_off) { + __kmp_str_free(&err_code.str); + } }; // if #endif |

