[BACK]Return to ssh-agent.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/ssh-agent.c between version 1.161 and 1.162

version 1.161, 2009/03/23 19:38:04 version 1.162, 2009/09/01 14:43:17
Line 905 
Line 905 
         socklen_t slen;          socklen_t slen;
         char buf[1024];          char buf[1024];
         int len, sock;          int len, sock;
         u_int i;          u_int i, orig_alloc;
         uid_t euid;          uid_t euid;
         gid_t egid;          gid_t egid;
   
         for (i = 0; i < sockets_alloc; i++)          for (i = 0, orig_alloc = sockets_alloc; i < orig_alloc; i++)
                 switch (sockets[i].type) {                  switch (sockets[i].type) {
                 case AUTH_UNUSED:                  case AUTH_UNUSED:
                         break;                          break;
Line 942 
Line 942 
                 case AUTH_CONNECTION:                  case AUTH_CONNECTION:
                         if (buffer_len(&sockets[i].output) > 0 &&                          if (buffer_len(&sockets[i].output) > 0 &&
                             FD_ISSET(sockets[i].fd, writeset)) {                              FD_ISSET(sockets[i].fd, writeset)) {
                                 do {                                  len = write(sockets[i].fd,
                                         len = write(sockets[i].fd,                                      buffer_ptr(&sockets[i].output),
                                             buffer_ptr(&sockets[i].output),                                      buffer_len(&sockets[i].output));
                                             buffer_len(&sockets[i].output));                                  if (len == -1 && (errno == EAGAIN ||
                                         if (len == -1 && (errno == EAGAIN ||                                      errno == EINTR))
                                             errno == EINTR))                                          continue;
                                                 continue;  
                                         break;  
                                 } while (1);  
                                 if (len <= 0) {                                  if (len <= 0) {
                                         close_socket(&sockets[i]);                                          close_socket(&sockets[i]);
                                         break;                                          break;
Line 958 
Line 955 
                                 buffer_consume(&sockets[i].output, len);                                  buffer_consume(&sockets[i].output, len);
                         }                          }
                         if (FD_ISSET(sockets[i].fd, readset)) {                          if (FD_ISSET(sockets[i].fd, readset)) {
                                 do {                                  len = read(sockets[i].fd, buf, sizeof(buf));
                                         len = read(sockets[i].fd, buf, sizeof(buf));                                  if (len == -1 && (errno == EAGAIN ||
                                         if (len == -1 && (errno == EAGAIN ||                                      errno == EINTR))
                                             errno == EINTR))                                          continue;
                                                 continue;  
                                         break;  
                                 } while (1);  
                                 if (len <= 0) {                                  if (len <= 0) {
                                         close_socket(&sockets[i]);                                          close_socket(&sockets[i]);
                                         break;                                          break;

Legend:
Removed from v.1.161  
changed lines
  Added in v.1.162