diff options
Diffstat (limited to '')
| -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 | { |
