Skip to content

Commit 19b3eca

Browse files
committed
Make the restart signal kind configurable
1 parent 907136d commit 19b3eca

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/lib.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ const REBIND_SYSTEMD_PID: &str = "auto";
8787

8888
/// Settings for graceful restarts
8989
pub struct RestartConfig {
90-
/// Enables the restart coordination socket for graceful restarts as an alternative to the SIGUSR1 signal.
90+
/// Enables the restart coordination socket for graceful restarts as an alternative to a Unix signal.
9191
pub enabled: bool,
9292
/// Socket path
9393
pub coordination_socket_path: PathBuf,
@@ -97,6 +97,8 @@ pub struct RestartConfig {
9797
pub lifecycle_handler: Box<dyn LifecycleHandler>,
9898
/// Exits early when child process fail to start
9999
pub exit_on_error: bool,
100+
/// Sets the signal to listen to on restart. This defaults to SIGUSR1.
101+
pub restart_signal: SignalKind,
100102
}
101103

102104
impl RestartConfig {
@@ -139,6 +141,7 @@ impl Default for RestartConfig {
139141
environment: vec![],
140142
lifecycle_handler: Box::new(lifecycle::NullLifecycleHandler),
141143
exit_on_error: true,
144+
restart_signal: SignalKind::user_defined1(),
142145
}
143146
}
144147
}
@@ -211,7 +214,7 @@ pub fn spawn_restart_task(
211214
false => None,
212215
};
213216

214-
let mut signal_stream = signal(SignalKind::user_defined1())?;
217+
let mut signal_stream = signal(settings.restart_signal)?;
215218
let (restart_fd, mut socket_stream) = new_restart_coordination_socket_stream(socket)?;
216219
let mut child_spawner =
217220
ChildSpawner::new(restart_fd, settings.environment, settings.lifecycle_handler);

0 commit comments

Comments
 (0)