Commit b03ca4bc authored by Benjamin Peterson's avatar Benjamin Peterson

fix more threading API related bugs

parent 2d9a0864
...@@ -9,7 +9,7 @@ import time ...@@ -9,7 +9,7 @@ import time
from pprint import pprint from pprint import pprint
try: try:
from threading import Thread, currentThread from threading import Thread, current_thread
have_threads = 1 have_threads = 1
except ImportError: except ImportError:
have_threads = 0 have_threads = 0
......
...@@ -8,7 +8,7 @@ import time ...@@ -8,7 +8,7 @@ import time
from pprint import pprint from pprint import pprint
try: try:
from threading import Thread, currentThread from threading import Thread, current_thread
have_threads = 1 have_threads = 1
except ImportError: except ImportError:
have_threads = 0 have_threads = 0
......
...@@ -7,7 +7,7 @@ import tempfile ...@@ -7,7 +7,7 @@ import tempfile
import time import time
try: try:
from threading import Thread, currentThread from threading import Thread, current_thread
have_threads = 1 have_threads = 1
except ImportError: except ImportError:
have_threads = 0 have_threads = 0
...@@ -117,7 +117,7 @@ class LockingTestCase(unittest.TestCase): ...@@ -117,7 +117,7 @@ class LockingTestCase(unittest.TestCase):
deadlock_detection.end=False deadlock_detection.end=False
deadlock_detection.count=0 deadlock_detection.count=0
t=Thread(target=deadlock_detection) t=Thread(target=deadlock_detection)
t.setDaemon(True) t.set_daemon(True)
t.start() t.start()
self.env.set_timeout(100000, db.DB_SET_LOCK_TIMEOUT) self.env.set_timeout(100000, db.DB_SET_LOCK_TIMEOUT)
anID = self.env.lock_id() anID = self.env.lock_id()
...@@ -143,7 +143,7 @@ class LockingTestCase(unittest.TestCase): ...@@ -143,7 +143,7 @@ class LockingTestCase(unittest.TestCase):
self.assertTrue(deadlock_detection.count>0) self.assertTrue(deadlock_detection.count>0)
def theThread(self, sleepTime, lockType): def theThread(self, sleepTime, lockType):
name = currentThread().getName() name = current_thread().get_name()
if lockType == db.DB_LOCK_WRITE: if lockType == db.DB_LOCK_WRITE:
lt = "write" lt = "write"
else: else:
......
...@@ -12,7 +12,7 @@ from random import random ...@@ -12,7 +12,7 @@ from random import random
DASH = b'-' DASH = b'-'
try: try:
from threading import Thread, currentThread from threading import Thread, current_thread
have_threads = True have_threads = True
except ImportError: except ImportError:
have_threads = False have_threads = False
...@@ -89,20 +89,20 @@ class BaseThreadedTestCase(unittest.TestCase): ...@@ -89,20 +89,20 @@ class BaseThreadedTestCase(unittest.TestCase):
self._writerThread(*args, **kwargs) self._writerThread(*args, **kwargs)
except db.DBLockDeadlockError: except db.DBLockDeadlockError:
if verbose: if verbose:
print(currentThread().getName(), 'died from', e) print(current_thread().get_name(), 'died from', e)
else: else:
if verbose: if verbose:
print(currentThread().getName(), "finished.") print(current_thread().get_name(), "finished.")
def readerThread(self, *args, **kwargs): def readerThread(self, *args, **kwargs):
try: try:
self._readerThread(*args, **kwargs) self._readerThread(*args, **kwargs)
except db.DBLockDeadlockError as e: except db.DBLockDeadlockError as e:
if verbose: if verbose:
print(currentThread().getName(), 'died from', e) print(current_thread().get_name(), 'died from', e)
else: else:
if verbose: if verbose:
print(currentThread().getName(), "finished.") print(current_thread().get_name(), "finished.")
...@@ -143,7 +143,7 @@ class ConcurrentDataStoreBase(BaseThreadedTestCase): ...@@ -143,7 +143,7 @@ class ConcurrentDataStoreBase(BaseThreadedTestCase):
t.join() t.join()
def _writerThread(self, d, howMany): def _writerThread(self, d, howMany):
name = currentThread().getName() name = current_thread().get_name()
start = 0 start = 0
stop = howMany stop = howMany
if verbose: if verbose:
...@@ -172,7 +172,7 @@ class ConcurrentDataStoreBase(BaseThreadedTestCase): ...@@ -172,7 +172,7 @@ class ConcurrentDataStoreBase(BaseThreadedTestCase):
def _readerThread(self, d, readerNum): def _readerThread(self, d, readerNum):
time.sleep(0.01 * readerNum) time.sleep(0.01 * readerNum)
name = currentThread().getName() name = current_thread().get_name()
for loop in range(5): for loop in range(5):
c = d.cursor() c = d.cursor()
...@@ -240,7 +240,7 @@ class SimpleThreadedBase(BaseThreadedTestCase): ...@@ -240,7 +240,7 @@ class SimpleThreadedBase(BaseThreadedTestCase):
t.join() t.join()
def _writerThread(self, d, howMany, writerNum): def _writerThread(self, d, howMany, writerNum):
name = currentThread().getName() name = current_thread().get_name()
start = howMany * writerNum start = howMany * writerNum
stop = howMany * (writerNum + 1) - 1 stop = howMany * (writerNum + 1) - 1
if verbose: if verbose:
...@@ -286,7 +286,7 @@ class SimpleThreadedBase(BaseThreadedTestCase): ...@@ -286,7 +286,7 @@ class SimpleThreadedBase(BaseThreadedTestCase):
def _readerThread(self, d, readerNum): def _readerThread(self, d, readerNum):
time.sleep(0.01 * readerNum) time.sleep(0.01 * readerNum)
name = currentThread().getName() name = current_thread().get_name()
for loop in range(5): for loop in range(5):
c = d.cursor() c = d.cursor()
...@@ -385,7 +385,7 @@ class ThreadedTransactionsBase(BaseThreadedTestCase): ...@@ -385,7 +385,7 @@ class ThreadedTransactionsBase(BaseThreadedTestCase):
time.sleep(0.05) time.sleep(0.05)
def _writerThread(self, d, howMany, writerNum): def _writerThread(self, d, howMany, writerNum):
name = currentThread().getName() name = current_thread().get_name()
start = howMany * writerNum start = howMany * writerNum
stop = howMany * (writerNum + 1) - 1 stop = howMany * (writerNum + 1) - 1
if verbose: if verbose:
...@@ -427,7 +427,7 @@ class ThreadedTransactionsBase(BaseThreadedTestCase): ...@@ -427,7 +427,7 @@ class ThreadedTransactionsBase(BaseThreadedTestCase):
def _readerThread(self, d, readerNum): def _readerThread(self, d, readerNum):
time.sleep(0.01 * readerNum + 0.05) time.sleep(0.01 * readerNum + 0.05)
name = currentThread().getName() name = current_thread().get_name()
for loop in range(5): for loop in range(5):
finished = False finished = False
......
...@@ -106,7 +106,7 @@ class RPCServer(socketserver.TCPServer): ...@@ -106,7 +106,7 @@ class RPCServer(socketserver.TCPServer):
erf = sys.__stderr__ erf = sys.__stderr__
print('\n' + '-'*40, file=erf) print('\n' + '-'*40, file=erf)
print('Unhandled server exception!', file=erf) print('Unhandled server exception!', file=erf)
print('Thread: %s' % threading.currentThread().getName(), file=erf) print('Thread: %s' % threading.current_thread().get_name(), file=erf)
print('Client Address: ', client_address, file=erf) print('Client Address: ', client_address, file=erf)
print('Request: ', repr(request), file=erf) print('Request: ', repr(request), file=erf)
traceback.print_exc(file=erf) traceback.print_exc(file=erf)
...@@ -126,7 +126,7 @@ class SocketIO(object): ...@@ -126,7 +126,7 @@ class SocketIO(object):
nextseq = 0 nextseq = 0
def __init__(self, sock, objtable=None, debugging=None): def __init__(self, sock, objtable=None, debugging=None):
self.sockthread = threading.currentThread() self.sockthread = threading.current_thread()
if debugging is not None: if debugging is not None:
self.debugging = debugging self.debugging = debugging
self.sock = sock self.sock = sock
...@@ -149,7 +149,7 @@ class SocketIO(object): ...@@ -149,7 +149,7 @@ class SocketIO(object):
def debug(self, *args): def debug(self, *args):
if not self.debugging: if not self.debugging:
return return
s = self.location + " " + str(threading.currentThread().getName()) s = self.location + " " + str(threading.current_thread().getName())
for a in args: for a in args:
s = s + " " + str(a) s = s + " " + str(a)
print(s, file=sys.__stderr__) print(s, file=sys.__stderr__)
...@@ -218,7 +218,7 @@ class SocketIO(object): ...@@ -218,7 +218,7 @@ class SocketIO(object):
def asynccall(self, oid, methodname, args, kwargs): def asynccall(self, oid, methodname, args, kwargs):
request = ("CALL", (oid, methodname, args, kwargs)) request = ("CALL", (oid, methodname, args, kwargs))
seq = self.newseq() seq = self.newseq()
if threading.currentThread() != self.sockthread: if threading.current_thread() != self.sockthread:
cvar = threading.Condition() cvar = threading.Condition()
self.cvars[seq] = cvar self.cvars[seq] = cvar
self.debug(("asynccall:%d:" % seq), oid, methodname, args, kwargs) self.debug(("asynccall:%d:" % seq), oid, methodname, args, kwargs)
...@@ -228,7 +228,7 @@ class SocketIO(object): ...@@ -228,7 +228,7 @@ class SocketIO(object):
def asyncqueue(self, oid, methodname, args, kwargs): def asyncqueue(self, oid, methodname, args, kwargs):
request = ("QUEUE", (oid, methodname, args, kwargs)) request = ("QUEUE", (oid, methodname, args, kwargs))
seq = self.newseq() seq = self.newseq()
if threading.currentThread() != self.sockthread: if threading.current_thread() != self.sockthread:
cvar = threading.Condition() cvar = threading.Condition()
self.cvars[seq] = cvar self.cvars[seq] = cvar
self.debug(("asyncqueue:%d:" % seq), oid, methodname, args, kwargs) self.debug(("asyncqueue:%d:" % seq), oid, methodname, args, kwargs)
...@@ -294,7 +294,7 @@ class SocketIO(object): ...@@ -294,7 +294,7 @@ class SocketIO(object):
def _getresponse(self, myseq, wait): def _getresponse(self, myseq, wait):
self.debug("_getresponse:myseq:", myseq) self.debug("_getresponse:myseq:", myseq)
if threading.currentThread() is self.sockthread: if threading.current_thread() is self.sockthread:
# this thread does all reading of requests or responses # this thread does all reading of requests or responses
while 1: while 1:
response = self.pollresponse(myseq, wait) response = self.pollresponse(myseq, wait)
......
...@@ -73,7 +73,7 @@ def main(del_exitfunc=False): ...@@ -73,7 +73,7 @@ def main(del_exitfunc=False):
sockthread = threading.Thread(target=manage_socket, sockthread = threading.Thread(target=manage_socket,
name='SockThread', name='SockThread',
args=((LOCALHOST, port),)) args=((LOCALHOST, port),))
sockthread.setDaemon(True) sockthread.set_daemon(True)
sockthread.start() sockthread.start()
while 1: while 1:
try: try:
...@@ -227,7 +227,7 @@ class MyRPCServer(rpc.RPCServer): ...@@ -227,7 +227,7 @@ class MyRPCServer(rpc.RPCServer):
erf = sys.__stderr__ erf = sys.__stderr__
print('\n' + '-'*40, file=erf) print('\n' + '-'*40, file=erf)
print('Unhandled server exception!', file=erf) print('Unhandled server exception!', file=erf)
print('Thread: %s' % threading.currentThread().getName(), file=erf) print('Thread: %s' % threading.current_thread().get_name(), file=erf)
print('Client Address: ', client_address, file=erf) print('Client Address: ', client_address, file=erf)
print('Request: ', repr(request), file=erf) print('Request: ', repr(request), file=erf)
traceback.print_exc(file=erf) traceback.print_exc(file=erf)
......
...@@ -566,7 +566,7 @@ class ThreadingMixIn: ...@@ -566,7 +566,7 @@ class ThreadingMixIn:
t = threading.Thread(target = self.process_request_thread, t = threading.Thread(target = self.process_request_thread,
args = (request, client_address)) args = (request, client_address))
if self.daemon_threads: if self.daemon_threads:
t.setDaemon (1) t.set_daemon(True)
t.start() t.start()
......
...@@ -63,7 +63,7 @@ class ThreadedTempFileTest(unittest.TestCase): ...@@ -63,7 +63,7 @@ class ThreadedTempFileTest(unittest.TestCase):
t.join() t.join()
ok += t.ok_count ok += t.ok_count
if t.error_count: if t.error_count:
errors.append(str(t.getName()) + str(t.errors.getvalue())) errors.append(str(t.get_name()) + str(t.errors.getvalue()))
threading_cleanup(*thread_info) threading_cleanup(*thread_info)
......
...@@ -856,7 +856,7 @@ def _test(): ...@@ -856,7 +856,7 @@ def _test():
P = [] P = []
for i in range(NP): for i in range(NP):
t = ProducerThread(Q, NI) t = ProducerThread(Q, NI)
t.setName("Producer-%d" % (i+1)) t.set_name("Producer-%d" % (i+1))
P.append(t) P.append(t)
C = ConsumerThread(Q, NI*NP) C = ConsumerThread(Q, NI*NP)
for t in P: for t in P:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment