Monitor musicplayer actor and stop main process when actor stops

This commit is contained in:
Alexander Heldt
2025-11-29 14:59:49 +01:00
parent dd9468938d
commit 0877344a94
2 changed files with 10 additions and 13 deletions

View File

@@ -8,13 +8,14 @@ import musicplayer/ui/ui
pub fn main() -> Nil {
let input_keys_name: Name(Key) = process.new_name("input_keys")
input.new(input_keys_name)
let assert Ok(ui) = ui.new()
let assert Ok(mpv) = mpv.new()
let assert Ok(musicplayer_pid) = musicplayer.new(ui, mpv, input_keys_name)
let exit = process.new_subject()
let assert Ok(_) = musicplayer.new(ui, mpv, input_keys_name, exit)
process.receive_forever(exit)
let monitor = process.monitor(musicplayer_pid)
process.new_selector()
|> process.select_specific_monitor(monitor, fn(_) { Nil })
|> process.selector_receive_forever
}