Bugfixes.

- Data queued at termination wasn't written out completely.

    - Fixed some race conditions.

    - Fixing IOSource integration.

    - Fixing setting thread names on Linux.

    - Fixing minor leaks.

All tests now pass for me on Linux in debug and non-debug compiles.

Remaining TODOs:

        - Needs leak check.

        - Test on MacOS and FreeBSD.

        - More testing:
            - High volume traffic.
            - Different platforms.
This commit is contained in:
Robin Sommer 2012-02-12 09:41:43 -08:00
parent abb506ec63
commit b8ec653ebf
12 changed files with 100 additions and 30 deletions

View file

@ -184,7 +184,10 @@ protected:
* This is method is called regularly by the threading::Manager.
*
* Can be overriden in derived classed to hook into the heart beat,
* but must call the parent implementation.
* but must call the parent implementation. Note that this method is
* always called by the main thread and must not access data of the
* child thread directly. See DoHeartbeat() if you want to do
* something on the child-side.
*/
virtual void Heartbeat();
@ -206,7 +209,7 @@ protected:
* current_time: Wall clock when the heartbeat was trigger by the
* main thread.
*/
virtual bool DoHeartbeat(double network_time, double current_time) { return true; }
virtual bool DoHeartbeat(double network_time, double current_time);
private:
/**