Monitor musicplayer actor and stop main process when actor stops
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user