aboutsummaryrefslogtreecommitdiff
path: root/src/connection.cpp
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2006-09-26 19:53:41 +0000
committerMike Buland <eichlan@xagasoft.com>2006-09-26 19:53:41 +0000
commit4a2cacc7975b635b32c7cd7c6ac274639477ed8c (patch)
treeac95ac3855ce5df7c7ddbd231107e5ae84143deb /src/connection.cpp
parent25ba18d85897e69cafcf2e2f4772ec693d46c9a0 (diff)
downloadlibbu++-4a2cacc7975b635b32c7cd7c6ac274639477ed8c.tar.gz
libbu++-4a2cacc7975b635b32c7cd7c6ac274639477ed8c.tar.bz2
libbu++-4a2cacc7975b635b32c7cd7c6ac274639477ed8c.tar.xz
libbu++-4a2cacc7975b635b32c7cd7c6ac274639477ed8c.zip
Fixed some whackiness in the connection class, -1 from readInput means nothing
there, but there might be later. 0 means death.
Diffstat (limited to 'src/connection.cpp')
-rw-r--r--src/connection.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/connection.cpp b/src/connection.cpp
index d66ff97..3d3c094 100644
--- a/src/connection.cpp
+++ b/src/connection.cpp
@@ -10,6 +10,7 @@
10#include <netinet/in.h> 10#include <netinet/in.h>
11#include <netdb.h> 11#include <netdb.h>
12#include <arpa/inet.h> 12#include <arpa/inet.h>
13#include <errno.h>
13#include "exceptions.h" 14#include "exceptions.h"
14 15
15Connection::Connection() 16Connection::Connection()
@@ -208,15 +209,16 @@ int Connection::readInput()
208 //memset( buffer, 0, 2048 ); 209 //memset( buffer, 0, 2048 );
209 210
210 nbytes = read( nSocket, buffer, 2048 ); 211 nbytes = read( nSocket, buffer, 2048 );
211 if (nbytes < 0) 212 if( nbytes < 0 && errno != 0 && errno != EAGAIN )
212 { 213 {
214 printf("errno: %d, %s\n", errno, strerror( errno ) );
213 /* Read error. */ 215 /* Read error. */
214 //perror("readInput"); 216 //perror("readInput");
215 throw ConnectionException( excodeReadError, "Read error"); 217 throw ConnectionException( excodeReadError, "Read error: %s", strerror( errno ) );
216 } 218 }
217 else 219 else
218 { 220 {
219 if( nbytes == 0 ) 221 if( nbytes <= 0 )
220 break; 222 break;
221 nTotalRead += nbytes; 223 nTotalRead += nbytes;
222 appendInput( buffer, nbytes ); 224 appendInput( buffer, nbytes );