aboutsummaryrefslogtreecommitdiffstats
path: root/erts/etc/common/erlexec.c
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2013-08-30 15:07:27 +0200
committerLukas Larsson <[email protected]>2013-08-30 15:07:27 +0200
commit5b56a49d15d10ad4a35dbc8b2a4b01486f1d5294 (patch)
tree48cacb859de4b442215dc2e592712911443155a0 /erts/etc/common/erlexec.c
parent18d4e3e1a8aa59afbf360c41a540062194ff3dd1 (diff)
parent63a3de06cfc02762ff933bf34ec2a4307f51749b (diff)
downloadotp-5b56a49d15d10ad4a35dbc8b2a4b01486f1d5294.tar.gz
otp-5b56a49d15d10ad4a35dbc8b2a4b01486f1d5294.tar.bz2
otp-5b56a49d15d10ad4a35dbc8b2a4b01486f1d5294.zip
Merge branch 'maint'
* maint: add erl option to set schedulers by percentages
Diffstat (limited to 'erts/etc/common/erlexec.c')
-rw-r--r--erts/etc/common/erlexec.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/erts/etc/common/erlexec.c b/erts/etc/common/erlexec.c
index f61d6cdbd3..c82797afc8 100644
--- a/erts/etc/common/erlexec.c
+++ b/erts/etc/common/erlexec.c
@@ -803,7 +803,6 @@ int main(int argc, char **argv)
case 'n':
case 'P':
case 'Q':
- case 'S':
case 't':
case 'T':
case 'R':
@@ -818,6 +817,19 @@ int main(int argc, char **argv)
add_Eargs(argv[i+1]);
i++;
break;
+ case 'S':
+ if (argv[i][2] == 'P') {
+ if (argv[i][3] != '\0')
+ goto the_default;
+ } else if (argv[i][2] != '\0')
+ goto the_default;
+ if (i+1 >= argc)
+ usage(argv[i]);
+ argv[i][0] = '-';
+ add_Eargs(argv[i]);
+ add_Eargs(argv[i+1]);
+ i++;
+ break;
case 'B':
argv[i][0] = '-';
if (argv[i][2] != '\0') {
@@ -1119,7 +1131,9 @@ usage_aux(void)
"[+l] [+M<SUBSWITCH> <ARGUMENT>] [+P MAX_PROCS] [+Q MAX_PORTS] "
"[+R COMPAT_REL] "
"[+r] [+rg READER_GROUPS_LIMIT] [+s SCHEDULER_OPTION] "
- "[+S NO_SCHEDULERS:NO_SCHEDULERS_ONLINE] [+T LEVEL] [+V] [+v] "
+ "[+S NO_SCHEDULERS:NO_SCHEDULERS_ONLINE] "
+ "[+SP PERCENTAGE_SCHEDULERS:PERCENTAGE_SCHEDULERS_ONLINE] "
+ "[+T LEVEL] [+V] [+v] "
"[+W<i|w>] [+z MISC_OPTION] [args ...]\n");
exit(1);
}