diff options
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/idlelib/rpc.py | 8 | ||||
-rw-r--r-- | Lib/idlelib/run.py | 4 | ||||
-rw-r--r-- | Lib/queue.py (renamed from Lib/Queue.py) | 14 | ||||
-rw-r--r-- | Lib/test/test_dummy_thread.py | 6 | ||||
-rw-r--r-- | Lib/test/test_queue.py | 26 | ||||
-rw-r--r-- | Lib/test/test_socket.py | 4 |
6 files changed, 38 insertions, 24 deletions
diff --git a/Lib/idlelib/rpc.py b/Lib/idlelib/rpc.py index 109797c..13ef372 100644 --- a/Lib/idlelib/rpc.py +++ b/Lib/idlelib/rpc.py @@ -35,7 +35,7 @@ import SocketServer import struct import pickle import threading -import Queue +import queue import traceback import copyreg import types @@ -117,8 +117,8 @@ class RPCServer(SocketServer.TCPServer): #----------------- end class RPCServer -------------------- objecttable = {} -request_queue = Queue.Queue(0) -response_queue = Queue.Queue(0) +request_queue = queue.Queue(0) +response_queue = queue.Queue(0) class SocketIO(object): @@ -413,7 +413,7 @@ class SocketIO(object): # send queued response if there is one available try: qmsg = response_queue.get(0) - except Queue.Empty: + except queue.Empty: pass else: seq, response = qmsg diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py index 63880d6..b731310 100644 --- a/Lib/idlelib/run.py +++ b/Lib/idlelib/run.py @@ -5,7 +5,7 @@ import socket import traceback import thread import threading -import Queue +import queue from idlelib import CallTips from idlelib import AutoComplete @@ -85,7 +85,7 @@ def main(del_exitfunc=False): continue try: seq, request = rpc.request_queue.get(block=True, timeout=0.05) - except Queue.Empty: + except queue.Empty: continue method, args, kwargs = request ret = method(*args, **kwargs) diff --git a/Lib/Queue.py b/Lib/queue.py index 4d89d97..7b0b328 100644 --- a/Lib/Queue.py +++ b/Lib/queue.py @@ -90,6 +90,20 @@ class Queue: self.mutex.release() return n + def empty(self): + """Return True if the queue is empty, False otherwise (not reliable!).""" + self.mutex.acquire() + n = not self._qsize() + self.mutex.release() + return n + + def full(self): + """Return True if the queue is full, False otherwise (not reliable!).""" + self.mutex.acquire() + n = 0 < self.maxsize == self._qsize() + self.mutex.release() + return n + def put(self, item, block=True, timeout=None): """Put an item into the queue. diff --git a/Lib/test/test_dummy_thread.py b/Lib/test/test_dummy_thread.py index 07466ce..5910458 100644 --- a/Lib/test/test_dummy_thread.py +++ b/Lib/test/test_dummy_thread.py @@ -7,7 +7,7 @@ implementation as its sole argument. """ import dummy_thread as _thread import time -import Queue +import queue import random import unittest from test import test_support @@ -124,7 +124,7 @@ class ThreadTests(unittest.TestCase): """Use to test _thread.start_new_thread() passes args properly.""" queue.put((arg1, arg2)) - testing_queue = Queue.Queue(1) + testing_queue = queue.Queue(1) _thread.start_new_thread(arg_tester, (testing_queue, True, True)) result = testing_queue.get() self.failUnless(result[0] and result[1], @@ -148,7 +148,7 @@ class ThreadTests(unittest.TestCase): queue.put(_thread.get_ident()) thread_count = 5 - testing_queue = Queue.Queue(thread_count) + testing_queue = queue.Queue(thread_count) if test_support.verbose: print() print("*** Testing multiple thread creation "\ diff --git a/Lib/test/test_queue.py b/Lib/test/test_queue.py index 8c96194..df7b7e3 100644 --- a/Lib/test/test_queue.py +++ b/Lib/test/test_queue.py @@ -1,6 +1,6 @@ -# Some simple Queue module tests, plus some failure conditions +# Some simple queue module tests, plus some failure conditions # to ensure the Queue locks remain stable. -import Queue +import queue import sys import threading import time @@ -112,12 +112,12 @@ class BaseQueueTest(unittest.TestCase, BlockingTestMixin): try: q.put(full, block=0) self.fail("Didn't appear to block with a full queue") - except Queue.Full: + except queue.Full: pass try: q.put(full, timeout=0.01) self.fail("Didn't appear to time-out with a full queue") - except Queue.Full: + except queue.Full: pass # Test a blocking put self.do_blocking_test(q.put, (full,), q.get, ()) @@ -129,12 +129,12 @@ class BaseQueueTest(unittest.TestCase, BlockingTestMixin): try: q.get(block=0) self.fail("Didn't appear to block with an empty queue") - except Queue.Empty: + except queue.Empty: pass try: q.get(timeout=0.01) self.fail("Didn't appear to time-out with an empty queue") - except Queue.Empty: + except queue.Empty: pass # Test a blocking get self.do_blocking_test(q.get, (), q.put, ('empty',)) @@ -196,13 +196,13 @@ class BaseQueueTest(unittest.TestCase, BlockingTestMixin): class QueueTest(BaseQueueTest): - type2test = Queue.Queue + type2test = queue.Queue class LifoQueueTest(BaseQueueTest): - type2test = Queue.LifoQueue + type2test = queue.LifoQueue class PriorityQueueTest(BaseQueueTest): - type2test = Queue.PriorityQueue + type2test = queue.PriorityQueue @@ -210,21 +210,21 @@ class PriorityQueueTest(BaseQueueTest): class FailingQueueException(Exception): pass -class FailingQueue(Queue.Queue): +class FailingQueue(queue.Queue): def __init__(self, *args): self.fail_next_put = False self.fail_next_get = False - Queue.Queue.__init__(self, *args) + queue.Queue.__init__(self, *args) def _put(self, item): if self.fail_next_put: self.fail_next_put = False raise FailingQueueException("You Lose") - return Queue.Queue._put(self, item) + return queue.Queue._put(self, item) def _get(self): if self.fail_next_get: self.fail_next_get = False raise FailingQueueException("You Lose") - return Queue.Queue._get(self) + return queue.Queue._get(self) class FailingQueueTest(unittest.TestCase, BlockingTestMixin): diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index 8c5cf93..ab860dd 100644 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -9,7 +9,7 @@ import select import thread, threading import time import traceback -import Queue +import queue import sys import os import array @@ -96,7 +96,7 @@ class ThreadableTest: self.server_ready = threading.Event() self.client_ready = threading.Event() self.done = threading.Event() - self.queue = Queue.Queue(1) + self.queue = queue.Queue(1) # Do some munging to start the client test. methodname = self.id() |