sem_open()失败后

zerozerg2006 2016-08-22 03:58:19
s_pSem = sem_open(CC_ASYNC_HTTPREQUEST_SEMAPHORE, O_CREAT, 0644, 0);

cocos2d里的HttpRequest.cpp有这么一段,目前不知道什么原因,这个值一直返回的是SEM_FAILED,也即是失败。

ERRORS
If any of the following conditions occur, the sem_open() function shall return SEM_FAILED and set errno to the corresponding value:
上面是文档。应该是是说会有对应的错误编号给出来,但问题来了,这个错误码是在哪儿看?
...全文
558 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Master of Linux 2021-06-17
  • 打赏
  • 举报
回复

perror();

mLee79 2016-08-22
  • 打赏
  • 举报
回复
你就 include <errno.h> 然后直接写 errno 就可以了, 这个用起来就像是 extern int errno 不过这个变量应该是线程局部存储的, 大部分平台除了单线程版本外一般都是个宏...
zerozerg2006 2016-08-22
  • 打赏
  • 举报
回复
引用 3 楼 mLee79 的回复:
说明上不上写着 errno 么, 用perror 弄个人肉可读的看..
原来是这样……
zerozerg2006 2016-08-22
  • 打赏
  • 举报
回复
我知道 errno 这个东西,但我不知道怎么获取这个参数, XCODE这边errno是一个宏
引用 4 楼 kongl123 的回复:
[quote=引用 2 楼 u013962723 的回复:] 什么意思?不懂,你这个似乎说的是定义?
"set errno to the corresponding value" errno is not english, but a variable that you can read[/quote]
kongl123 2016-08-22
  • 打赏
  • 举报
回复
引用 2 楼 u013962723 的回复:
什么意思?不懂,你这个似乎说的是定义?
"set errno to the corresponding value" errno is not english, but a variable that you can read
mLee79 2016-08-22
  • 打赏
  • 举报
回复
说明上不上写着 errno 么, 用perror 弄个人肉可读的看..
zerozerg2006 2016-08-22
  • 打赏
  • 举报
回复
什么意思?不懂,你这个似乎说的是定义?
kongl123 2016-08-22
  • 打赏
  • 举报
回复
system build-in global variable: extern int errno

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧