gpt4 book ai didi

c - 如何检查 nanosleep 循环中的错误

转载 作者:太空宇宙 更新时间:2023-11-04 01:35:26 27 4
gpt4 key购买 nike

我在 while 循环中有一个 nanosleep 函数。这是我在《Linux系统编程:直接与内核和C库对话》一书中找到的一个例子

    while(nanosleep(a, b) && errno==EINTR){
struct timespec *tmp =a;
a=b;
b=tmp;
}

工作完美,但我不确定如何检查 EINTR 以外的其他错误,以便我可以在屏幕上打印错误并退出程序。有什么想法吗?

最佳答案

您可以简单地将返回值存储在循环条件中:

int ret;
while((ret = nanosleep(a, b)) && errno==EINTR){
struct timespec *tmp =a;
a=b;
b=tmp;
}
if (ret) {
perror("nanosleep");
exit(1);
}

关于c - 如何检查 nanosleep 循环中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15280532/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com