robur-coop / albatross

Albatross: orchestrate and manage MirageOS unikernels with Solo5
ISC License
142 stars 17 forks source link

When destroy can't find a running unikernel, stop creation (for restart-on-fail) #51

Closed hannesm closed 3 years ago

hannesm commented 3 years ago

This introduces a new data structure "restarting", filled once the waiter is retrieved (after waitpid finished), and the restarting task is woken up.

This fixes #39. Since the create_lock is held during state modification (i.e. the different coroutines executing the restart) and also when handling commands.