Fail teardown when control withdrawal fails

This commit is contained in:
ms2k 2026-07-16 17:53:54 +09:00
commit a9c9cf7ab3

View file

@ -449,9 +449,10 @@ impl LifecycleAdapter for ProductionLifecycleAdapter<'_> {
LifecycleAction::ReleasePreparedLowerLease => self.release_prepared_lower(),
LifecycleAction::GracefulSupervisorExit => self.graceful_exit(),
LifecycleAction::BeginTeardown => {
if let Some(control) = self.published_control.take() {
control.withdraw();
if let Some(control) = self.published_control.as_ref() {
control.withdraw().map_err(failure)?;
}
self.published_control.take();
Ok(())
}
LifecycleAction::FinishTeardown => {