]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
logind-dbus: return appropriate errno for unexpected errors
authorMike Yuan <me@yhndnzj.com>
Thu, 31 Oct 2024 14:33:07 +0000 (15:33 +0100)
committerMike Yuan <me@yhndnzj.com>
Thu, 31 Oct 2024 14:34:47 +0000 (15:34 +0100)
Follow-up for 0e10c3d8724b0a5d07871c9de71565ac91dd55b7

src/login/logind-dbus.c

index 094f9a64bd46dd5ca3524d833d3aa9f9fea7aeb4..7557ab2d93b820e554d82ee8771229589cd5102c 100644 (file)
@@ -2663,11 +2663,11 @@ static int method_schedule_shutdown(sd_bus_message *message, void *userdata, sd_
                         if (r < 0) {
                                 if (r == -ENOENT)
                                         return sd_bus_error_set(error,
-                                                        BUS_ERROR_DESIGNATED_MAINTENANCE_TIME_NOT_SCHEDULED,
-                                                        "No upcoming maintenance window scheduled");
-                                return sd_bus_error_setf(error,
-                                                BUS_ERROR_DESIGNATED_MAINTENANCE_TIME_NOT_SCHEDULED,
-                                                "Failed to determine next maintenance window");
+                                                                BUS_ERROR_DESIGNATED_MAINTENANCE_TIME_NOT_SCHEDULED,
+                                                                "No upcoming maintenance window scheduled");
+
+                                return sd_bus_error_set_errnof(error, r,
+                                                               "Failed to determine next maintenance window: %m");
                         }
 
                         log_info("Scheduled %s at maintenance window %s", type, FORMAT_TIMESTAMP(elapse));