]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Pull request #4457: Extractor: flush data
authorOleksii Shumeiko -X (oshumeik - SOFTSERVE INC at Cisco) <oshumeik@cisco.com>
Tue, 24 Sep 2024 15:00:27 +0000 (15:00 +0000)
committerOleksii Shumeiko -X (oshumeik - SOFTSERVE INC at Cisco) <oshumeik@cisco.com>
Tue, 24 Sep 2024 15:00:27 +0000 (15:00 +0000)
Merge in SNORT/snort3 from ~OSHUMEIK/snort3:extr_flush to master

Squashed commit of the following:

commit f454e0e1f24ebffafc4a62b00d906c7bc4511f98
Author: Oleksii Shumeiko <oshumeik@cisco.com>
Date:   Tue Sep 24 11:58:19 2024 +0300

    extractor: flush data on unlocking a writer

src/network_inspectors/extractor/extractor_writer.cc
src/network_inspectors/extractor/extractor_writer.h

index 2e642f29b72d31aad040fc2bdaceab176309f81a..4f9da48c974e55dc15954ea82e97d7dac184e507 100644 (file)
@@ -60,6 +60,17 @@ void StdExtractorWriter::write(uint64_t n)
     TextLog_Print(extr_std_log, STDu64, n);
 }
 
+void StdExtractorWriter::lock()
+{
+    write_mutex.lock();
+}
+
+void StdExtractorWriter::unlock()
+{
+    TextLog_Flush(extr_std_log); // FIXIT-L: should be a part of API and have a well-defined point in the pipeline
+    write_mutex.unlock();
+}
+
 #ifdef UNIT_TEST
 
 #include "catch/snort_catch.h"
index d2abfac0d25ef09a424c6237089eac662ba8ad9b..6b234b19aa319095e70673656be054763e596322 100644 (file)
@@ -88,12 +88,8 @@ public:
     void write(const char* ss) override;
     void write(const char* ss, size_t len) override;
     void write(uint64_t n) override;
-
-    void lock() override
-    { write_mutex.lock(); }
-
-    void unlock() override
-    { write_mutex.unlock(); }
+    void lock() override;
+    void unlock() override;
 
 private:
     std::mutex write_mutex;