From 69f392c8f26cd619122589de05f5013affb43c7b Mon Sep 17 00:00:00 2001 From: Adrian Sampson Date: Thu, 5 May 2011 22:03:14 -0700 Subject: [PATCH] fix deadlock in pipeline: notifyAll instead of notify --- NEWS | 1 + beets/util/pipeline.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 61738c056..5c825d215 100644 --- a/NEWS +++ b/NEWS @@ -18,6 +18,7 @@ cost, however. The virtual filesystem used by BPD is available for reuse by plugins (e.g., the FUSE plugin). * Fix crash when autotagging files with no metadata. +* Fix a rare deadlock when finishing the import pipeline. 1.0b8 ----- diff --git a/beets/util/pipeline.py b/beets/util/pipeline.py index 549ad0913..c0dd71086 100644 --- a/beets/util/pipeline.py +++ b/beets/util/pipeline.py @@ -62,8 +62,8 @@ def _invalidate_queue(q, val=None, sync=True): q._qsize = _qsize q._put = _put q._get = _get - q.not_empty.notify() - q.not_full.notify() + q.not_empty.notifyAll() + q.not_full.notifyAll() finally: if sync: