aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorCan Celik <ogulcancelik@gmail.com>2026-09-15 21:37:49 +0300
committerGitHub <noreply@github.com>2026-09-15 21:37:49 +0300
commit266b8e3802e22cd0da6eb5f24b269278c80d1bf4 (patch)
tree699ad092f6bdaed60e1ea35033fe3ed130c7165c /src/server
parent4428e1664d8d897ce2f914777c0fe060cf334c84 (diff)
fix: preserve macos services across logout (#4202)
refs #4100
Diffstat (limited to 'src/server')
-rw-r--r--src/server/headless/bootstrap.rs13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/server/headless/bootstrap.rs b/src/server/headless/bootstrap.rs
index 638b1b2d..e5ff400d 100644
--- a/src/server/headless/bootstrap.rs
+++ b/src/server/headless/bootstrap.rs
@@ -2,11 +2,20 @@ use super::*;
/// Run the headless server. This is the entry point called from main.rs.
pub fn run_server() -> io::Result<()> {
+ let args: Vec<String> = std::env::args().collect();
+ let handoff_import = args.get(2).map(String::as_str) == Some("--handoff-import");
+ let process_context = crate::platform::prepare_server_process(handoff_import);
init_logging();
+ match process_context {
+ Ok(true) => info!("server using persistent user service context"),
+ Ok(false) => {}
+ Err(err) => {
+ warn!(%err, "could not select persistent user service context; retaining inherited context")
+ }
+ }
crate::platform::raise_server_nofile_limit();
- let args: Vec<String> = std::env::args().collect();
- if args.get(2).map(String::as_str) == Some("--handoff-import") {
+ if handoff_import {
let socket_path = args
.get(3)
.map(PathBuf::from)