Skip to content

Commit 83ae896

Browse files
pkratochKKoukiou
authored andcommitted
Don't close the multiprocessing queue too soon
The transaction_stop is actually for RPMCALLBACK_TRANS_STOP from rpm, which is only the end of preparation phase. The after_complete is called by dnf after the whole transaction completes. Also, the queue cannot be closed at this point, because transaction errors are written there after the transaction completes and then TransactionProgress.quit is called, which closes the queue as well.
1 parent 28fc926 commit 83ae896

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

pyanaconda/modules/payloads/payload/dnf/transaction_progress.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,9 @@ def script_start(self, item, nevra, type):
9595
#libdnf5.rpm.to_full_nevra_string(nevra),
9696
self._queue.put(('configure', nevra.get_name()))
9797

98-
def transaction_stop(self, total):
98+
def after_complete(self, total):
9999
log.debug("Done - %s", total)
100100
self._queue.put(('done', None))
101-
self._queue.close()
102101

103102
def cpio_error(self, item):
104103
log.debug("Error - %s", item.get_package().to_string())

0 commit comments

Comments
 (0)