Make sure to always delete the remote serializer.

There were two problems actually: the iomanager wasn't properly
deleting sourcesl; and in some situations, the remote serialize wasn't
registered with it to begin with.

Addresses BIT-1306 and probably also BIT-1356.
This commit is contained in:
Robin Sommer 2015-04-10 17:27:28 -07:00
parent 1132470b05
commit 0620bc970a
5 changed files with 36 additions and 4 deletions

View file

@ -29,7 +29,9 @@ public:
~Manager();
/**
* Registers an IOSource with the manager.
* Registers an IOSource with the manager. If the source is already
* registered, the method will update its *dont_count* value but not
* do anything else.
*
* @param src The source. The manager takes ownership.
*
@ -117,6 +119,7 @@ private:
FD_Set fd_read;
FD_Set fd_write;
FD_Set fd_except;
bool dont_count;
bool Ready(fd_set* read, fd_set* write, fd_set* except) const
{ return fd_read.Ready(read) || fd_write.Ready(write) ||