Files
openide/python/helpers/pydev/_pydev_comm/pydev_server.py
Egor Eliseev f6260577ab PY-52808 threading module DeprecationWarnings
Change:
'thread.setDaemon(val)' to 'thread.daemon = val'
'thread.isDaemon()' to 'thread.daemon'
'condition.notifyAll()' to 'condition.notify_all()'
'event.isSet()' to 'event.is_set()'

GitOrigin-RevId: 76191fde184b407251303684cb85be9cfda3c7ae
2022-02-21 08:08:42 +00:00

42 lines
1.2 KiB
Python

import threading
import traceback
from _shaded_thriftpy.server import TServer
from _shaded_thriftpy.transport import TTransportException
class TSingleThreadedServer(TServer):
"""Server that accepts a single connection and spawns a thread to handle it."""
def __init__(self, *args, **kwargs):
self.daemon = kwargs.pop("daemon", False)
TServer.__init__(self, *args, **kwargs)
def serve(self):
self.trans.listen()
try:
client = self.trans.accept()
t = threading.Thread(target=self.handle, args=(client,))
t.daemon = self.daemon
t.start()
except KeyboardInterrupt:
raise
except Exception as x:
traceback.print_exc()
def handle(self, client):
itrans = self.itrans_factory.get_transport(client)
otrans = self.otrans_factory.get_transport(client)
iprot = self.iprot_factory.get_protocol(itrans)
oprot = self.oprot_factory.get_protocol(otrans)
try:
while True:
self.processor.process(iprot, oprot)
except TTransportException:
pass
except Exception as x:
traceback.print_exc()
itrans.close()
otrans.close()