0

我在 VxWorks PPC 上运行我的代码,如果系统调用失败,尤其是对于套接字发送/接收函数,errno 总是返回 0。

经过一些分析,我发现 errno 在所有系统调用失败的情况下返回 0。

我应该为 errno 做任何初始化以返回正确的值吗?

4

2 回答 2

1

从外壳(内核或主机)中,如果您键入“i”命令,您将获得任务列表。其中一个字段是 errno 值。找到有错误的任务,并设置 errno 值。

检查 errno 时,您必须处于导致错误的同一任务中:

if(ERROR = someSystemFunction())
  printf("errno=%x", errno);

您不能在 shell 中并期望打印 errno

-> errno     (<---- will NEVER work)
errno:0x123455 value: 0 = 0x0
于 2010-05-04T13:01:08.213 回答
0

errnoGet() 将返回执行它的任务的 errno。请参阅 errnoLib 上的文档以检索不同任务的 errno

于 2010-06-18T13:23:54.933 回答