mirror of
https://github.com/sheumann/hush.git
synced 2024-09-12 00:55:11 +00:00
*: do not check for POLLIN/POLLOUT only, just in case it's POLHUP/POLERR
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
d2f7779671
commit
88aa558e5c
@ -119,7 +119,7 @@ int microcom_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
nfd = 2;
|
nfd = 2;
|
||||||
// Not safe_poll: we want to exit on signal
|
// Not safe_poll: we want to exit on signal
|
||||||
while (!bb_got_signal && poll(pfd, nfd, timeout) > 0) {
|
while (!bb_got_signal && poll(pfd, nfd, timeout) > 0) {
|
||||||
if (nfd > 1 && (pfd[1].revents & POLLIN)) {
|
if (nfd > 1 && pfd[1].revents) {
|
||||||
char c;
|
char c;
|
||||||
// read from stdin -> write to device
|
// read from stdin -> write to device
|
||||||
if (safe_read(STDIN_FILENO, &c, 1) < 1) {
|
if (safe_read(STDIN_FILENO, &c, 1) < 1) {
|
||||||
@ -143,7 +143,7 @@ int microcom_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
safe_poll(pfd, 1, delay);
|
safe_poll(pfd, 1, delay);
|
||||||
skip_write: ;
|
skip_write: ;
|
||||||
}
|
}
|
||||||
if (pfd[0].revents & POLLIN) {
|
if (pfd[0].revents) {
|
||||||
#define iobuf bb_common_bufsiz1
|
#define iobuf bb_common_bufsiz1
|
||||||
ssize_t len;
|
ssize_t len;
|
||||||
// read from device -> write to stdout
|
// read from device -> write to stdout
|
||||||
|
@ -1167,7 +1167,7 @@ static NOINLINE void cgi_io_loop_and_exit(int fromCgi_rd, int toCgi_wr, int post
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pfd[TO_CGI].revents & POLLOUT) {
|
if (pfd[TO_CGI].revents) {
|
||||||
/* hdr_cnt > 0 here due to the way pfd[TO_CGI].events set */
|
/* hdr_cnt > 0 here due to the way pfd[TO_CGI].events set */
|
||||||
/* Have data from peer and can write to CGI */
|
/* Have data from peer and can write to CGI */
|
||||||
count = safe_write(toCgi_wr, hdr_ptr, hdr_cnt);
|
count = safe_write(toCgi_wr, hdr_ptr, hdr_cnt);
|
||||||
@ -1184,7 +1184,7 @@ static NOINLINE void cgi_io_loop_and_exit(int fromCgi_rd, int toCgi_wr, int post
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pfd[0].revents & POLLIN) {
|
if (pfd[0].revents) {
|
||||||
/* post_len > 0 && hdr_cnt == 0 here */
|
/* post_len > 0 && hdr_cnt == 0 here */
|
||||||
/* We expect data, prev data portion is eaten by CGI
|
/* We expect data, prev data portion is eaten by CGI
|
||||||
* and there *is* data to read from the peer
|
* and there *is* data to read from the peer
|
||||||
@ -1202,7 +1202,7 @@ static NOINLINE void cgi_io_loop_and_exit(int fromCgi_rd, int toCgi_wr, int post
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pfd[FROM_CGI].revents & POLLIN) {
|
if (pfd[FROM_CGI].revents) {
|
||||||
/* There is something to read from CGI */
|
/* There is something to read from CGI */
|
||||||
char *rbuf = iobuf;
|
char *rbuf = iobuf;
|
||||||
|
|
||||||
|
@ -618,7 +618,7 @@ int telnet_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
default:
|
default:
|
||||||
|
|
||||||
#ifdef USE_POLL
|
#ifdef USE_POLL
|
||||||
if (ufds[0].revents & POLLIN)
|
if (ufds[0].revents)
|
||||||
#else
|
#else
|
||||||
if (FD_ISSET(STDIN_FILENO, &rfds))
|
if (FD_ISSET(STDIN_FILENO, &rfds))
|
||||||
#endif
|
#endif
|
||||||
@ -631,7 +631,7 @@ int telnet_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USE_POLL
|
#ifdef USE_POLL
|
||||||
if (ufds[1].revents & POLLIN)
|
if (ufds[1].revents)
|
||||||
#else
|
#else
|
||||||
if (FD_ISSET(netfd, &rfds))
|
if (FD_ISSET(netfd, &rfds))
|
||||||
#endif
|
#endif
|
||||||
|
@ -119,7 +119,7 @@ int script_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
* for example, try "script -c true" */
|
* for example, try "script -c true" */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (pfd[0].revents & POLLIN) {
|
if (pfd[0].revents) {
|
||||||
errno = 0;
|
errno = 0;
|
||||||
count = safe_read(pty, buf, sizeof(buf));
|
count = safe_read(pty, buf, sizeof(buf));
|
||||||
if (count <= 0 && errno != EAGAIN) {
|
if (count <= 0 && errno != EAGAIN) {
|
||||||
@ -143,7 +143,7 @@ int script_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (pfd[1].revents & POLLIN) {
|
if (pfd[1].revents) {
|
||||||
count = safe_read(STDIN_FILENO, buf, sizeof(buf));
|
count = safe_read(STDIN_FILENO, buf, sizeof(buf));
|
||||||
if (count <= 0) {
|
if (count <= 0) {
|
||||||
/* err/eof from stdin: don't read stdin anymore */
|
/* err/eof from stdin: don't read stdin anymore */
|
||||||
|
Loading…
Reference in New Issue
Block a user