diff options
author | Mike Buland <eichlan@xagasoft.com> | 2006-09-26 19:53:41 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2006-09-26 19:53:41 +0000 |
commit | 4a2cacc7975b635b32c7cd7c6ac274639477ed8c (patch) | |
tree | ac95ac3855ce5df7c7ddbd231107e5ae84143deb /src/connection.cpp | |
parent | 25ba18d85897e69cafcf2e2f4772ec693d46c9a0 (diff) | |
download | libbu++-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.cpp | 8 |
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 | ||
15 | Connection::Connection() | 16 | Connection::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 ); |