diff --git a/unix/gtkcomm.c b/unix/gtkcomm.c index 6100990e..b50b6d59 100644 --- a/unix/gtkcomm.c +++ b/unix/gtkcomm.c @@ -82,11 +82,11 @@ gboolean fd_input_func(GIOChannel *source, GIOCondition condition, * marker. */ if (condition & G_IO_PRI) - select_result(sourcefd, 4); + select_result(sourcefd, SELECT_X); if (condition & (G_IO_IN | G_IO_HUP)) - select_result(sourcefd, 1); + select_result(sourcefd, SELECT_R); if (condition & G_IO_OUT) - select_result(sourcefd, 2); + select_result(sourcefd, SELECT_W); return true; } @@ -94,11 +94,11 @@ gboolean fd_input_func(GIOChannel *source, GIOCondition condition, void fd_input_func(gpointer data, gint sourcefd, GdkInputCondition condition) { if (condition & GDK_INPUT_EXCEPTION) - select_result(sourcefd, 4); + select_result(sourcefd, SELECT_X); if (condition & GDK_INPUT_READ) - select_result(sourcefd, 1); + select_result(sourcefd, SELECT_R); if (condition & GDK_INPUT_WRITE) - select_result(sourcefd, 2); + select_result(sourcefd, SELECT_W); } #endif diff --git a/unix/unix.h b/unix/unix.h index 1a74492a..684080f7 100644 --- a/unix/unix.h +++ b/unix/unix.h @@ -315,6 +315,7 @@ void uxsel_init(void); typedef void (*uxsel_callback_fn)(int fd, int event); void uxsel_set(int fd, int rwx, uxsel_callback_fn callback); void uxsel_del(int fd); +enum { SELECT_R = 1, SELECT_W = 2, SELECT_X = 4 }; void select_result(int fd, int event); int first_fd(int *state, int *rwx); int next_fd(int *state, int *rwx); diff --git a/unix/uxagentc.c b/unix/uxagentc.c index 42c1b373..097bdbb0 100644 --- a/unix/uxagentc.c +++ b/unix/uxagentc.c @@ -104,7 +104,7 @@ static void agent_select_result(int fd, int event) { agent_pending_query *conn; - assert(event == 1); /* not selecting for anything but R */ + assert(event == SELECT_R); /* not selecting for anything but R */ conn = find234(agent_pending_queries, &fd, agent_connfind); if (!conn) { @@ -203,7 +203,7 @@ agent_pending_query *agent_query( agent_pending_queries = newtree234(agent_conncmp); add234(agent_pending_queries, conn); - uxsel_set(sock, 1, agent_select_result); + uxsel_set(sock, SELECT_R, agent_select_result); return conn; failure: diff --git a/unix/uxfdsock.c b/unix/uxfdsock.c index 54b29f6c..b6b43fa2 100644 --- a/unix/uxfdsock.c +++ b/unix/uxfdsock.c @@ -192,7 +192,7 @@ static int fdsocket_try_send(FdSocket *fds) if (bufchain_size(&fds->pending_output_data) == 0) uxsel_del(fds->outfd); else - uxsel_set(fds->outfd, 2, fdsocket_select_result_output); + uxsel_set(fds->outfd, SELECT_W, fdsocket_select_result_output); return sent; } @@ -245,7 +245,7 @@ static void fdsocket_set_frozen(Socket *s, bool is_frozen) if (is_frozen) uxsel_del(fds->infd); else - uxsel_set(fds->infd, 1, fdsocket_select_result_input); + uxsel_set(fds->infd, SELECT_R, fdsocket_select_result_input); } static const char *fdsocket_socket_error(Socket *s) @@ -349,7 +349,7 @@ Socket *make_fd_socket(int infd, int outfd, int inerrfd, Plug *plug) if (!fdsocket_by_infd) fdsocket_by_infd = newtree234(fdsocket_infd_cmp); add234(fdsocket_by_infd, fds); - uxsel_set(fds->infd, 1, fdsocket_select_result_input); + uxsel_set(fds->infd, SELECT_R, fdsocket_select_result_input); } if (fds->inerrfd >= 0) { @@ -357,7 +357,7 @@ Socket *make_fd_socket(int infd, int outfd, int inerrfd, Plug *plug) if (!fdsocket_by_inerrfd) fdsocket_by_inerrfd = newtree234(fdsocket_inerrfd_cmp); add234(fdsocket_by_inerrfd, fds); - uxsel_set(fds->inerrfd, 1, fdsocket_select_result_input_error); + uxsel_set(fds->inerrfd, SELECT_R, fdsocket_select_result_input_error); } return &fds->sock; diff --git a/unix/uxnet.c b/unix/uxnet.c index b60b933a..b8c9c505 100644 --- a/unix/uxnet.c +++ b/unix/uxnet.c @@ -1283,7 +1283,7 @@ static void net_select_result(int fd, int event) noise_ultralight(NOISE_SOURCE_IOID, fd); switch (event) { - case 4: /* exceptional */ + case SELECT_X: /* exceptional */ if (!s->oobinline) { /* * On a non-oobinline socket, this indicates that we @@ -1320,7 +1320,7 @@ static void net_select_result(int fd, int event) */ s->oobpending = true; break; - case 1: /* readable; also acceptance */ + case SELECT_R: /* readable; also acceptance */ if (s->listener) { /* * On a listening socket, the readability event means a @@ -1400,7 +1400,7 @@ static void net_select_result(int fd, int event) plug_receive(s->plug, atmark ? 0 : 1, buf, ret); } break; - case 2: /* writable */ + case SELECT_W: /* writable */ if (!s->connected) { /* * select() reports a socket as _writable_ when an @@ -1559,14 +1559,14 @@ static void uxsel_tell(NetSocket *s) int rwx = 0; if (!s->pending_error) { if (s->listener) { - rwx |= 1; /* read == accept */ + rwx |= SELECT_R; /* read == accept */ } else { if (!s->connected) - rwx |= 2; /* write == connect */ + rwx |= SELECT_W; /* write == connect */ if (s->connected && !s->frozen && !s->incomingeof) - rwx |= 1 | 4; /* read, except */ + rwx |= SELECT_R | SELECT_X; if (bufchain_size(&s->output_data)) - rwx |= 2; /* write */ + rwx |= SELECT_W; } } uxsel_set(s->s, rwx, net_select_result); diff --git a/unix/uxpgnt.c b/unix/uxpgnt.c index d7fc90d0..5a1f6a51 100644 --- a/unix/uxpgnt.c +++ b/unix/uxpgnt.c @@ -958,11 +958,11 @@ void run_agent(void) * past the urgent marker. */ if (FD_ISSET(fd, &xset)) - select_result(fd, 4); + select_result(fd, SELECT_X); if (FD_ISSET(fd, &rset)) - select_result(fd, 1); + select_result(fd, SELECT_R); if (FD_ISSET(fd, &wset)) - select_result(fd, 2); + select_result(fd, SELECT_W); } if (signalpipe[0] >= 0 && FD_ISSET(signalpipe[0], &rset)) { diff --git a/unix/uxplink.c b/unix/uxplink.c index ed4cd91e..ee7b6853 100644 --- a/unix/uxplink.c +++ b/unix/uxplink.c @@ -974,11 +974,11 @@ int main(int argc, char **argv) * past the urgent marker. */ if (FD_ISSET(fd, &xset)) - select_result(fd, 4); + select_result(fd, SELECT_X); if (FD_ISSET(fd, &rset)) - select_result(fd, 1); + select_result(fd, SELECT_R); if (FD_ISSET(fd, &wset)) - select_result(fd, 2); + select_result(fd, SELECT_W); } if (FD_ISSET(signalpipe[0], &rset)) { diff --git a/unix/uxpty.c b/unix/uxpty.c index 5d73fe9c..b499fb21 100644 --- a/unix/uxpty.c +++ b/unix/uxpty.c @@ -629,7 +629,7 @@ static void pty_real_select_result(Pty *pty, int fd, int event, int status) finished = true; } } else { - if (event == 1) { + if (event == SELECT_R) { bool is_stdout = (fd == pty->master_o); ret = read(fd, buf, sizeof(buf)); @@ -679,7 +679,7 @@ static void pty_real_select_result(Pty *pty, int fd, int event, int status) } else if (ret > 0) { seat_output(pty->seat, !is_stdout, buf, ret); } - } else if (event == 2) { + } else if (event == SELECT_W) { /* * Attempt to send data down the pty. */ @@ -781,10 +781,10 @@ static void pty_uxsel_setup_fd(Pty *pty, int fd) /* read from standard output and standard error pipes */ if (pty->master_o == fd || pty->master_e == fd) - rwx |= 1; + rwx |= SELECT_R; /* write to standard input pipe if we have any data */ if (pty->master_i == fd && bufchain_size(&pty->output_data)) - rwx |= 2; + rwx |= SELECT_W; uxsel_set(fd, rwx, pty_select_result); } @@ -794,9 +794,9 @@ static void pty_uxsel_setup(Pty *pty) /* * We potentially have three separate fds here, but on the other * hand, some of them might be the same (if they're a pty master). - * So we can't just call uxsel_set(master_o, 1) and then - * uxsel_set(master_i, 2), without the latter potentially undoing - * the work of the former if master_o == master_i. + * So we can't just call uxsel_set(master_o, SELECT_R) and then + * uxsel_set(master_i, SELECT_W), without the latter potentially + * undoing the work of the former if master_o == master_i. * * Instead, here we call a single uxsel on each one of these fds * (if it exists at all), and for each one, check it against all @@ -811,7 +811,7 @@ static void pty_uxsel_setup(Pty *pty) * backend instances, but it's simplest just to call it every * time; uxsel won't mind. */ - uxsel_set(pty_signal_pipe[0], 1, pty_select_result); + uxsel_set(pty_signal_pipe[0], SELECT_R, pty_select_result); } static void copy_ttymodes_into_termios( diff --git a/unix/uxserver.c b/unix/uxserver.c index 1771c272..206cc1d4 100644 --- a/unix/uxserver.c +++ b/unix/uxserver.c @@ -639,11 +639,11 @@ int main(int argc, char **argv) * past the urgent marker. */ if (FD_ISSET(fd, &xset)) - select_result(fd, 4); + select_result(fd, SELECT_X); if (FD_ISSET(fd, &rset)) - select_result(fd, 1); + select_result(fd, SELECT_R); if (FD_ISSET(fd, &wset)) - select_result(fd, 2); + select_result(fd, SELECT_W); } run_toplevel_callbacks(); diff --git a/unix/uxsftp.c b/unix/uxsftp.c index 1c48e0d5..3152f85e 100644 --- a/unix/uxsftp.c +++ b/unix/uxsftp.c @@ -543,11 +543,11 @@ static int ssh_sftp_do_select(bool include_stdin, bool no_fds_ok) * past the urgent marker. */ if (FD_ISSET(fd, &xset)) - select_result(fd, 4); + select_result(fd, SELECT_X); if (FD_ISSET(fd, &rset)) - select_result(fd, 1); + select_result(fd, SELECT_R); if (FD_ISSET(fd, &wset)) - select_result(fd, 2); + select_result(fd, SELECT_W); } sfree(fdlist);