В чем смысл assert (0 == pthread_mutex_destroy (& lock)); - PullRequest
0 голосов
/ 28 мая 2019

Я отлаживал кусок кода и столкнулся с утверждением:

assert(0 == pthread_mutex_destroy(&lock));

Может кто-нибудь объяснить мне, какова интерпретация этого утверждения.

Насколько я понимаю, утверждение будетзавершите программу, если метод pthread_mutex_destroy () не возвращает ноль.

Может кто-нибудь сказать мне, если мое понимание верно

1 Ответ

0 голосов
/ 28 мая 2019

В случае успеха pthread_mutex_destroy() вернет ноль, в противном случае будет возвращен номер ошибки, указывающий на ошибку.

Это будет подтверждено, если mutex_destroy () не будет успешным.


pthread_mutex_destroy() произойдет сбой по этой причине:

  • [EINVAL]: значение, указанное в mutex, недопустимо.
  • [EBUSY]: Mutexзаблокирован.
...