OSError when using Python ESL + socketserver
Hi, When I'm using the ESL library (python-ESL==1.4.18) for Python (3.7.7) together with socketserver I always get an OSError when the connection is closing. Here some sample code (mostly the example from the wiki ported to Python 3): ----------- import socketserver import ESL class ESLReqHandler(socketserver.BaseRequestHandler): def setup(self): print(self.client_address, 'connected!') fd = self.request.fileno() print(fd) con = ESL.ESLconnection(fd) print('Connected: ', con.connected()) if con.connected(): info = con.getInfo() uuid = info.getHeader("unique-id") print(uuid) con.execute("answer", "", uuid) con.execute("sleep", "2000", uuid) server = socketserver.ThreadingTCPServer(('', 8040), ESLReqHandler) server.serve_forever() ----------- And this is the error message I get: ----------- Exception in thread Thread-1: Traceback (most recent call last): File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py", line 926, in _bootstrap_inner self.run() File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socketserver.py", line 654, in process_request_thread self.shutdown_request(request) File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socketserver.py", line 509, in shutdown_request self.close_request(request) File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socketserver.py", line 513, in close_request request.close() File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py", line 420, in close self._real_close() File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py", line 414, in _real_close _ss.close(self) OSError: [Errno 9] Bad file descriptor ----------- The problem starts to appear as soon as the command "ESL.ESLconnection(fd)" is included in the setup function. Any ideas? Thanks René Weiss
participants (1)
-
René Weiss