diff options
author | Lukas Larsson <lukas@erlang-solutions.com> | 2013-02-25 15:38:55 +0100 |
---|---|---|
committer | Lukas Larsson <lukas@erlang-solutions.com> | 2013-02-25 15:38:55 +0100 |
commit | 192440ab1fdad0f3924f7af8c6f0dbc4f47f70b1 (patch) | |
tree | 58dc0228903e1909e3374e6928da13be04d6c102 | |
parent | df465d70c5e7833a393fea02eabf477bbe6c542b (diff) | |
download | erlang-192440ab1fdad0f3924f7af8c6f0dbc4f47f70b1.tar.gz |
Set default max ports on win32 to 8192
-rw-r--r-- | erts/doc/src/erl.xml | 2 | ||||
-rw-r--r-- | erts/emulator/beam/erl_port.h | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/erts/doc/src/erl.xml b/erts/doc/src/erl.xml index bd03fb4970..bb81330fec 100644 --- a/erts/doc/src/erl.xml +++ b/erts/doc/src/erl.xml @@ -665,6 +665,8 @@ than <c>65536</c>, the chosen value will increased to a value larger or equal to the maximum amount of file descriptors that can be opened.</p> + <p>On Windows the default value is set to <c>8196</c> because the + normal OS limitations are set higher than most machines can handle.</p> <p>Previously the environment variable <c>ERL_MAX_PORTS</c> was used for setting the maximum number of simultaneously existing ports. This environment variable is deprecated, and scheduled for removal in diff --git a/erts/emulator/beam/erl_port.h b/erts/emulator/beam/erl_port.h index 4052f4dbe8..377aa72ed5 100644 --- a/erts/emulator/beam/erl_port.h +++ b/erts/emulator/beam/erl_port.h @@ -31,7 +31,18 @@ typedef struct ErtsProc2PortSigData_ ErtsProc2PortSigData; #include "erl_thr_progress.h" #include "erl_trace.h" +#ifndef __WIN32__ #define ERTS_DEFAULT_MAX_PORTS (1 << 16) +#else +/* + * Do not default to as many max ports on Windows + * as there are no os limits to stop system + * from running amok. If allowed to go too high + * windows rarely recovers from the errors and + * other OS processes can be effected. + */ +#define ERTS_DEFAULT_MAX_PORTS (1 << 13) +#endif /* __WIN32__ */ #define ERTS_MIN_PORTS 1024 extern int erts_port_synchronous_ops; |