From: Michael Tremer Date: Mon, 16 Oct 2023 10:07:58 +0000 (+0000) Subject: jail: Send log stuff to the context logger X-Git-Tag: 0.9.30~1496 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a13df0233b52b957c548e0483c43bf37c30ae123;p=pakfire.git jail: Send log stuff to the context logger Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/jail.c b/src/libpakfire/jail.c index 52291408d..86b85229a 100644 --- a/src/libpakfire/jail.c +++ b/src/libpakfire/jail.c @@ -89,6 +89,7 @@ struct pakfire_jail_mountpoint { }; struct pakfire_jail { + struct pakfire_ctx* ctx; struct pakfire* pakfire; int nrefs; @@ -198,8 +199,10 @@ static void pakfire_jail_free(struct pakfire_jail* jail) { if (jail->cgroup) pakfire_cgroup_unref(jail->cgroup); - - pakfire_unref(jail->pakfire); + if (jail->pakfire) + pakfire_unref(jail->pakfire); + if (jail->ctx) + pakfire_ctx_unref(jail->ctx); free(jail); } @@ -269,6 +272,9 @@ PAKFIRE_EXPORT int pakfire_jail_create(struct pakfire_jail** jail, struct pakfir if (!j) return 1; + // Reference context + j->ctx = pakfire_ctx(pakfire); + // Reference Pakfire j->pakfire = pakfire_ref(pakfire); @@ -1639,7 +1645,7 @@ static int pakfire_jail_child(struct pakfire_jail* jail, struct pakfire_jail_exe int r; // Redirect any logging to our log pipe - pakfire_set_log_callback(jail->pakfire, pakfire_jail_log_redirect, &ctx->pipes); + pakfire_ctx_set_log_callback(jail->ctx, pakfire_jail_log_redirect, &ctx->pipes); // Fetch my own PID pid_t pid = getpid();