September 2002
Intermediate to advanced
560 pages
13h 16m
English
/********************************************************* NAME : vrrp_read *********************************************************/ static int vrrp_read( vrrp_rt *vsrv, char *buf, int buflen ) { fd_set readfds; struct timeval timeout; uint32_t next = 0xFFFFFFFF; int len = 0; /* cpu the next timer */ if( VRRP_TIMER_IS_RUNNING( vsrv->adver_timer ) ){ int32_t delta = VRRP_TIMER_DELTA (vsrv->adver_timer); if( delta < 0 ) delta = 0; next = VRRP_MIN( next, delta ); }else{ /* here vsrv->ms_down_timer is assumed running */ int32_t delta = VRRP_TIMER_DELTA(vsrv->ms_down_timer); assert( VRRP_TIMER_IS_RUNNING( vsrv->ms_down_timer ) ); if( delta < 0 ) delta = 0; next = VRRP_MIN( next, delta ); } /* setup the select() ...Read now
Unlock full access