diff options
Diffstat (limited to 'erts')
-rw-r--r-- | erts/autoconf/vxworks/sed.general | 2 | ||||
-rw-r--r-- | erts/autoconf/vxworks/sed.vxworks_ppc32 | 4 | ||||
-rw-r--r-- | erts/autoconf/vxworks/sed.vxworks_simlinux | 5 | ||||
-rw-r--r-- | erts/autoconf/vxworks/sed.vxworks_simso | 4 | ||||
-rw-r--r-- | erts/doc/src/erl.xml | 2 | ||||
-rw-r--r-- | erts/emulator/beam/erl_init.c | 6 | ||||
-rw-r--r-- | erts/emulator/beam/erl_port.h | 11 |
7 files changed, 33 insertions, 1 deletions
diff --git a/erts/autoconf/vxworks/sed.general b/erts/autoconf/vxworks/sed.general index 162fd38c2b..e2d2f415f1 100644 --- a/erts/autoconf/vxworks/sed.general +++ b/erts/autoconf/vxworks/sed.general @@ -31,6 +31,7 @@ s|^#undef SIZEOF_SHORT|#define SIZEOF_SHORT 2| s|^#undef SIZEOF_INT|#define SIZEOF_INT 4| s|^#undef SIZEOF_LONG_LONG|#define SIZEOF_LONG_LONG 8| s|^#undef SIZEOF_LONG$|#define SIZEOF_LONG 4| +s|^#undef SIZEOF_VOID_P$|#define SIZEOF_VOID_P 4| # General stuff. s|@erts_rootdir@|/clearcase/otp/erts| @@ -93,7 +94,6 @@ s|@TTPREFIX@|GCC_EXEC_PREFIX=@WIND_BASE@/host/@HOST_TYPE@/lib/gcc-lib/ @WIND_BAS # Install programs etc s|@PERL@|perl| -s|@INSTALL@|/usr/ucb/install -c| s|@INSTALL_PROGRAM@|${INSTALL}| s|@INSTALL_SCRIPT@|${INSTALL}| s|@INSTALL_DATA@|${INSTALL} -m 644| diff --git a/erts/autoconf/vxworks/sed.vxworks_ppc32 b/erts/autoconf/vxworks/sed.vxworks_ppc32 index 5db28337c0..48ec912b4f 100644 --- a/erts/autoconf/vxworks/sed.vxworks_ppc32 +++ b/erts/autoconf/vxworks/sed.vxworks_ppc32 @@ -23,6 +23,10 @@ # # # +# Install programs etc +s|@INSTALL@|/usr/bin/install -c| + +# other s|@host@|vxworks_ppc32| s|@system_type@|vxworks_ppc32| s|@ARCH@|ppc32| diff --git a/erts/autoconf/vxworks/sed.vxworks_simlinux b/erts/autoconf/vxworks/sed.vxworks_simlinux index 6eb6f8ea92..fbf6d7bc9d 100644 --- a/erts/autoconf/vxworks/sed.vxworks_simlinux +++ b/erts/autoconf/vxworks/sed.vxworks_simlinux @@ -23,6 +23,11 @@ # # # +# +# Install programs etc +s|@INSTALL@|/usr/bin/install -c| + +# other s|@host@|vxworks_simlinux| s|@system_type@|vxworks_simlinux| s|@ARCH@|simlinux| diff --git a/erts/autoconf/vxworks/sed.vxworks_simso b/erts/autoconf/vxworks/sed.vxworks_simso index 1d7413b484..17ec092dee 100644 --- a/erts/autoconf/vxworks/sed.vxworks_simso +++ b/erts/autoconf/vxworks/sed.vxworks_simso @@ -23,6 +23,10 @@ # # # +# Install programs etc +s|@INSTALL@|/usr/ucb/install -c| + +# other s|@host@|vxworks_simso| s|@system_type@|vxworks_simso| s|@ARCH@|simso| 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_init.c b/erts/emulator/beam/erl_init.c index 83853dcd43..e7e4030900 100644 --- a/erts/emulator/beam/erl_init.c +++ b/erts/emulator/beam/erl_init.c @@ -935,6 +935,12 @@ erl_start(int argc, char **argv) (erts_aint32_t) max_gen_gcs); } + envbufsz = sizeof(envbuf); + if (erts_sys_getenv_raw("ERL_MAX_PORTS", envbuf, &envbufsz) == 0) { + port_tab_sz = atoi(envbuf); + port_tab_sz_ignore_files = 1; + } + #if (defined(__APPLE__) && defined(__MACH__)) || defined(__DARWIN__) /* * The default stack size on MacOS X is too small for pcre. 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; |