use errno to determine socket failures

This commit is contained in:
Stefan Lankes 2011-10-13 15:21:45 -07:00
parent 4c958a0d36
commit aba6a08b70

View file

@ -46,6 +46,7 @@
#ifdef CONFIG_LWIP
#include <lwip/sockets.h>
#include <lwip/err.h>
typedef struct
{
@ -75,7 +76,7 @@ static int send_data(int socket, void *buffer, size_t size, int flags)
if (rc < 0)
{
kprintf("send failed: %d\n", rc);
kprintf("send failed: %d\n", errno);
return -1;
}
@ -90,7 +91,7 @@ static int recv_data(int socket, void *buffer, size_t size, int flags)
size_t rc = recv(socket, buffer, size, flags);
if (rc < 0) {
kprintf("recv failed: %d\n", rc);
kprintf("recv failed: %d\n", errno);
return -1;
}
@ -158,7 +159,7 @@ static int TCPServer(void* arg)
if ((err = bind(server, (struct sockaddr *) &sa_server, sizeof(sa_server))) < 0)
{
kprintf("bind failed: %d\n", err);
kprintf("bind failed: %d\n", errno);
closesocket(server);
kfree(cBuffer, TMAXSIZE);
return -1;
@ -166,7 +167,7 @@ static int TCPServer(void* arg)
if ((err = listen(server, 2)) != 0)
{
kprintf("listen failed: %d\n", err);
kprintf("listen failed: %d\n", errno);
closesocket(server);
kfree(cBuffer, TMAXSIZE);
return -1;
@ -183,7 +184,7 @@ static int TCPServer(void* arg)
if ((rc = select(FD_SETSIZE, &fds, 0, 0, &tv)) < 0)
{
kprintf("select failed: %d\n", rc);
kprintf("select failed: %d\n", errno);
break;
}
@ -222,7 +223,7 @@ static int TCPServer(void* arg)
if (rc < 0)
{
kprintf("recv failed: %d\n", rc);
kprintf("recv failed: %d\n", errno);
break;
}
@ -252,7 +253,7 @@ static int TCPServer(void* arg)
if (rc < 0)
{
kprintf("send failed: %d\n", rc);
kprintf("send failed: %d\n", errno);
break;
}
@ -310,7 +311,7 @@ int TCP_Bench(void)
if ((server = socket(PF_INET, SOCK_STREAM, 0)) < 0)
{
kprintf("socket failed: %d\n", server);
kprintf("socket failed: %d\n", errno);
kfree(cBuffer, TMAXSIZE);
return -2;
}
@ -324,7 +325,7 @@ int TCP_Bench(void)
if ((err = connect(server, (struct sockaddr *) &sa_server, sizeof(sa_server))) < 0)
{
kprintf("connect failed: %d\n", err);
kprintf("connect failed: %d\n", errno);
closesocket(server);
kfree(cBuffer, TMAXSIZE);
return -2;
@ -360,8 +361,8 @@ int TCP_Bench(void)
if (rc < 0)
{
kprintf("send failed: %d\n", rc);
break;
kprintf("send failed: %d\n", errno);
return -1;
}
if (rc > 0)
@ -404,8 +405,8 @@ int TCP_Bench(void)
if (rc < 0)
{
kprintf("recv failed: %d\n", rc);
break;
kprintf("recv failed: %d\n", errno);
return -1;
}
if (rc > 0)
@ -448,6 +449,7 @@ int netio_init(void)
} else if (RCCE_ue() == 0) {
sleep(3);
err = TCP_Bench();
stats_display();
}
#else
err = create_kernel_task(NULL, TCPServer, NULL, NORMAL_PRIO);