diff options
author | Patrik Nyblom <[email protected]> | 2013-04-04 17:46:17 +0200 |
---|---|---|
committer | Patrik Nyblom <[email protected]> | 2013-04-04 17:46:17 +0200 |
commit | 1e282b7b0c092f8f4619383741262583ff99b64c (patch) | |
tree | 4bab57ce3f8c1195543aa3eae066a767a78e0723 /erts/emulator/beam/erl_thr_progress.h | |
parent | 8d70fd874ae4da853ac79f4349fbf4a985950656 (diff) | |
download | otp-1e282b7b0c092f8f4619383741262583ff99b64c.tar.gz otp-1e282b7b0c092f8f4619383741262583ff99b64c.tar.bz2 otp-1e282b7b0c092f8f4619383741262583ff99b64c.zip |
Make port close not be delayed
Drivers are dereferenced when the port is completely gone, in the operation
scheduled with erts_schedule_thr_prgr_later_op. If we use
erts_schedule_thr_prgr_later_cleanup_op, it may not happen
for a long time and the driver can not be unloaded.
We can not dereference the driver before the thread_progress_later
thing, because references to the driver may exist in other threads, so
the unloading of the driver may free locks held by other schedulers and
whatnot.
Diffstat (limited to 'erts/emulator/beam/erl_thr_progress.h')
0 files changed, 0 insertions, 0 deletions