aboutsummaryrefslogtreecommitdiffstats
path: root/asterisk.c
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2005-10-26 03:58:32 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2005-10-26 03:58:32 +0000
commit02fb8bca8339f3db82d2002c59b3478d7b2262b0 (patch)
tree739e2207a379a0db6a97b8b1241c9b4fd0506b1c /asterisk.c
parent44c6211eb70f25ba39bcd931c8961d643d39a154 (diff)
Allow limitation by loadavg not just calls (should be BSD friendly)...
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6850 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'asterisk.c')
-rwxr-xr-xasterisk.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/asterisk.c b/asterisk.c
index 4c3bef8dc..1596959ed 100755
--- a/asterisk.c
+++ b/asterisk.c
@@ -143,6 +143,7 @@ int option_overrideconfig = 0;
int option_reconnect = 0;
int option_transcode_slin = 1;
int option_maxcalls = 0;
+double option_maxload = 0.0;
int option_dontwarn = 0;
int option_priority_jumping = 1;
int fully_booted = 0;
@@ -1872,6 +1873,10 @@ static void ast_readconfig(void) {
if ((sscanf(v->value, "%d", &option_maxcalls) != 1) || (option_maxcalls < 0)) {
option_maxcalls = 0;
}
+ } else if (!strcasecmp(v->name, "maxload")) {
+ if ((sscanf(v->value, "%lf", &option_maxload) != 1) || (option_maxload < 0.0)) {
+ option_maxload = 0.0;
+ }
}
v = v->next;
}
@@ -1930,7 +1935,7 @@ int main(int argc, char *argv[])
}
*/
/* Check for options */
- while((c=getopt(argc, argv, "tThfdvVqprRgcinx:U:G:C:M:")) != -1) {
+ while((c=getopt(argc, argv, "tThfdvVqprRgcinx:U:G:C:L:M:")) != -1) {
switch(c) {
case 'd':
option_debug++;
@@ -1966,6 +1971,10 @@ int main(int argc, char *argv[])
if ((sscanf(optarg, "%d", &option_maxcalls) != 1) || (option_maxcalls < 0))
option_maxcalls = 0;
break;
+ case 'L':
+ if ((sscanf(optarg, "%lf", &option_maxload) != 1) || (option_maxload < 0.0))
+ option_maxload = 0.0;
+ break;
case 'q':
option_quiet++;
break;