aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2013-02-13 18:57:13 +0100
committerSverker Eriksson <[email protected]>2013-02-13 18:57:23 +0100
commit7fda8c136ae1561aa10e00ce2537b48b7051dc36 (patch)
tree29cf3b1fef1f5494194fa4d3184feaa43e628ed9 /erts
parent7505ceff94dddb325543e32f3b8471a608097dc9 (diff)
parentb726ddb701dda96ad180509c51ba52dc1a9cc79e (diff)
downloadotp-7fda8c136ae1561aa10e00ce2537b48b7051dc36.tar.gz
otp-7fda8c136ae1561aa10e00ce2537b48b7051dc36.tar.bz2
otp-7fda8c136ae1561aa10e00ce2537b48b7051dc36.zip
Merge branch 'sverk/efile_drv-memleak'
* sverk/efile_drv-memleak: erts: Fix documentation about 10 default async threads. erts: Fix memory leak in efile_drv.c OTP-10841
Diffstat (limited to 'erts')
-rw-r--r--erts/doc/src/erl_driver.xml4
-rw-r--r--erts/emulator/drivers/common/efile_drv.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/erts/doc/src/erl_driver.xml b/erts/doc/src/erl_driver.xml
index 1212c34586..0e27f8a5bd 100644
--- a/erts/doc/src/erl_driver.xml
+++ b/erts/doc/src/erl_driver.xml
@@ -1960,9 +1960,7 @@ ERL_DRV_EXT2TERM char *buf, ErlDrvUInt len
emulator thread. This enables the driver to perform
time-consuming, blocking operations without blocking the
emulator.</p>
- <p>Erlang is by default started without an async thread pool. The
- number of async threads that the runtime system should use
- is specified by the
+ <p>The async thread pool size can be set with the
<seealso marker="erl#async_thread_pool_size">+A</seealso>
command line argument of <seealso marker="erl">erl(1)</seealso>.
If no async thread pool is available, the call is made
diff --git a/erts/emulator/drivers/common/efile_drv.c b/erts/emulator/drivers/common/efile_drv.c
index fda6cf2e53..2279fec72a 100644
--- a/erts/emulator/drivers/common/efile_drv.c
+++ b/erts/emulator/drivers/common/efile_drv.c
@@ -2263,6 +2263,8 @@ file_stop(ErlDrvData e)
desc->fd = FILE_FD_INVALID;
desc->flags = 0;
cq_execute(desc);
+ } else {
+ EF_FREE(desc);
}
} else {
if (desc->fd != FILE_FD_INVALID) {