[pthread] 关于函数返回值
2009-12-30 09:02:58| 分类:
pthread
| 标签:
|举报
|字号大中小 订阅
今天认真看了下 pthread mutex 的 man page 才发现此问题。对于一般的 *nix API,如果成功返回0 失败返回-1 并设置 errno。而 pthread 的这堆 API 是,如果成功返回 0 否则返回 err_code,而 err_code (EAGAIN, EINVAL等等) 一般定义都是 > 0 的整数。
传统的 *nix API,我们习惯上:
if ( (fd = open("filename", O_CREAT|O_RDWR)) < 0 )
// error
而 pthread 这堆 API ,错误检查应该这样写:
if ( pthread_create(&pid, NULL, mythr, NULL) != 0 )
// error
感叹下~~ 习惯的力量真可怕。- -#
评论这张
转发至微博
转发至微博
评论