Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make sure handler.flush() doesn't deadlock. #1112

Merged
merged 2 commits into from
Mar 29, 2022

Commits on Mar 15, 2022

  1. Make sure handler.flush() doesn't deadlock.

    Currently it deadlocks during process termination, when
    atexit first calls handler.close() and then logging.shutdown(),
    that in turn calls handler.flush() without arguments.
    
    handler.close() kills the worker, and then handler.flush() forever waits for the dead worker to send the messages from the queue.
    
    After this change, the deadlock is still possible if something concurrently closes the handler from another thread during the flush. However, this scenario is much less likely.
    gukoff committed Mar 15, 2022
    Configuration menu
    Copy the full SHA
    033bfdb View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2022

  1. Change wording

    gukoff committed Mar 16, 2022
    Configuration menu
    Copy the full SHA
    3b2d568 View commit details
    Browse the repository at this point in the history