Функция pthread_mutex_destroy() используется для удаления мьютекса в любом состоянии. Память для мьютекса не освобождается; pthread_mutex_destroy() возвращает 0 - после успешного завершения - или другое значение, если произошла ошибка. Пример вызова:
pthread_mutex_t mp;
int ret;
ret = pthread_mutex_destroy(&mp);