diff --git a/qtfs/qtfs_common/user_engine.c b/qtfs/qtfs_common/user_engine.c index e665f4efcbce2f936cf709772c07b1e05952aa74..8ecbdcb41951c8bc5705fb8a26425190c7f8ac50 100644 --- a/qtfs/qtfs_common/user_engine.c +++ b/qtfs/qtfs_common/user_engine.c @@ -151,7 +151,8 @@ static struct qtfs_server_userp_s *qtfs_engine_thread_init(int fd, int thread_nu init_userp.userp = userp; ret = ioctl(fd, QTFS_IOCTL_THREAD_INIT, (unsigned long)&init_userp); if (ret != QTOK) { - engine_err("Engine thread init failed reason:%s", (ret == EADDRINUSE) ? strerror(EADDRINUSE) : "userp init failed."); + engine_err("Engine thread init failed reason:%s", + (ret == EADDRINUSE) ? "Address already in use" : "userp init failed."); goto rollback; } return userp; diff --git a/qtfs/rexec/rexec.c b/qtfs/rexec/rexec.c index 5439fac6d375416057eeebf03c7a316fc56b1f71..c1acb8d2d387fee0f5a55ad8563dc2d9be1ce8b3 100644 --- a/qtfs/rexec/rexec.c +++ b/qtfs/rexec/rexec.c @@ -509,14 +509,20 @@ static int rexec_handshake_proc(struct rexec_client_event *evt) static int rexec_handshake_init(int efd, int connfd) { char *hs_read = getenv("REXEC_HANDSHAKE_RD"); - char *hs_write = getenv("REXEC_HANDSHAKE_WR"); - - if (hs_read == NULL || hs_write == NULL) { - rexec_log("handshake not in effect, read:%lx write%lx", hs_read, hs_write); + if (hs_read == NULL) { + rexec_log("handshake not in effect, read:%lx", hs_read); return 0; } g_rexec.rexec_hs_fd[PIPE_READ] = atoi(hs_read); + + char *hs_write = getenv("REXEC_HANDSHAKE_WR"); + if (hs_write == NULL) { + rexec_log("handshake not in effect, wirte:%lx", hs_write); + g_rexec.rexec_hs_fd[PIPE_READ] = -1; + return 0; + } g_rexec.rexec_hs_fd[PIPE_WRITE] = atoi(hs_write); + if (g_rexec.rexec_hs_fd[PIPE_READ] <= STDERR_FILENO || g_rexec.rexec_hs_fd[PIPE_WRITE] <= STDERR_FILENO) { rexec_log("handshake invalid fd read:%d write:%d", g_rexec.rexec_hs_fd[PIPE_READ], g_rexec.rexec_hs_fd[PIPE_WRITE]); goto err_end; diff --git a/qtfs/rexec/rexec_server.c b/qtfs/rexec/rexec_server.c index bdc6ea491ef460839b17735c166afef828c9d017..0c4b3c193398136716c37e1b11a9e1371a6e6501 100644 --- a/qtfs/rexec/rexec_server.c +++ b/qtfs/rexec/rexec_server.c @@ -589,6 +589,7 @@ int main(int argc, char *argv[]) rexec_server_mainloop(); rexec_pid_hashmap_destroy(child_hash); fclose(rexec_logfile); + rexec_logfile = NULL; return 0; }