From 589b5ce9e3c8773d7819623d7faed17709803321 Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Sat, 26 May 2012 13:16:23 +0200 Subject: [PATCH] main: create vt master object When running multiple sessions on multiple seats, we need to allocate multiple VTs, too. Therefore, we now create a VT master connection in the main application which we can later use to allocate new VTs for each session. Signed-off-by: David Herrmann --- src/main.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main.c b/src/main.c index 0a69b64..77ab273 100644 --- a/src/main.c +++ b/src/main.c @@ -47,6 +47,7 @@ struct kmscon_app { struct kmscon_input *input; struct kmscon_ui *ui; + struct uterm_vt_master *vtm; struct uterm_monitor *mon; struct kmscon_dlist seats; }; @@ -161,6 +162,7 @@ static void destroy_app(struct kmscon_app *app) uterm_video_unref(app->video); kmscon_vt_unref(app->vt); uterm_monitor_unref(app->mon); + uterm_vt_master_unref(app->vtm); ev_eloop_unregister_signal_cb(app->eloop, SIGINT, sig_generic, app); ev_eloop_unregister_signal_cb(app->eloop, SIGTERM, sig_generic, app); ev_eloop_rm_eloop(app->vt_eloop); @@ -189,6 +191,10 @@ static int setup_app(struct kmscon_app *app) if (ret) goto err_app; + ret = uterm_vt_master_new(&app->vtm, app->vt_eloop); + if (ret) + goto err_app; + kmscon_dlist_init(&app->seats); ret = uterm_monitor_new(&app->mon, app->eloop, monitor_event, app);