*/
static int send_output(void)
{
+ int ret;
+
if (command_pipe < 0)
return 0;
+ ret = mark_fd_nonblocking(command_pipe);
+ if (ret < 0) {
+ close(command_pipe);
+ return ret;
+ }
if (do_select(COMMAND_MODE) >= 0)
PARA_INFO_LOG("%s", "command complete");
else
if (ret < 0)
return -1;
command_pipe = fds[1];
- mark_fd_nonblocking(command_pipe);
return send_output();
}
if (para_exec_cmdline_pid(&cmd_pid, cmd, fds) < 0)
return -1;
command_pipe = fds[1];
- mark_fd_nonblocking(command_pipe);
return send_output();
}