diff options
author | Sverker Eriksson <[email protected]> | 2019-02-14 18:07:15 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2019-02-14 18:07:15 +0100 |
commit | 750e9be58c7c245d49d6a7227b972bf0fd8c09ab (patch) | |
tree | c3f6c26669a21a4f23c42fdd5f494028d6c9c8cc /erts/preloaded | |
parent | 0d6eeb82210b5ad848af972c3b2f687a52edd156 (diff) | |
download | otp-750e9be58c7c245d49d6a7227b972bf0fd8c09ab.tar.gz otp-750e9be58c7c245d49d6a7227b972bf0fd8c09ab.tar.bz2 otp-750e9be58c7c245d49d6a7227b972bf0fd8c09ab.zip |
erts: Avoid heart killing a nicely exiting emulator
Symptom:
Heart kills exiting emulator before is has flushed all ports
and with HEART_KILL_SIGNAL=SIGABRT it may also produce
unnecessary core dumps from doing init:reboot() for example.
Problem:
Heart port is closed together with all the others in handle_reap_ports()
which is detected by heart OS process.
Solution 1:
Leave the heart port alone in handle_reap_ports() and let it be closed
by OS when emulator exists. It doesn't need to be flushed anyway.
Solution 2:
When heart OS process gets EOF on connection let it wait max 5 seconds
for emulator process to self terminate before trying to kill it.
Diffstat (limited to 'erts/preloaded')
0 files changed, 0 insertions, 0 deletions