"""
Add the specified handler to this logger.
"""
- if not (hdlr in self.handlers):
- self.handlers.append(hdlr)
+ _acquireLock()
+ try:
+ if not (hdlr in self.handlers):
+ self.handlers.append(hdlr)
+ finally:
+ _releaseLock()
def removeHandler(self, hdlr):
"""
Remove the specified handler from this logger.
"""
- if hdlr in self.handlers:
- hdlr.acquire()
- try:
+ _acquireLock()
+ try:
+ if hdlr in self.handlers:
self.handlers.remove(hdlr)
- finally:
- hdlr.release()
+ finally:
+ _releaseLock()
def hasHandlers(self):
"""
Library
-------
+- Issue #9945: logging: Fixed locking bugs in addHandler/removeHandler.
+
- Issue #9936: Fixed executable lines' search in the trace module.
- Issue #9790: Rework imports necessary for samefile and sameopenfile