diff --git a/lib/http/server.py b/lib/http/server.py index c49cb4b2e9a9153a9de8ffa94295677fc4183614..1e564c10806943eb9e4f6a8d8ead5de2ff2855ec 100644 --- a/lib/http/server.py +++ b/lib/http/server.py @@ -32,6 +32,7 @@ import signal import asyncore from ganeti import http +from ganeti import utils WEEKDAYNAME = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] @@ -532,6 +533,9 @@ class HttpServer(http.HttpBase, asyncore.dispatcher): pass self.socket = None + # In case the handler code uses temporary files + utils.ResetTempfileModule() + self.request_executor(self, connection, client_addr) except Exception: # pylint: disable-msg=W0703 logging.exception("Error while handling request from %s:%s", diff --git a/lib/utils.py b/lib/utils.py index d3735a884936bd83949c2a72ebda00e387099948..c8a22c9e2fd236f24ba98fff37befd7d463d7dab 100644 --- a/lib/utils.py +++ b/lib/utils.py @@ -2057,6 +2057,9 @@ def RunInSeparateProcess(fn): if pid == 0: # Child process try: + # In case the function uses temporary files + ResetTempfileModule() + # Call function result = int(bool(fn())) assert result in (0, 1)