read_fd
fd_set read_fd;
FD_ZERO(&read_fd);
FD_SET(0, &read_fd);
FD_SET(gpipe, &read_fd);
if (select(gpipe + 1, &read_fd, NULL, NULL, &timeout) > 0) {
if (FD_ISSET(gpipe, &read_fd)) {
fd_set read_fd;
FD_ZERO(&read_fd);
FD_SET(gpipe, &read_fd);
if (select(gpipe + 1, &read_fd, NULL, NULL, &timeout) > 0) {
if (!read_fd(pipe_fd->fd, (char *)&np_data,
if (!read_fd(recv_fd->fd, (char *)&len, sizeof (len))) {
if (!read_fd(recv_fd->fd, (char *)in_buf.value, len)) {