aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libcharon/plugins/load_tester/load_tester.c10
-rw-r--r--src/libcharon/plugins/load_tester/load_tester_control.c8
2 files changed, 11 insertions, 7 deletions
diff --git a/src/libcharon/plugins/load_tester/load_tester.c b/src/libcharon/plugins/load_tester/load_tester.c
index fc41df76a..f7361e606 100644
--- a/src/libcharon/plugins/load_tester/load_tester.c
+++ b/src/libcharon/plugins/load_tester/load_tester.c
@@ -61,7 +61,7 @@ static FILE* make_connection()
/**
* Initiate load-tests
*/
-static int initiate(unsigned int count)
+static int initiate(unsigned int count, unsigned int delay)
{
FILE *stream;
char c;
@@ -72,7 +72,7 @@ static int initiate(unsigned int count)
return 1;
}
- fprintf(stream, "%u\n", count);
+ fprintf(stream, "%u %u\n", count, delay);
while (1)
{
@@ -94,11 +94,11 @@ static int initiate(unsigned int count)
int main(int argc, char *argv[])
{
- if (argc == 3 && strcmp(argv[1], "initiate") == 0)
+ if (argc >= 3 && strcmp(argv[1], "initiate") == 0)
{
- return initiate(atoi(argv[2]));
+ return initiate(atoi(argv[2]), argc > 3 ? atoi(argv[3]) : 0);
}
fprintf(stderr, "Usage:\n");
- fprintf(stderr, " %s initiate <count>\n", argv[0]);
+ fprintf(stderr, " %s initiate <count> [<delay in ms>]\n", argv[0]);
return 1;
}
diff --git a/src/libcharon/plugins/load_tester/load_tester_control.c b/src/libcharon/plugins/load_tester/load_tester_control.c
index db2a31368..0c21c23ca 100644
--- a/src/libcharon/plugins/load_tester/load_tester_control.c
+++ b/src/libcharon/plugins/load_tester/load_tester_control.c
@@ -223,7 +223,7 @@ static job_requeue_t initiate(FILE *stream)
enumerator_t *enumerator;
peer_cfg_t *peer_cfg;
child_cfg_t *child_cfg;
- u_int i, count, failed = 0;
+ u_int i, count, failed = 0, delay = 0;
char buf[16] = "";
fflush(stream);
@@ -231,7 +231,7 @@ static job_requeue_t initiate(FILE *stream)
{
return JOB_REQUEUE_NONE;
}
- if (sscanf(buf, "%u", &count) != 1)
+ if (sscanf(buf, "%u %u", &count, &delay) < 1)
{
return JOB_REQUEUE_NONE;
}
@@ -285,6 +285,10 @@ static job_requeue_t initiate(FILE *stream)
fprintf(stream, "!");
break;
}
+ if (delay)
+ {
+ usleep(delay * 1000);
+ }
fflush(stream);
}