+ event_time = self.timer.get_next_event_time()
+ wait_timedelta = event_time - time.time() # snapshot_time would be imprecise
+ if wait_timedelta < 0:
+ # The program got around to waiting to an event in "very near
+ # future" so late that it became a "past" event, thus tell
+ # "select" to not wait at all. Passing negative timedelta to
+ # select() would lead to either waiting forever (for -1) or
+ # select.error("Invalid parameter") (for everything else).
+ wait_timedelta = 0