소스 검색

Don't leak file descriptors.

Ask Solem 16 년 전
부모
커밋
5575986cf0
1개의 변경된 파일4개의 추가작업 그리고 0개의 파일을 삭제
  1. 4 0
      celery/log.py

+ 4 - 0
celery/log.py

@@ -14,6 +14,10 @@ def setup_logger(loglevel=DAEMON_LOG_LEVEL, logfile=None, format=LOG_FORMAT,
     Returns logger object.
     """
     logger = multiprocessing.get_logger()
+    for handler in logger.handlers:
+        if hasattr(handler, "stream"):
+            handler.stream.close()
+    logger.handlers = []
     if logfile:
         if hasattr(logfile, "write"):
             log_file_handler = logging.StreamHandler(logfile)