]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
vmspawn: generate vm context OSC
authorLennart Poettering <lennart@poettering.net>
Mon, 18 Nov 2024 11:35:00 +0000 (12:35 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 27 Feb 2025 14:09:25 +0000 (15:09 +0100)
src/vmspawn/vmspawn.c

index 8776614001ee09948ea57c014eeb655b8c4cc932..e0f49bf09229d6209ef6bd0edeb994c5291b9742 100644 (file)
@@ -48,6 +48,7 @@
 #include "mkdir.h"
 #include "namespace-util.h"
 #include "netif-util.h"
+#include "osc-context.h"
 #include "pager.h"
 #include "parse-argument.h"
 #include "parse-util.h"
@@ -2249,8 +2250,15 @@ static int run_virtual_machine(int kvm_device_fd, int vhost_device_fd) {
         /* Exit when the child exits */
         (void) event_add_child_pidref(event, NULL, &child_pidref, WEXITED, on_child_exit, NULL);
 
+        _cleanup_(osc_context_closep) sd_id128_t osc_context_id = SD_ID128_NULL;
         _cleanup_(pty_forward_freep) PTYForward *forward = NULL;
         if (master >= 0) {
+                if (!terminal_is_dumb()) {
+                        r = osc_context_open_vm(arg_machine, /* ret_seq= */ NULL, &osc_context_id);
+                        if (r < 0)
+                                return r;
+                }
+
                 r = pty_forward_new(event, master, ptyfwd_flags, &forward);
                 if (r < 0)
                         return log_error_errno(r, "Failed to create PTY forwarder: %m");