summaryrefslogtreecommitdiff
path: root/master.c
diff options
context:
space:
mode:
Diffstat (limited to 'master.c')
-rw-r--r--master.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/master.c b/master.c
index a46782d..fb6159d 100644
--- a/master.c
+++ b/master.c
@@ -444,9 +444,16 @@ master_process(int s, char **argv, int waitattach)
FD_SET(s, &readfds);
highest_fd = s;
- if (clients && clients->attached)
- waitattach = 0;
- if (!waitattach)
+ /*
+ ** When waitattach is set, wait until the client attaches
+ ** before trying to read from the pty.
+ */
+ if (waitattach)
+ {
+ if (clients && clients->attached)
+ waitattach = 0;
+ }
+ else
{
FD_SET(the_pty.fd, &readfds);
if (the_pty.fd > highest_fd)