# # # patch "usher/src/server.cc" # from [40773f51de6fda916a6955332aba7693a496e8c5] # to [d5c88f3ba4a35e44450dbc67ea4aa0e97b783143] # # patch "usher/src/usher.cc" # from [547d17545758d9003a83dd31050d42b94b660c8a] # to [8f3d029fbbfab1345e802f2d09f25df37af378d4] # ============================================================ --- usher/src/server.cc 40773f51de6fda916a6955332aba7693a496e8c5 +++ usher/src/server.cc d5c88f3ba4a35e44450dbc67ea4aa0e97b783143 @@ -192,6 +192,7 @@ make_outgoing(int port, string const & a throw errstr(string("(make outgoing) bad ip address format <") + address + ">", 0); tosserr(connect(s, (sockaddr *) &a, sizeof (a)), "connect()"); + tosserr(fcntl(s, F_SETFL, O_NONBLOCK), "fcntl()"); return s; } ============================================================ --- usher/src/usher.cc 547d17545758d9003a83dd31050d42b94b660c8a +++ usher/src/usher.cc 8f3d029fbbfab1345e802f2d09f25df37af378d4 @@ -203,6 +203,7 @@ int main (int argc, char **argv) memset(&client_address, 0, l); sock cli = tosserr(accept(admin.au_serverport, (struct sockaddr *) &client_address, &l), "accept()"); + tosserr(fcntl(cli, F_SETFL, O_NONBLOCK), "fcntl()"); if (manager.get_connections_allowed()) newchan = new channel(cli, manager, automate_connection); else {