Changeset 9

Show
Ignore:
Timestamp:
12/05/00 23:33:25 (13 years ago)
Author:
jesus
Message:

Changes to connect and join to return mailbox.
Corrected handling of reconnects to spread daemons.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/spreadlogd.c

    r8 r9  
    8282    if(*tojoin) 
    8383      config_foreach_logfacility(sc, join, &mbox); 
    84     return 0
     84    return mbox
    8585  } else { 
    8686    if(verbose) 
     
    220220      /* Build out select */ 
    221221      struct timeval timeout; 
     222      int i; 
     223 
    222224      readset = masterset; 
    223225      exceptset = masterset; 
     
    241243                /* So, let's try */ 
    242244                SpreadConfiguration *thissc = fds[fd]; 
     245 
     246                if(extralog) { 
     247                  fprintf(stderr, "Terminal error closing spread mailbox %d\n", 
     248                          fd); 
     249                } 
     250                fds[fd] = NULL; 
     251                FD_CLR(fd, &masterset); 
    243252                tojoin = 1; 
    244253                thissc->connected = 0; 
    245                 connectandjoin(thissc, &tojoin); 
     254                FD_SET(connectandjoin(thissc, &tojoin), &masterset); 
    246255              } 
    247256            } else if(Is_regular_mess(service_type)) { 
     
    264273        tojoin = 1; 
    265274        config_foreach_spreadconf(connectandjoin, (void *)&tojoin); 
     275        FD_ZERO(&masterset); 
     276        for(i=0;i<fdsetsize;i++) { 
     277          if(fds[i]) FD_SET(i, &masterset); 
     278        } 
    266279      } 
    267280    }