当前位置: 技术问答>linux和unix
很奇怪的问题!!!!!!
来源: 互联网 发布时间:2016-10-05
本文导语: 160 ret=pthread_attr_setschedparam(&attr_obj1,¶m1); 161 if(ret!=0) 162 { 163 perror("obj1: can not set schedule parameters"); 165 return 1; 166 ...
160 ret=pthread_attr_setschedparam(&attr_obj1,¶m1);
161 if(ret!=0)
162 {
163 perror("obj1: can not set schedule parameters");
165 return 1;
166 }
在上面的代码中,pthread_attr_setschedparam函数调用成功的话,返回0,否则返回非0,程序在运行的 时候,却输出
obj1: can not set schedule parameters:Success
请问这是怎么回事,为什么perror返回的错误信息是Success
161 if(ret!=0)
162 {
163 perror("obj1: can not set schedule parameters");
165 return 1;
166 }
在上面的代码中,pthread_attr_setschedparam函数调用成功的话,返回0,否则返回非0,程序在运行的 时候,却输出
obj1: can not set schedule parameters:Success
请问这是怎么回事,为什么perror返回的错误信息是Success
|
pthread的函数不会自动设置errno, 而是通过函数返回值来说明错误原因
可以这样打印错误:
160 ret=pthread_attr_setschedparam(&attr_obj1,¶m1);
161 if(ret!=0)
162 {
163 printf("obj1: can not set schedule parameters: %s", strerror(ret));
165 return 1;
166 }
可以这样打印错误:
160 ret=pthread_attr_setschedparam(&attr_obj1,¶m1);
161 if(ret!=0)
162 {
163 printf("obj1: can not set schedule parameters: %s", strerror(ret));
165 return 1;
166 }
|
原因如ls所说,pthread里面的函数都是直接返回错误码的
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。