]> granicus.if.org Git - python/commitdiff
change is_daemon, set_daemon, get_name, and set_name to properties
authorBenjamin Peterson <benjamin@python.org>
Mon, 18 Aug 2008 17:33:47 +0000 (17:33 +0000)
committerBenjamin Peterson <benjamin@python.org>
Mon, 18 Aug 2008 17:33:47 +0000 (17:33 +0000)
I'm add add warnings and backport this to 2.6 soon

Lib/test/test_threading.py
Lib/threading.py

index 0a492974d9d4f8b1defc893951b1d88eba01a0ef..b36c19674ab6b2bd91b159aabd678638a0dee2f0 100644 (file)
@@ -34,7 +34,7 @@ class TestThread(threading.Thread):
         delay = random.random() / 10000.0
         if verbose:
             print('task %s will run for %.1f usec' %
-                  (self.get_name(), delay * 1e6))
+                  (self.name, delay * 1e6))
 
         with self.sema:
             with self.mutex:
@@ -45,14 +45,14 @@ class TestThread(threading.Thread):
 
             time.sleep(delay)
             if verbose:
-                print('task', self.get_name(), 'done')
+                print('task', self.name, 'done')
 
             with self.mutex:
                 self.nrunning.dec()
                 self.testcase.assert_(self.nrunning.get() >= 0)
                 if verbose:
                     print('%s is finished. %d tasks are running' %
-                          (self.get_name(), self.nrunning.get()))
+                          (self.name, self.nrunning.get()))
 
 
 class ThreadTests(unittest.TestCase):
@@ -173,7 +173,7 @@ class ThreadTests(unittest.TestCase):
                     worker_saw_exception.set()
 
         t = Worker()
-        t.set_daemon(True) # so if this fails, we don't hang Python at shutdown
+        t.daemon = True # so if this fails, we don't hang Python at shutdown
         t.start()
         if verbose:
             print("    started worker thread")
@@ -259,7 +259,7 @@ class ThreadTests(unittest.TestCase):
                 print('program blocked; aborting')
                 os._exit(2)
             t = threading.Thread(target=killer)
-            t.set_daemon(True)
+            t.daemon = True
             t.start()
 
             # This is the trace function
@@ -437,7 +437,7 @@ class ThreadingExceptionTests(unittest.TestCase):
     def test_daemonize_active_thread(self):
         thread = threading.Thread()
         thread.start()
-        self.assertRaises(RuntimeError, thread.set_daemon, True)
+        self.assertRaises(RuntimeError, setattr, thread, "daemon", True)
 
 
 def test_main():
index ccbd67e7c6b2509352c7d53f089c60ddec0a207c..cf0e12f5f2c0e7841ca24abd84b65455ca5d4107 100644 (file)
@@ -40,7 +40,7 @@ if __debug__:
             if self._verbose:
                 format = format % args
                 format = "%s: %s\n" % (
-                    current_thread().get_name(), format)
+                    current_thread().name, format)
                 _sys.stderr.write(format)
 
 else:
@@ -83,7 +83,7 @@ class _RLock(_Verbose):
         owner = self._owner
         return "<%s(%s, %d)>" % (
                 self.__class__.__name__,
-                owner and owner.get_name(),
+                owner and owner.name,
                 self._count)
 
     def acquire(self, blocking=1):
@@ -412,7 +412,7 @@ class Thread(_Verbose):
 
     def _set_daemon(self):
         # Overridden in _MainThread and _DummyThread
-        return current_thread().is_daemon()
+        return current_thread().daemon
 
     def __repr__(self):
         assert self._initialized, "Thread.__init__() was not called"
@@ -502,7 +502,7 @@ class Thread(_Verbose):
                 # self.
                 if _sys:
                     _sys.stderr.write("Exception in thread %s:\n%s\n" %
-                                      (self.get_name(), _format_exc()))
+                                      (self.name, _format_exc()))
                 else:
                     # Do the best job possible w/o a huge amt. of code to
                     # approximate a traceback (code ideas from
@@ -510,7 +510,7 @@ class Thread(_Verbose):
                     exc_type, exc_value, exc_tb = self._exc_info()
                     try:
                         print((
-                            "Exception in thread " + self.get_name() +
+                            "Exception in thread " + self.name +
                             " (most likely raised during interpreter shutdown):"), file=self._stderr)
                         print((
                             "Traceback (most recent call last):"), file=self._stderr)
@@ -621,11 +621,13 @@ class Thread(_Verbose):
         finally:
             self._block.release()
 
-    def get_name(self):
+    @property
+    def name(self):
         assert self._initialized, "Thread.__init__() not called"
         return self._name
 
-    def set_name(self, name):
+    @name.setter
+    def name(self, name):
         assert self._initialized, "Thread.__init__() not called"
         self._name = str(name)
 
@@ -638,11 +640,13 @@ class Thread(_Verbose):
         assert self._initialized, "Thread.__init__() not called"
         return self._started.is_set() and not self._stopped
 
-    def is_daemon(self):
+    @property
+    def daemon(self):
         assert self._initialized, "Thread.__init__() not called"
         return self._daemonic
 
-    def set_daemon(self, daemonic):
+    @daemon.setter
+    def daemon(self, daemonic):
         if not self._initialized:
             raise RuntimeError("Thread.__init__() not called")
         if self._started.is_set():
@@ -710,7 +714,7 @@ class _MainThread(Thread):
 
 def _pickSomeNonDaemonThread():
     for t in enumerate():
-        if not t.is_daemon() and t.is_alive():
+        if not t.daemon and t.is_alive():
             return t
     return None
 
@@ -863,7 +867,7 @@ def _test():
             counter = 0
             while counter < self.quota:
                 counter = counter + 1
-                self.queue.put("%s.%d" % (self.get_name(), counter))
+                self.queue.put("%s.%d" % (self.name, counter))
                 _sleep(random() * 0.00001)
 
 
@@ -888,7 +892,7 @@ def _test():
     P = []
     for i in range(NP):
         t = ProducerThread(Q, NI)
-        t.set_name("Producer-%d" % (i+1))
+        t.name = "Producer-%d" % (i+1)
         P.append(t)
     C = ConsumerThread(Q, NI*NP)
     for t in P: