assert(0 == pthread_mutex_destroy(&lock))的含义是什么?

时间:2019-05-28 09:25:39

标签: c pthreads assert

我正在调试一段代码,遇到一条语句:

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

任何人都可以向我解释此声明的解释。

我的理解是,如果pthread_mutex_destroy()方法未返回零,则断言将终止程序。

谁能告诉我我的理解是否正确

1 个答案:

答案 0 :(得分:0)

如果成功,pthread_mutex_destroy()将返回零,否则,将返回错误号以指示错误。

如果mutex_destroy()不成功,则将断言。


pthread_mutex_destroy()将因以下原因而失败:

  • [EINVAL]:互斥锁指定的值无效。
  • [EBUSY]:互斥锁已锁定。