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

@ -1,4 +1,6 @@
#include "Net.h"
#include "WriterFrontend.h"
#include "WriterBackend.h"
@ -155,8 +157,8 @@ void WriterFrontend::Write(int num_fields, Value** vals)
write_buffer[write_buffer_pos++] = vals;
if ( write_buffer_pos >= WRITER_BUFFER_SIZE || ! buf )
// Buffer full (or no bufferin desired).
if ( write_buffer_pos >= WRITER_BUFFER_SIZE || ! buf || terminating )
// Buffer full (or no bufferin desired or termiating).
FlushWriteBuffer();
}