diff --git a/lib/py/src/server/TNonblockingServer.py b/lib/py/src/server/TNonblockingServer.py
index cef4079..7694760 100644
--- a/lib/py/src/server/TNonblockingServer.py
+++ b/lib/py/src/server/TNonblockingServer.py
@@ -268,7 +268,7 @@
         self.socket.listen()
         for _ in range(self.threads):
             thread = Worker(self.tasks)
-            thread.setDaemon(True)
+            thread.daemon = True
             thread.start()
         self.prepared = True
 
diff --git a/lib/py/src/server/TServer.py b/lib/py/src/server/TServer.py
index df2a7bb..8b2f938 100644
--- a/lib/py/src/server/TServer.py
+++ b/lib/py/src/server/TServer.py
@@ -125,7 +125,7 @@
                 if not client:
                     continue
                 t = threading.Thread(target=self.handle, args=(client,))
-                t.setDaemon(self.daemon)
+                t.daemon = self.daemon
                 t.start()
             except KeyboardInterrupt:
                 raise
@@ -213,7 +213,7 @@
         for i in range(self.threads):
             try:
                 t = threading.Thread(target=self.serveThread)
-                t.setDaemon(self.daemon)
+                t.daemon = self.daemon
                 t.start()
             except Exception as x:
                 logger.exception(x)
