Skip to content
This repository was archived by the owner on Feb 8, 2021. It is now read-only.

Commit 9dc5911

Browse files
authored
Merge pull request #332 from laijs/tty-no-stderr
skip register event for stderr when tty
2 parents f705ed2 + f2da860 commit 9dc5911

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/exec.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ static void stdout_hup(struct hyper_event *de, int efd)
9090
static void stderr_hup(struct hyper_event *de, int efd)
9191
{
9292
struct hyper_exec *exec = container_of(de, struct hyper_exec, stderrev);
93-
fprintf(stdout, "%s, seq %" PRIu64", id %s\n", __func__, exec->seq, exec->id);
93+
fprintf(stdout, "%s, seq %" PRIu64", id %s\n", __func__, exec->errseq, exec->id);
9494
return pts_hup(de, efd, exec);
9595
}
9696

@@ -181,7 +181,7 @@ static int stderr_loop(struct hyper_event *de, int efd, int events)
181181
struct hyper_exec *exec = container_of(de, struct hyper_exec, stderrev);
182182
fprintf(stdout, "%s, seq %" PRIu64"\n", __func__, exec->errseq);
183183

184-
return pts_loop(de, exec->errseq ? exec->errseq : exec->seq, efd, exec);
184+
return pts_loop(de, exec->errseq, efd, exec);
185185
}
186186

187187
struct hyper_event_ops err_ops = {
@@ -455,10 +455,6 @@ static int hyper_setup_stdio_events(struct hyper_exec *exec, struct stdio_config
455455
hyper_setfd_cloexec(io->stdinevfd);
456456
io->stdoutevfd = dup(exec->ptyfd);
457457
hyper_setfd_cloexec(io->stdoutevfd);
458-
if (exec->errseq == 0) {
459-
io->stderrevfd = dup(exec->ptyfd);
460-
hyper_setfd_cloexec(io->stderrevfd);
461-
}
462458
}
463459

464460
fprintf(stdout, "hyper_init_event exec stdin event %p, ops %p, fd %d\n",
@@ -481,6 +477,10 @@ static int hyper_setup_stdio_events(struct hyper_exec *exec, struct stdio_config
481477
}
482478
exec->ref++;
483479

480+
if (exec->errseq == 0) {
481+
return 0;
482+
}
483+
484484
fprintf(stdout, "hyper_init_event exec stderr event %p, ops %p, fd %d\n",
485485
&exec->stderrev, &err_ops, io->stderrevfd);
486486
exec->stderrev.fd = io->stderrevfd;

0 commit comments

Comments
 (0)