# upon receiving a DNS response.
selector = selectors.DefaultSelector()
selector.register(gnutls_cli.stdout, selectors.EVENT_READ)
- deadline = time.time() + 10
+ deadline = time.monotonic() + 10
gnutls_cli_output = b""
response = b""
while not response and not gnutls_cli.poll():
- if not selector.select(timeout=deadline - time.time()):
+ if not selector.select(timeout=deadline - time.monotonic()):
break
gnutls_cli_output += gnutls_cli.stdout.read(512)
try:
raise WatchLogException("No file to watch")
leftover = ""
assert timeout, "Do not use this class unless you want to WAIT for something."
- deadline = time.time() + timeout
- while time.time() < deadline:
+ deadline = time.monotonic() + timeout
+ while time.monotonic() < deadline:
for line in self._fd.readlines():
if line[-1] != "\n":
# Line is not completely written yet, buffer and keep on waiting
def retry_with_timeout(func, timeout, delay=1, msg=None):
- start_time = time.time()
+ start_time = time.monotonic()
exc_msg = None
- while time.time() < start_time + timeout:
+ while time.monotonic() < start_time + timeout:
exc_msg = None
try:
if func():
while self.running:
curr_timeout = 0.5
try:
- curr_timeout = self.queue[0][0] - time.time()
+ curr_timeout = self.queue[0][0] - time.monotonic()
except StopIteration:
pass
if curr_timeout > 0:
data = self.conn.recv(65535)
if not data:
return
- self.queue.append((time.time() + DELAY, data))
+ self.queue.append((time.monotonic() + DELAY, data))
if self.cconn in rfds:
data = self.cconn.recv(65535)
if not data == 0:
return
self.conn.send(data)
try:
- while self.queue[0][0] - time.time() < 0:
+ while self.queue[0][0] - time.monotonic() < 0:
_, data = self.queue.pop(0)
self.cconn.send(data)
except StopIteration:
while self.running:
curr_timeout = 0.5
if self.queue:
- curr_timeout = self.queue[0][0] - time.time()
+ curr_timeout = self.queue[0][0] - time.monotonic()
if curr_timeout >= 0:
if curr_timeout == 0:
curr_timeout = 0.5
data, addr = self.sock.recvfrom(65535)
if not data:
return
- self.queue.append((time.time() + DELAY, data))
+ self.queue.append((time.monotonic() + DELAY, data))
qid = struct.unpack(">H", data[:2])[0]
log("Received a query from %s, queryid %d" % (str(addr), qid))
self.qid_mapping[qid] = addr
"Received a response from %s, queryid %d, sending to %s"
% (str(addr), qid, str(dst))
)
- while self.queue and self.queue[0][0] - time.time() < 0:
+ while self.queue and self.queue[0][0] - time.monotonic() < 0:
_, data = self.queue.pop(0)
qid = struct.unpack(">H", data[:2])[0]
log("Sending a query to %s, queryid %d" % (str(self.dst), qid))