summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAndreas Baumann <abaumann@yahoo.com>2009-04-05 18:50:51 +0200
committerAndreas Baumann <abaumann@yahoo.com>2009-04-05 18:50:51 +0200
commitdd4d5c5ff526a9d4d6c61922b27ae03ce91aa34a (patch)
tree7f674498a7705d9ba5289d600f243d0c5035f43b /tests
parent83ca2ead96d4e3225cacb9d6fd0964f2a2630a80 (diff)
downloadwolfbones-dd4d5c5ff526a9d4d6c61922b27ae03ce91aa34a.tar.gz
wolfbones-dd4d5c5ff526a9d4d6c61922b27ae03ce91aa34a.tar.bz2
finished acceptor in network test2
Diffstat (limited to 'tests')
-rw-r--r--tests/network/test2.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/tests/network/test2.c b/tests/network/test2.c
index f0e711a..5c6d362 100644
--- a/tests/network/test2.c
+++ b/tests/network/test2.c
@@ -48,6 +48,7 @@ int main( int argc, char* argv[] ) {
char client_hostname[NI_MAXHOST] = "";
char client_service[NI_MAXSERV] = "";
int on;
+ int client_fd;
if( argc != 3 ) {
fprintf( stderr, "usage: test2 <host> <port>\n" );
@@ -124,8 +125,8 @@ int main( int argc, char* argv[] ) {
*/
FIRST_ACCEPT_AGAIN:
client_addr_len = sizeof( client_addr );
- res = accept( serv_fd, &client_addr.addr, &client_addr_len );
- if( res < 0 ) {
+ client_fd = accept( serv_fd, &client_addr.addr, &client_addr_len );
+ if( client_fd < 0 ) {
if( errno == EAGAIN || errno == EWOULDBLOCK ) {
/* as expected, skip */
} else {
@@ -175,8 +176,8 @@ ACCEPT_SELECT_AGAIN:
*/
ACCEPT_AGAIN:
client_addr_len = sizeof( client_addr );
- res = accept( serv_fd, &client_addr.addr, &client_addr_len );
- if( res < 0 ) {
+ client_fd = accept( serv_fd, &client_addr.addr, &client_addr_len );
+ if( client_fd < 0 ) {
if( errno == EINTR ) {
/* interrupted, again */
goto ACCEPT_AGAIN;
@@ -204,7 +205,9 @@ ACCEPT_AGAIN:
fprintf( stderr, "New connection from %s, port %s\n", client_hostname, client_service );
- goto OK;
+ (void)close( client_fd );
+
+ goto FIRST_ACCEPT_AGAIN;
FAIL:
freeaddrinfo( result );
@@ -215,7 +218,7 @@ FAIL:
return EXIT_FAILURE;
-OK:
+//OK:
freeaddrinfo( result );
#ifdef _WIN32