X-Git-Url: https://git.exim.org/users/heiko/exim.git/blobdiff_plain/e5c9fb3c779c4db507d68e9c4c8fb7fe5f237c41..6d5c916cc5720591335fea53242dd6b97ea56fe3:/test/src/server.c?ds=sidebyside diff --git a/test/src/server.c b/test/src/server.c index b2f1bc754..4f2172376 100644 --- a/test/src/server.c +++ b/test/src/server.c @@ -65,13 +65,14 @@ typedef struct line { /************************************************* * SIGALRM handler - crash out * *************************************************/ +int tmo_noerror = 0; static void sigalrm_handler(int sig) { sig = sig; /* Keep picky compilers happy */ printf("\nServer timed out\n"); -exit(99); +exit(tmo_noerror ? 0 : 99); } @@ -200,7 +201,7 @@ int len = sizeof(accepted); /* Sort out the arguments */ if (argc > 1 && (!strcmp(argv[1], "--help") || !strcmp(argv[1], "-h"))) { - printf("Usage: %s [options]\n", argv[0]); + printf("Usage: %s [options] port|socket [connection count]\n", argv[0]); puts("Options" "\n\t-d debug" "\n\t-i n n seconds initial delay" @@ -215,7 +216,10 @@ if (argc > 1 && (!strcmp(argv[1], "--help") || !strcmp(argv[1], "-h"))) while (na < argc && argv[na][0] == '-') { if (strcmp(argv[na], "-d") == 0) debug = 1; - else if (strcmp(argv[na], "-t") == 0) timeout = atoi(argv[++na]); + else if (strcmp(argv[na], "-t") == 0) + { + if (tmo_noerror = ((timeout = atoi(argv[++na])) < 0)) timeout = -timeout; + } else if (strcmp(argv[na], "-i") == 0) initial_pause = atoi(argv[++na]); else if (strcmp(argv[na], "-noipv4") == 0) use_ipv4 = 0; else if (strcmp(argv[na], "-noipv6") == 0) use_ipv6 = 0; @@ -568,6 +572,7 @@ for (count = 0; count < connection_count; count++) cr.pid, cr.uid, cr.gid); --------------*****************/ } + fflush(stdout); if (dup_accept_socket < 0) {