Browse Source

Add flush to all writes

Christoph Stelz 3 months ago
parent
commit
031b48f604
1 changed files with 4 additions and 0 deletions
  1. 4 0
      src/ipc_debug.cpp

+ 4 - 0
src/ipc_debug.cpp

@@ -98,6 +98,7 @@ inline void handle_assertion(bool assertion_status = true) {
     char res = assertion_status ? 1 : 0;
     if (debug_ipc_is_root) {
         fwrite(&res, 1, 1, debug_ipc_response_file);
+        fflush(debug_ipc_response_file);
     } else {
         fread(&res, 1, 1, debug_ipc_response_file);
     }
@@ -139,6 +140,7 @@ void debug_ipc_assert_equal(T value) {
         handle_assertion(other_value == value);
     } else {
         size_t written = fwrite(&value, expected_size, 1, debug_ipc_file);
+        fflush(debug_ipc_file);
 
         if (written != 1) {
             printf("[IPCDBG] Could not write enough bytes. Error: %s\n", strerror(errno));
@@ -183,6 +185,7 @@ void debug_ipc_assert_equal_vector(std::vector<T> value) {
         handle_assertion(items_equal);
     } else {
         fwrite(value.data(), 1, array_byte_length, debug_ipc_file);
+        fflush(debug_ipc_file);
         handle_assertion();
     }
 }
@@ -242,6 +245,7 @@ void debug_ipc_assert_equal_array(void *value, size_t size) {
         handle_assertion(items_equal);
     } else {
         size_t written = fwrite(value, 1, size, debug_ipc_file);
+        fflush(debug_ipc_file);
 
         if (written != size) {
             printf("[IPCDBG] Could not write enough bytes. Error: %s\n", strerror(errno));