diff options
author | Anders Svensson <[email protected]> | 2015-12-01 08:11:25 +0100 |
---|---|---|
committer | Anders Svensson <[email protected]> | 2015-12-09 13:31:22 +0100 |
commit | f8fa795ac4885af5c9f396fbcf26143a67fbdf49 (patch) | |
tree | bca6e0d7398f4f7db0a40335d89f5dae24f1fd8f /lib/kernel/src/code_server.erl | |
parent | c1df511623b9a2a98d4d3862ae612c1ca9837da7 (diff) | |
download | otp-f8fa795ac4885af5c9f396fbcf26143a67fbdf49.tar.gz otp-f8fa795ac4885af5c9f396fbcf26143a67fbdf49.tar.bz2 otp-f8fa795ac4885af5c9f396fbcf26143a67fbdf49.zip |
Fix request table leak at exit signal
The storing of request records in the ets table diameter_request was
wrapped in a try/after so that the latter would unconditionally remove
written entries. The problem is that it didn't deal with the process
exiting as a result of an exit signal, since this doesn't raise in an
exception. Since the process in question applies callbacks to user code,
we can potentially be linked to other process and exit as a result.
Trapping exits changes the current behaviour of the process, so spawn a
monitoring process that cleans up upon reception of 'DOWN'.
Diffstat (limited to 'lib/kernel/src/code_server.erl')
0 files changed, 0 insertions, 0 deletions