Comment 2 for bug 1832307

Revision history for this message
Rodolfo Alonso (rodolfo-alonso-hernandez) wrote :

Hi Brian:

My first suspect (and that was my main problem when implementing this feature) is the time spent in the monitor loop to other activities (for example, sleep(0)). ip.get() is reading a bufferless socket; the time spent out of this function makes this implementation prone to miss some updates.

  while not event_stop.ready():
    eventlet.sleep(0)
    ip_address = []
    with common_utils.Timer(timeout=2, raise_exception=False):
      ip_address = ip.get()

I'll propose a new implementation and tests to probe the robustness.