- 论坛徽章:
- 0
|
我的程序中用select监听2个文件描述符, 其中read的时候会出错, debu信息如下:
pty.c(593):main DEBUG: @"read: Input/output error (5)"@
请问这是什么原因造成的, 我这么写代码有问题吗? 谢谢
- memset(buf, '\0', sizeof(buf));
- if(FD_ISSET(master_fd, &fds))
- {
- Header h;
- char temp[1024], temp1[5];
- int i, m = 0;
- if((n = read(master_fd, buf, sizeof(buf) - 1)) <= 0)
- {
- if(n == 0)
- break;
- ESSH_DEBUG(file_debug, "main", "read: %.100s (%i)",
- strerror(errno), errno);
- if(errno == EAGAIN)
- continue;
- else
- break;
- }
- if(write(STDIN_FILENO, buf, n) != n)
- {
- ESSH_DEBUG(file_debug, "main", "write: %.100s (%i)",
- strerror(errno), errno);
- fprintf(stderr, "%.63s: write(%i): %.100s (%i)\n",
- basename(progname), STDIN_FILENO,
- strerror(errno), errno);
- shutdown_pty(1);
- exit(EXIT_FAILURE);
- }
复制代码 |
|