version 1.80, 2001/06/30 18:08:40 |
version 1.81, 2001/07/17 21:04:57 |
|
|
|
|
static void |
static void |
client_wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp, |
client_wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp, |
int *maxfdp, int rekeying) |
int *maxfdp, int *nallocp, int rekeying) |
{ |
{ |
/* Add any selections by the channel mechanism. */ |
/* Add any selections by the channel mechanism. */ |
channel_prepare_select(readsetp, writesetp, maxfdp, rekeying); |
channel_prepare_select(readsetp, writesetp, maxfdp, nallocp, rekeying); |
|
|
if (!compat20) { |
if (!compat20) { |
/* Read from the connection, unless our buffers are full. */ |
/* Read from the connection, unless our buffers are full. */ |
|
|
{ |
{ |
fd_set *readset = NULL, *writeset = NULL; |
fd_set *readset = NULL, *writeset = NULL; |
double start_time, total_time; |
double start_time, total_time; |
int max_fd = 0, len, rekeying = 0; |
int max_fd = 0, max_fd2 = 0, len, rekeying = 0, nalloc = 0; |
char buf[100]; |
char buf[100]; |
|
|
debug("Entering interactive session."); |
debug("Entering interactive session."); |
|
|
* Wait until we have something to do (something becomes |
* Wait until we have something to do (something becomes |
* available on one of the descriptors). |
* available on one of the descriptors). |
*/ |
*/ |
|
max_fd2 = max_fd; |
client_wait_until_can_do_something(&readset, &writeset, |
client_wait_until_can_do_something(&readset, &writeset, |
&max_fd, rekeying); |
&max_fd2, &nalloc, rekeying); |
|
|
if (quit_pending) |
if (quit_pending) |
break; |
break; |