- };
- if let ChannelMonitorUpdateStatus::UnrecoverableError = ret {
- let logger = WithChannelMonitor::from(
- &self.logger, &monitors.get(&funding_txo).unwrap().monitor
- );
-
- // Take the monitors lock for writing so that we poison it and any future
- // operations going forward fail immediately.
- core::mem::drop(monitors);
- let _poison = self.monitors.write().unwrap();
- let err_str = "ChannelMonitor[Update] persistence failed unrecoverably. This indicates we cannot continue normal operation and must shut down.";
- log_error!(logger, "{}", err_str);
- panic!("{}", err_str);