On Thu, 2009-04-23 at 13:12 +0300, Panu Matilainen wrote:
On Thu, 23 Apr 2009, Richard Hughes wrote:
Right. How about I just don't send SIGKILL at all for yum?
That would be best, yes.
[hughsie@localhost src]$ git whatchanged 33894239b42dcb6069ab3a99e3cb47667448d499..a782056c337562594155a9405adcd9d5e65be32d commit a782056c337562594155a9405adcd9d5e65be32d Author: Richard Hughes richard@hughsie.com Date: Thu Apr 23 11:55:59 2009 +0100
yum: opt out of SIGKILL as this can lead to RPM database corruption in some situations
:100644 100644 05f573c... 87228b1... M backends/yum/pk-backend-yum.c
commit 61295f578f4fcafce512f3f4c29ee28de622a05f Author: Richard Hughes richard@hughsie.com Date: Thu Apr 23 11:55:24 2009 +0100
Allow a spawned backend to opt-out of the SIGKILL cancel process, and add a default in PackageKit.conf
:100644 100644 36b7e8f... 5ab4cd6... M etc/PackageKit.conf.in :100644 100644 417f142... 2942584... M src/pk-backend-spawn.c :100644 100644 894c4a6... b55e7ad... M src/pk-backend-spawn.h
commit d0200f3f2aad881f8aad626c84ed73fe0f840834 Author: Richard Hughes richard@hughsie.com Date: Thu Apr 23 11:54:09 2009 +0100
Add a method to disable SIGKILL in PkSpawn
:100644 100644 bd609e4... 5c356a1... M src/pk-spawn.c :100644 100644 6d81bab... 8901fb0... M src/pk-spawn.h
We then probably have a situation where cancel (sometimes?) doesn't seem to work (within a reasonable time) but non-working rpm is far worse than non-working PK cancel.
Agree.
And rpm's responsiveness to SIGINT can certainly be improved a good deal, I'm just looking at how to best deal it and some other signal related issues which currently are pretty broken.
Okay. Now with git master, PackageKit only sends a SIGQUIT, and does not send SIGKILL at all. It's up to yum and rpm to DTRT in this case.
Richard.