Skip to content

Commit

Permalink
Fixed the supervisors' detection of already stopped supervised elemen…
Browse files Browse the repository at this point in the history
…ts for when calling callbacks.
  • Loading branch information
r3v2d0g committed Nov 11, 2019
1 parent 35f10cf commit c323ae6
Showing 1 changed file with 6 additions and 8 deletions.
14 changes: 6 additions & 8 deletions bastion/src/supervisor.rs
Expand Up @@ -179,16 +179,15 @@ impl Supervisor {
let parent = Parent::supervisor(self.as_ref());
let mut reset = FuturesOrdered::new();
for id in self.order.drain(..) {
let supervised = if let Some(supervised) = self.stopped.remove(&id) {
supervised
let (killed, supervised) = if let Some(supervised) = self.stopped.remove(&id) {
(false, supervised)
} else if let Some(supervised) = self.killed.remove(&id) {
supervised
(true, supervised)
} else {
// FIXME
unimplemented!();
};

let killed = self.killed.contains_key(supervised.id());
if killed {
supervised.callbacks().before_restart();
}
Expand Down Expand Up @@ -581,16 +580,15 @@ impl Supervisor {
let parent = Parent::supervisor(self.as_ref());
let mut reset = FuturesOrdered::new();
for id in self.order.drain(range) {
let supervised = if let Some(supervised) = self.stopped.remove(&id) {
supervised
let (killed, supervised) = if let Some(supervised) = self.stopped.remove(&id) {
(false, supervised)
} else if let Some(supervised) = self.killed.remove(&id) {
supervised
(true, supervised)
} else {
// FIXME
unimplemented!();
};

let killed = self.killed.contains_key(supervised.id());
if killed {
supervised.callbacks().before_restart();
}
Expand Down

0 comments on commit c323ae6

Please sign in to comment.