diff options
author | Robert Watson <rwatson@FreeBSD.org> | 2005-05-16 00:54:47 +0000 |
---|---|---|
committer | Robert Watson <rwatson@FreeBSD.org> | 2005-05-16 00:54:47 +0000 |
commit | 31ae05021122b9925f4160dafa10e35a961aacad (patch) | |
tree | cc0b1003053f779559b586ff81bc0ea20eeef50f /tools/regression/netinet/tcpconnect | |
parent | 868ee99ce39a1ff2eeacaebaecbd6323987f4f8d (diff) |
Add an #ifdef'd non-blocking version of the test.
Update copyright.
Notes
Notes:
svn path=/head/; revision=146251
Diffstat (limited to 'tools/regression/netinet/tcpconnect')
-rw-r--r-- | tools/regression/netinet/tcpconnect/tcpconnect.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/tools/regression/netinet/tcpconnect/tcpconnect.c b/tools/regression/netinet/tcpconnect/tcpconnect.c index 781a820eaac2..5037a988d9a5 100644 --- a/tools/regression/netinet/tcpconnect/tcpconnect.c +++ b/tools/regression/netinet/tcpconnect/tcpconnect.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2004 Robert N. M. Watson + * Copyright (c) 2004-2005 Robert N. M. Watson * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -116,8 +116,17 @@ tcpconnect_client(int argc, char *argv[]) if (sock == -1) errx(-1, "socket: %s", strerror(errno)); +#ifdef NONBLOCK + if (fcntl(sock, F_SETFL, O_NONBLOCK) != 0) + errx(-1, "fcntl(F_SETFL): %s", strerror(errno)); + + if (connect(sock, (struct sockaddr *)&sin, sizeof(sin)) == -1 + && errno != EINPROGRESS) + errx(-1, "connect: %s", strerror(errno)); +#else if (connect(sock, (struct sockaddr *)&sin, sizeof(sin)) == -1) errx(-1, "connect: %s", strerror(errno)); +#endif close(sock); } |