}
uv_os_fd_t dup_fd = dup(stream_fd);
if (dup_fd >= 0) {
- out = outerr = fdopen(dup(stream_fd), "w");
+ out = outerr = fdopen(dup_fd, "w");
}
}
/* Execute */
}
} else {
struct ioreq *conn_req = ioreq_take(task->worker);
+ if (!conn_req) {
+ return qr_task_step(task, NULL);
+ }
conn_req->as.connect.data = task;
- if (!conn_req || uv_tcp_connect(&conn_req->as.connect, (uv_tcp_t *)subreq, addr, on_connect) != 0) {
+ task->ioreq = (uv_req_t *)conn_req;
+ if (uv_tcp_connect(&conn_req->as.connect, (uv_tcp_t *)subreq, addr, on_connect) != 0) {
ioreq_release(task->worker, conn_req);
return qr_task_step(task, NULL);
}
- task->ioreq = (uv_req_t *)conn_req;
}
/* Start next step with timeout */