В чем разница между PTHREAD_RECURSIVE_MUTEX_INITIALIZER и PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP?

При статической инициализации рекурсивного мьютекса, в чем разница между

static pthread_mutex_t foo_mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER;

а также

static pthread_mutex_t foo_mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;

и почему я должен хотеть одного вместо другого?

1 ответ

Решение

"_NP" означает подсказку о том, что функция не переносима. Чтобы сохранить подсказку, лучше всего использовать версию "_NP".

Помимо этого я подозреваю, что нет никакой разницы. Хотя не уверен на 100%.

Другие вопросы по тегам