summaryrefslogtreecommitdiffstats
path: root/tests/tcpflood.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-07-08 15:23:25 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2009-07-08 15:23:25 +0200
commitcf906392c3039ffa2526316b44ff28bd1d899061 (patch)
tree09c83a8866c917207b7d7130de1c88590c5f2b64 /tests/tcpflood.c
parent8e4ad77e54c9d9272cef41f71d94ae277965711e (diff)
parent5221a1e42e16c8c39b48a4a1a18ee6322c38cd17 (diff)
downloadrsyslog-cf906392c3039ffa2526316b44ff28bd1d899061.tar.gz
rsyslog-cf906392c3039ffa2526316b44ff28bd1d899061.tar.xz
rsyslog-cf906392c3039ffa2526316b44ff28bd1d899061.zip
Merge branch 'v4-devel'
Conflicts: runtime/debug.h runtime/stream.c
Diffstat (limited to 'tests/tcpflood.c')
-rw-r--r--tests/tcpflood.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/tests/tcpflood.c b/tests/tcpflood.c
index 2ca796ca..0439e33e 100644
--- a/tests/tcpflood.c
+++ b/tests/tcpflood.c
@@ -61,6 +61,7 @@ int openConn(int *fd)
{
int sock;
struct sockaddr_in addr;
+ int retries = 0;
if((sock=socket(AF_INET, SOCK_STREAM, 0))==-1) {
perror("socket()");
@@ -74,11 +75,19 @@ int openConn(int *fd)
fprintf(stderr, "inet_aton() failed\n");
return(1);
}
- if(connect(sock, (struct sockaddr*)&addr, sizeof(addr)) != 0) {
- perror("connect()");
- fprintf(stderr, "connect() failed\n");
- return(1);
- }
+ while(1) { /* loop broken inside */
+ if(connect(sock, (struct sockaddr*)&addr, sizeof(addr)) == 0) {
+ break;
+ } else {
+ if(retries++ == 50) {
+ perror("connect()");
+ fprintf(stderr, "connect() failed\n");
+ return(1);
+ } else {
+ usleep(100000); /* ms = 1000 us! */
+ }
+ }
+ }
*fd = sock;
return 0;