pthread_mutex_lock返回未测试

dle*_*win 7 multithreading coding-style pthreads

我真的想知道为什么实现pthread_mutex_lock的所有源代码都 不会按照定义测试其返回值:

pthread的文档

即使在书中,示例也不会测试锁是否出错,代码只是执行锁定.

有什么理由我错过了让它未经测试?

Rin*_*ing 3

基本上,唯一的 \xe2\x80\x9cinteresting\xe2\x80\x9d 错误是EINVAL,在大多数程序中,只会因为内存损坏而发生,或者,正如我从自己的痛苦经历中知道的那样,在析构函数已经销毁后程序关闭期间一些互斥体。在我看来,对此类错误的唯一合理反应是中止程序,另一方面,如果错误恰好发生,因为程序已经关闭,则非常不方便。当然,这是可以解决的,但是\xe2\x80\x99根本没有那么简单,而且对于大多数程序来说并没有多大好处。

\n

  • 不,你不会“处理”内存损坏,你只是一开始就不损坏内存。 (7认同)