mirror of
https://github.com/cjfranko/NTP-Timeturner.git
synced 2025-11-08 18:32:02 +00:00
fix: Conditionally compile systemd features for Linux only
Co-authored-by: aider (gemini/gemini-2.5-pro-preview-05-06) <aider@aider.chat>
This commit is contained in:
parent
b854d29015
commit
12065a08c2
4 changed files with 52 additions and 20 deletions
13
src/main.rs
13
src/main.rs
|
|
@ -103,9 +103,16 @@ async fn main() {
|
|||
});
|
||||
} else {
|
||||
println!("🚀 Starting TimeTurner daemon...");
|
||||
systemd_journal_logger::init().unwrap();
|
||||
log::set_max_level(log::LevelFilter::Info);
|
||||
log::info!("TimeTurner daemon started. API server is running.");
|
||||
#[cfg(target_os = "linux")]
|
||||
{
|
||||
systemd_journal_logger::init().unwrap();
|
||||
log::set_max_level(log::LevelFilter::Info);
|
||||
log::info!("TimeTurner daemon started. API server is running.");
|
||||
}
|
||||
#[cfg(not(target_os = "linux"))]
|
||||
{
|
||||
println!("Daemon mode started. API server is running. Logging to system journal is only supported on Linux.");
|
||||
}
|
||||
}
|
||||
|
||||
// 6️⃣ Set up a LocalSet for the API server and main loop
|
||||
|
|
|
|||
|
|
@ -5,10 +5,18 @@ use std::process::Command;
|
|||
|
||||
/// Check if Chrony is active
|
||||
pub fn ntp_service_active() -> bool {
|
||||
if let Ok(output) = Command::new("systemctl").args(&["is-active", "chrony"]).output() {
|
||||
output.status.success()
|
||||
&& String::from_utf8_lossy(&output.stdout).trim() == "active"
|
||||
} else {
|
||||
#[cfg(target_os = "linux")]
|
||||
{
|
||||
if let Ok(output) = Command::new("systemctl").args(&["is-active", "chrony"]).output() {
|
||||
output.status.success()
|
||||
&& String::from_utf8_lossy(&output.stdout).trim() == "active"
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
#[cfg(not(target_os = "linux"))]
|
||||
{
|
||||
// systemctl is not available on non-Linux platforms.
|
||||
false
|
||||
}
|
||||
}
|
||||
|
|
@ -16,8 +24,17 @@ pub fn ntp_service_active() -> bool {
|
|||
/// Toggle Chrony (not used yet)
|
||||
#[allow(dead_code)]
|
||||
pub fn ntp_service_toggle(start: bool) {
|
||||
let action = if start { "start" } else { "stop" };
|
||||
let _ = Command::new("systemctl").args(&[action, "chrony"]).status();
|
||||
#[cfg(target_os = "linux")]
|
||||
{
|
||||
let action = if start { "start" } else { "stop" };
|
||||
let _ = Command::new("systemctl").args(&[action, "chrony"]).status();
|
||||
}
|
||||
#[cfg(not(target_os = "linux"))]
|
||||
{
|
||||
// No-op on non-Linux.
|
||||
// The parameter is unused, but the function is dead code anyway.
|
||||
let _ = start;
|
||||
}
|
||||
}
|
||||
|
||||
pub fn trigger_sync(frame: &LtcFrame, config: &Config) -> Result<String, ()> {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue