|
526 | 526 |
|
527 | 527 | function manage(manager::LocalManager, id::Integer, config::WorkerConfig, op::Symbol) |
528 | 528 | if op === :interrupt |
529 | | - kill(config.process, 2) |
| 529 | + kill(config.process::Process, 2) |
530 | 530 | end |
531 | 531 | end |
532 | 532 |
|
@@ -749,21 +749,22 @@ function kill(manager::LocalManager, pid::Int, config::WorkerConfig; profile_wai |
749 | 749 | sleep(exit_timeout) |
750 | 750 |
|
751 | 751 | # Check to see if our child exited, and if not, send an actual kill signal |
752 | | - if !process_exited(config.process) |
| 752 | + process = config.process::Process |
| 753 | + if !process_exited(process) |
753 | 754 | @warn "Failed to gracefully kill worker $(pid)" |
754 | 755 | profile_sig = Sys.iswindows() ? nothing : Sys.isbsd() ? ("SIGINFO", 29) : ("SIGUSR1" , 10) |
755 | 756 | if profile_sig !== nothing |
756 | 757 | @warn("Sending profile $(profile_sig[1]) to worker $(pid)") |
757 | | - kill(config.process, profile_sig[2]) |
| 758 | + kill(process, profile_sig[2]) |
758 | 759 | sleep(profile_wait) |
759 | 760 | end |
760 | 761 | @warn("Sending SIGQUIT to worker $(pid)") |
761 | | - kill(config.process, Base.SIGQUIT) |
| 762 | + kill(process, Base.SIGQUIT) |
762 | 763 |
|
763 | 764 | sleep(term_timeout) |
764 | | - if !process_exited(config.process) |
| 765 | + if !process_exited(process) |
765 | 766 | @warn("Worker $(pid) ignored SIGQUIT, sending SIGKILL") |
766 | | - kill(config.process, Base.SIGKILL) |
| 767 | + kill(process, Base.SIGKILL) |
767 | 768 | end |
768 | 769 | end |
769 | 770 | end |
|
0 commit comments