Merge remote-tracking branch 'origin/fastpath'

* origin/fastpath:
  (hopefully) fix mutex lock problem.
This commit is contained in:
Robin Sommer 2013-05-17 15:58:07 -07:00
commit 1d28136d12
4 changed files with 7 additions and 15 deletions

View file

@ -1,4 +1,8 @@
2.1-656 | 2013-05-17 15:58:07 -0700
* Fix mutex lock problem for writers. (Bernhard Amann)
2.1-654 | 2013-05-17 13:49:52 -0700 2.1-654 | 2013-05-17 13:49:52 -0700
* Tweaks to sqlite3 configuration to address threading issues. * Tweaks to sqlite3 configuration to address threading issues.

View file

@ -1 +1 @@
2.1-654 2.1-656

View file

@ -1271,9 +1271,8 @@ bool Manager::Flush(EnumVal* id)
return true; return true;
} }
void Manager::FlushBuffers() void Manager::Terminate()
{ {
// Flush out cached entries in Frontend
for ( vector<Stream *>::iterator s = streams.begin(); s != streams.end(); ++s ) for ( vector<Stream *>::iterator s = streams.begin(); s != streams.end(); ++s )
{ {
if ( ! *s ) if ( ! *s )
@ -1281,15 +1280,10 @@ void Manager::FlushBuffers()
for ( Stream::WriterMap::iterator i = (*s)->writers.begin(); for ( Stream::WriterMap::iterator i = (*s)->writers.begin();
i != (*s)->writers.end(); i++ ) i != (*s)->writers.end(); i++ )
i->second->writer->FlushWriteBuffer(); i->second->writer->Stop();
} }
} }
void Manager::Terminate()
{
FlushBuffers();
}
// Timer which on dispatching rotates the filter. // Timer which on dispatching rotates the filter.
class RotationTimer : public Timer { class RotationTimer : public Timer {
public: public:

View file

@ -149,12 +149,6 @@ public:
*/ */
bool Flush(EnumVal* id); bool Flush(EnumVal* id);
/**
* Flushes all buffers that are currently held by writer frontends
* out to the threads. Does not call the thread flush operation.
*/
void FlushBuffers();
/** /**
* Signals the manager to shutdown at Bro's termination. * Signals the manager to shutdown at Bro's termination.
*/ */