Re: [Rpm-maint] [rpm-software-management/rpm] 3 cleanup fixes (#359)

2020-01-15 Thread Panu Matilainen
Hmm, the ndb glue change here looks decidedly wrong to me, the thing is reference counted for a reason (guess this shows just how much attention I've been paying to ndb changes, and I guess that needs to change from now on) -- You are receiving this because you are subscribed to this thread.

Re: [Rpm-maint] [rpm-software-management/rpm] 3 cleanup fixes (#359)

2020-01-15 Thread Michael Schroeder
FYI: I had to revert the ndb glue change, as it caused segfaults if just an index dbi got closed. The commit doesn't contain any information about the problem it tries to solve, do you remember why your change was necessary? -- You are receiving this because you are subscribed to this thread.

Re: [Rpm-maint] [rpm-software-management/rpm] 3 cleanup fixes (#359)

2018-06-05 Thread Alan Jenkins
Got it. I jumped to the wrong conclusion seeing sigaction() being used together with `rpmsigTbl`. I missed that that particular line was saving the old signal disposition, not setting the new one. That definitely makes more sense for the name "signal queue" :-). -- You are receiving this

Re: [Rpm-maint] [rpm-software-management/rpm] 3 cleanup fixes (#359)

2018-06-05 Thread Panu Matilainen
Oh, rpm doesn't do clean-up from signal handlers, that's specifically documented as being unsafe for BDB in particular. Rpm has a "signal queue" which is polled from here and there in the codepaths and that's where cleanup occurs. The race here is that the signal queue for trapping those

Re: [Rpm-maint] [rpm-software-management/rpm] 3 cleanup fixes (#359)

2018-06-04 Thread Alan Jenkins
Agreed, fab7348 removes the need for my commit. I notice exit() does not seem to be on the list of POSIX signal-safe functions (in contrast with `_exit()`). I guess in general, if rpm is really trying to clean up inside a signal handler, I'd expect a lot of really hairy edge cases. E.g.

Re: [Rpm-maint] [rpm-software-management/rpm] 3 cleanup fixes (#359)

2018-06-04 Thread Panu Matilainen
Finally got around to investigate the rpmdb leak thing properly... @ffesti pointed out that perhaps a better fix is to ensure the new handle is always added to the list. And indeed, this actually fixes another problem too: there was a window where a newly opened database would not be properly

Re: [Rpm-maint] [rpm-software-management/rpm] 3 cleanup fixes (#359)

2018-06-04 Thread Panu Matilainen
Closed #359. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/359#event-1661156271___ Rpm-maint mailing list

Re: [Rpm-maint] [rpm-software-management/rpm] 3 cleanup fixes (#359)

2018-02-27 Thread Alan Jenkins
Eh. It can cause a bit of awkwardness or need for discussion when you get unlucky, agreed. So far I'm not very keen to send 3+ different PRs for small fixes to cleanup when they don't depend on each other. I appreciate the attention to detail. Cleanup fixes can be fiddly to get right even

Re: [Rpm-maint] [rpm-software-management/rpm] 3 cleanup fixes (#359)

2018-02-27 Thread Panu Matilainen
The holdup here has been the rpmdbClose() changes, I've gotten rather wary of changes to that area due to recent fix-regression-fix-regression round - see commit 4c6e51e2c0e3deeb052ae3c47115b6d10cb0d696 which your change almost reverts, and then the subsequent fixes and reverts in the history.

Re: [Rpm-maint] [rpm-software-management/rpm] 3 cleanup fixes (#359)

2018-02-19 Thread proyvind
Seems okay, do a rebase for all checks to pass, hopefully this should be sufficient for it to be merged. @pmatilai , anything else holding this one off?  -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub:

[Rpm-maint] [rpm-software-management/rpm] 3 cleanup fixes (#359)

2017-11-13 Thread Alan Jenkins
You can view, comment on, or merge this pull request online at: https://github.com/rpm-software-management/rpm/pull/359 -- Commit Summary -- * ndb glue: closeEnv() should always clear rdb->db_dbenv * rpmidxHandleObsolete(): Fix fd leak in error path * Fix leak with openDatabase() /