summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/idlelib/rpc.py8
-rw-r--r--Lib/idlelib/run.py4
-rw-r--r--Lib/queue.py (renamed from Lib/Queue.py)14
-rw-r--r--Lib/test/test_dummy_thread.py6
-rw-r--r--Lib/test/test_queue.py26
-rw-r--r--Lib/test/test_socket.py4
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()