我正在尝试处理pthread_timedjoin_np()
的所有可能的返回值,但我不太明白,它什么时候返回EBUSY
?
如果线程在给定的时间内返回,pthread_timedjoin_np()
总是返回零,而如果时间已经过去,则得到ETIMEDOUT
。我要怎么做才能触发EBUSY
发布于 2022-01-27 18:28:40
我不太明白,它什么时候还EBUSY?
绝不可能。
您正在阅读的手册页是针对pthread_tryjoin_np
和pthread_timedjoin_np
的。当“线程在调用时尚未终止”时,pthread_tryjoin_np
将与EBUSY
一起返回。
这些函数可能会出现与pthread_join(3)相同的错误。
此外,pthread_tryjoin_np()还可能在发生以下错误时失败:
在调用时,EBUSY线程尚未终止。此外,pthread_timedjoin_np()还可能因以下错误而失败:
值无效(tv_sec小于0或tv_nsec大于1e9)。
ETIMEDOUT线程终止前调用超时.
https://stackoverflow.com/questions/70883504
复制相似问题