chiark / gitweb /
logind: when setting a new controller, don't prepare the VT if logind is restarted
[elogind.git] / src / login / logind-session-dbus.c
index 1316c50081902aa08d79505b04204a22dd9324f1..93495fbe852ab5acbb117f047c1693e98dc12302 100644 (file)
@@ -444,23 +444,14 @@ static int method_take_device(sd_bus_message *message, void *userdata, sd_bus_er
                  * equivalent). */
                 return sd_bus_error_setf(error, BUS_ERROR_DEVICE_IS_TAKEN, "Device already taken");
 
-        r = session_device_new(s, dev, true, &sd);
+        r = session_device_new(s, dev, &sd);
         if (r < 0)
                 return r;
 
-        r = session_device_save(sd);
-        if (r < 0)
-                goto error;
-
         r = sd_bus_reply_method_return(message, "hb", sd->fd, !sd->active);
         if (r < 0)
-                goto error;
-
-        session_save(s);
-        return 0;
+                session_device_free(sd);
 
-error:
-        session_device_free(sd);
         return r;
 }
 
@@ -487,8 +478,6 @@ static int method_release_device(sd_bus_message *message, void *userdata, sd_bus
                 return sd_bus_error_setf(error, BUS_ERROR_DEVICE_NOT_TAKEN, "Device not taken");
 
         session_device_free(sd);
-        session_save(s);
-
         return sd_bus_reply_method_return(message, NULL);
 }