summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto E. Vargas Caballero <k0ga@shike2.com>2015-11-21 18:21:03 +0100
committerRoberto E. Vargas Caballero <k0ga@shike2.com>2015-11-21 18:21:03 +0100
commit375b28720f7c78e6fac1c274f9dee7c40a78aacb (patch)
treedf9bdab5affc8bb59a3276b3f0e31809f7344a37
parentd836561b96097b04760104e7e0f8d014f5889a18 (diff)
Avoid recursive call to ttywrite from ttyread
Ttyread() calls to ttywrite, so if we check for reading before that for writing in ttywrite we can get a circular call sequence.
-rw-r--r--st.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/st.c b/st.c
index a47f094..c5d62c1 100644
--- a/st.c
+++ b/st.c
@@ -1518,8 +1518,6 @@ ttywrite(const char *s, size_t n)
continue;
die("select failed: %s\n", strerror(errno));
}
- if (FD_ISSET(cmdfd, &rfd))
- lim = ttyread();
if (FD_ISSET(cmdfd, &wfd)) {
/*
* Only write the bytes written by ttywrite() or the
@@ -1543,6 +1541,8 @@ ttywrite(const char *s, size_t n)
break;
}
}
+ if (FD_ISSET(cmdfd, &rfd))
+ lim = ttyread();
}
return;