diff options
author | Sverker Eriksson <[email protected]> | 2013-02-13 18:57:13 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2013-02-13 18:57:23 +0100 |
commit | 7fda8c136ae1561aa10e00ce2537b48b7051dc36 (patch) | |
tree | 29cf3b1fef1f5494194fa4d3184feaa43e628ed9 /erts | |
parent | 7505ceff94dddb325543e32f3b8471a608097dc9 (diff) | |
parent | b726ddb701dda96ad180509c51ba52dc1a9cc79e (diff) | |
download | otp-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.xml | 4 | ||||
-rw-r--r-- | erts/emulator/drivers/common/efile_drv.c | 2 |
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) { |