diff options
-rw-r--r-- | src/server.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/server.cpp b/src/server.cpp index 36d9d6c..e55713d 100644 --- a/src/server.cpp +++ b/src/server.cpp | |||
@@ -96,7 +96,17 @@ void Bu::Server::scan() | |||
96 | try | 96 | try |
97 | { | 97 | { |
98 | Client *pClient = hClients.get( j ); | 98 | Client *pClient = hClients.get( j ); |
99 | pClient->processOutput(); | 99 | try |
100 | { | ||
101 | pClient->processOutput(); | ||
102 | } | ||
103 | catch( Bu::SocketException &e ) | ||
104 | { | ||
105 | onClosedConnection( pClient ); | ||
106 | pClient->close(); | ||
107 | hClients.erase( j ); | ||
108 | FD_CLR( j, &fdActive ); | ||
109 | } | ||
100 | } | 110 | } |
101 | catch( Bu::HashException &e ) | 111 | catch( Bu::HashException &e ) |
102 | { | 112 | { |