diff options
author | Andreas Baumann <abaumann@yahoo.com> | 2009-04-05 18:50:51 +0200 |
---|---|---|
committer | Andreas Baumann <abaumann@yahoo.com> | 2009-04-05 18:50:51 +0200 |
commit | dd4d5c5ff526a9d4d6c61922b27ae03ce91aa34a (patch) | |
tree | 7f674498a7705d9ba5289d600f243d0c5035f43b /tests | |
parent | 83ca2ead96d4e3225cacb9d6fd0964f2a2630a80 (diff) | |
download | wolfbones-dd4d5c5ff526a9d4d6c61922b27ae03ce91aa34a.tar.gz wolfbones-dd4d5c5ff526a9d4d6c61922b27ae03ce91aa34a.tar.bz2 |
finished acceptor in network test2
Diffstat (limited to 'tests')
-rw-r--r-- | tests/network/test2.c | 15 |
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 |