Replaced time.clock() -> time.time() (Bug on Unix)

This commit is contained in:
sunshine
2004-08-06 13:36:41 +00:00
committed by zzz
parent 6933052de7
commit b7e50e0b3a
4 changed files with 27 additions and 24 deletions

View File

@ -53,6 +53,9 @@ from i2p.pylib import socket as pysocket # Import Python socket
# ---------------------------------------------------------
def sleep(): time.sleep(0.01) # Sleep between thread polls
def time(): return time.time() # High resolution timer
# Do NOT use time.clock() as it
# drops sleep() time on Linux.
log = False # Logging flag. Logs to ./log.txt.
@ -402,11 +405,11 @@ class StreamSession(BaseSession):
' DESTINATION=' + str(dest))
# Now wait until the stream's .didconnect flag is set to True.
if timeout != None: end = time.clock() + timeout
if timeout != None: end = time() + timeout
while True:
self.term.check()
if ans.didconnect: break
if timeout != None and time.clock() >= end: break
if timeout != None and time() >= end: break
sleep()
return ans
@ -429,7 +432,7 @@ class StreamSession(BaseSession):
if self.max_accept <= 0:
raise i2p.Error('listen(n) must be called before accept ' +
'(n>=1)')
if timeout != None: end = time.clock() + timeout
if timeout != None: end = time() + timeout
while True:
self.term.check()
# Synchronized
@ -439,7 +442,7 @@ class StreamSession(BaseSession):
if self.qaccept.qsize() > 0:
return self.term.queue_get(self.qaccept)
finally: self.lock.release()
if timeout != None and time.clock() >= end: break
if timeout != None and time() >= end: break
sleep()
# Handle timeout and blocking errors
@ -565,7 +568,7 @@ class Stream:
minlen = 1
if waitall: minlen = n
if timeout != None: end = time.clock() + timeout
if timeout != None: end = time() + timeout
while True:
# Synchronized check and read until data available.
self.parent.term.check()
@ -580,7 +583,7 @@ class Stream:
# Ungraceful close: raise an error.
if self.err != None: raise self.err
finally: self.lock.release()
if timeout != None and time.clock() >= end: break
if timeout != None and time() >= end: break
sleep()
# Handle timeout and blocking error
@ -669,7 +672,7 @@ class DatagramSession(BaseSession):
forever). If still no packet is available, raises BlockError
or Timeout. Returns the pair (data, address). If peek is
True, the data is not removed."""
if timeout != None: end = time.clock() + timeout
if timeout != None: end = time() + timeout
while True:
self.term.check()
# Synchronized check and read until data available.
@ -683,7 +686,7 @@ class DatagramSession(BaseSession):
else:
return self.buf.pop_first()
finally: self.lock.release()
if timeout != None and time.clock() >= end: break
if timeout != None and time() >= end: break
sleep()
# Handle timeout and blocking error
@ -737,7 +740,7 @@ class RawSession(BaseSession):
def recv(self, timeout=None, peek=False):
"""Identical to DatagramSocket.recv. The from address is an
empty string."""
if timeout != None: end = time.clock() + timeout
if timeout != None: end = time() + timeout
while True:
self.term.check()
# Synchronized check and read until data available.
@ -751,7 +754,7 @@ class RawSession(BaseSession):
else:
return self.buf.pop_first()
finally: self.lock.release()
if timeout != None and time.clock() >= end: break
if timeout != None and time() >= end: break
sleep()
# Handle timeout and blocking error

View File

@ -144,13 +144,13 @@ def select(readlist, writelist, errlist, timeout=None):
sockets. See select.select() in the Python library for more
information."""
if timeout != None: end = time.clock() + timeout
if timeout != None: end = time.time() + timeout
while True:
# FIXME: Check performance.
# Use pyselect.poll for Python sockets, if needed for speed.
(Rans, Wans, Eans) = _noblock_select(readlist,writelist,errlist)
if timeout != None and time.clock() >= end: break
if timeout != None and time.time() >= end: break
if len(Rans) != 0 or len(Wans) != 0 or len(Eans) != 0:
# One or more sockets are ready.
if timeout != 0.0:

View File

@ -240,8 +240,8 @@ def multithread_packet_test(raw=True):
while __done_count < n: time.sleep(0.01)
# Read any left-over received packets.
end_time = time.clock() + multithread_wait_time
while time.clock() < end_time:
end_time = time.time() + multithread_wait_time
while time.time() < end_time:
# Read any available packets.
try: (p, fromaddr) = C.recv(timeout=0.0)
except socket.BlockError: p = None
@ -257,7 +257,7 @@ def multithread_packet_test(raw=True):
if len(C_got) == len(C_recv) and len(D_got) == len(D_recv):
break
if time.clock() >= end_time:
if time.time() >= end_time:
may_need_increase = True
C_got.sort()
@ -367,8 +367,8 @@ def multithread_stream_test():
while __done_count < n: time.sleep(0.01)
# Read any left-over received string data.
end_time = time.clock() + multithread_wait_time
while time.clock() < end_time:
end_time = time.time() + multithread_wait_time
while time.time() < end_time:
# Read any available string data, non-blocking.
try: p = Cin.recv(100000, timeout=0.0)
except socket.BlockError: p = None
@ -382,7 +382,7 @@ def multithread_stream_test():
len(''.join(D_got)) == len(''.join(D_recv)):
break
if time.clock() >= end_time:
if time.time() >= end_time:
may_need_increase = True
C_got = ''.join(C_got)

View File

@ -132,8 +132,8 @@ def packet_test(raw=True):
while __done_count < n: time.sleep(0.01)
# Read any left-over received packets.
end_time = time.clock() + multithread_wait_time
while time.clock() < end_time:
end_time = time.time() + multithread_wait_time
while time.time() < end_time:
# Read any available packets.
try: (p, fromaddr) = C.recvfrom(1000, socket.MSG_DONTWAIT)
except socket.BlockError: p = None
@ -149,7 +149,7 @@ def packet_test(raw=True):
if len(C_got) == len(C_recv) and len(D_got) == len(D_recv):
break
if time.clock() >= end_time:
if time.time() >= end_time:
may_need_increase = True
C_got.sort()
@ -263,8 +263,8 @@ def stream_test():
while __done_count < n: time.sleep(0.01)
# Read any left-over received string data.
end_time = time.clock() + multithread_wait_time
while time.clock() < end_time:
end_time = time.time() + multithread_wait_time
while time.time() < end_time:
# Read any available string data, non-blocking.
try: p = Cin.recv(100000, socket.MSG_DONTWAIT)
except socket.BlockError: p = None
@ -278,7 +278,7 @@ def stream_test():
len(''.join(D_got)) == len(''.join(D_recv)):
break
if time.clock() >= end_time:
if time.time() >= end_time:
may_need_increase = True
C_got = ''.join(C_got)