summaryrefslogtreecommitdiff
path: root/apps/examples/nettest/nettest_server.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-02-18 18:13:30 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-02-18 18:13:30 +0000
commitfadbb925a6a118790d8d661fea3956bb0f76348a (patch)
treeca4c58d32d12949e8d08cb69a652b5e3f7fd0e58 /apps/examples/nettest/nettest_server.c
parent376af5201c555ee163045a8103d8e592f9a1b1bc (diff)
downloadnuttx-fadbb925a6a118790d8d661fea3956bb0f76348a.tar.gz
nuttx-fadbb925a6a118790d8d661fea3956bb0f76348a.tar.bz2
nuttx-fadbb925a6a118790d8d661fea3956bb0f76348a.zip
Correct and error in recv() and recvfrom() return value
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4402 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'apps/examples/nettest/nettest_server.c')
-rw-r--r--apps/examples/nettest/nettest_server.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/apps/examples/nettest/nettest_server.c b/apps/examples/nettest/nettest_server.c
index 45ef3a39a..76a20e652 100644
--- a/apps/examples/nettest/nettest_server.c
+++ b/apps/examples/nettest/nettest_server.c
@@ -1,7 +1,7 @@
/****************************************************************************
* examples/nettest/nettest-server.c
*
- * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2007, 2011-2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -149,11 +149,16 @@ void recv_server(void)
for (;;)
{
nbytesread = recv(acceptsd, buffer, 2*SENDSIZE, 0);
- if (nbytesread <= 0)
+ if (nbytesread < 0)
{
message("server: recv failed: %d\n", errno);
goto errout_with_acceptsd;
}
+ else if (nbytesread == 0)
+ {
+ message("server: The client broke the connection\n");
+ goto errout_with_acceptsd;
+ }
message("Received %d bytes\n", nbytesread);
}
#else
@@ -164,11 +169,16 @@ void recv_server(void)
{
message("server: Reading...\n");
nbytesread = recv(acceptsd, &buffer[totalbytesread], 2*SENDSIZE - totalbytesread, 0);
- if (nbytesread <= 0)
+ if (nbytesread < 0)
{
message("server: recv failed: %d\n", errno);
goto errout_with_acceptsd;
}
+ else if (nbytesread == 0)
+ {
+ message("server: The client broke the connection\n");
+ goto errout_with_acceptsd;
+ }
totalbytesread += nbytesread;
message("server: Received %d of %d bytes\n", totalbytesread, SENDSIZE);