[Rpm-maint] [rpm-software-management/rpm] Add rpmlogOnce() and rpmlogReset() (PR #3417)
Panu Matilainen
notifications at github.com
Thu Oct 31 08:51:26 UTC 2024
@pmatilai commented on this pull request.
> @@ -412,3 +415,43 @@ void rpmlog (int code, const char *fmt, ...)
exit:
errno = saved_errno;
}
+
+int rpmlogOnce (uint64_t domain, const char * key, int code, const char *fmt, ...)
+{
+ int saved_errno = errno;
+ rpmlogCtx ctx = rpmlogCtxAcquire();
+ int newkey = 0;
+
+ if (ctx) {
+ wrlock lock(ctx->mutex);
+ newkey = !ctx->seen[domain][{code, key}]++;
Yeah there's a lot of magic in that line, perhaps a bit too much. This isn't a LoC competition, understandability is 100x more important. If @ffesti himself needed to think for a while to convince himself why this works, that's a danger sign already, maybe this could be opened up a bit, or at least add a comment.
--
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3417#discussion_r1824094315
You are receiving this because you are subscribed to this thread.
Message ID: <rpm-software-management/rpm/pull/3417/review/2407388679 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20241031/69ce31e8/attachment.html>
More information about the Rpm-maint
mailing list