EventClient: when we find out the FD is dead, clean up appropriately.
authorWilfried Goesgens <dothebart@citadel.org>
Thu, 19 Jan 2012 21:24:30 +0000 (22:24 +0100)
committerWilfried Goesgens <dothebart@citadel.org>
Thu, 19 Jan 2012 21:24:30 +0000 (22:24 +0100)
citadel/event_client.c

index 5a32cea9bca45878d533fe68cb1cec7f68700147..99f71151e6351b4b16457e125cfc0d8536396781 100644 (file)
@@ -684,7 +684,8 @@ IO_recv_callback(struct ev_loop *loop, ev_io *watcher, int revents)
                }
                return;
        } else if (nbytes == -1) {
-/// TODO: FD is gone. kick it.        sock_buff_invoke_free(sb, errno);
+               // FD is gone. kick it. 
+               StopClientWatchers(IO);
                EV_syslog(LOG_DEBUG,
                          "EVENT: Socket Invalid! %s \n",
                          strerror(errno));