我正在建立一个采用文件流并使用它来读写的通信库。该协议定义了超时,所以我想使用它们。
我正在使用fread(3)
和fwrite(3)
。我听说过select(2)
,这是我正在寻找的,除了它使用文件描述符而不是libc文件流 - 我想支持用fopencookie(3)
创建的自定义文件流,对测试和其他东西很有用,太。我尝试使用SIGALRM
设置alarm(2)
以获取EINTR
的{{1}}错误(使用fread(3)
设置SIGALRM
的回调),但它不会按预期停止signal(2)
通话......
提前感谢任何解决方案。
编辑:所以它看起来像这样......但只有一次。在第二次通话时,它不会...... Oo
fopen
再次感谢任何帮助^^
答案 0 :(得分:0)
函数:fdopen()
将从文件描述符中获取文件指针。
然后你可以使用函数select()
和fdopen()
返回的文件指针。