• Mike Hibler's avatar
    Fix some nagging bugs. · 85d8986c
    Mike Hibler authored
    We were not processing the timeout queue because we got stuck forever in
    the loop that processed events. Now before looping back to sysread, make
    sure there is something to read so we don't block.
    
    When we startup or re-read the DB state, ignore really old state timeout
    values; e.g., for nodes that have been dead for ages but happen to be in
    a state such as SHUTDOWN that has a timeout.
    
    In the main loop, handle any re-read of the DB state before testing the
    queue length to see if we can do a blocking poll. Re-reading the state may
    add timeouts to the queue.
    85d8986c
stated.in 55.1 KB