]> Kevux Git Server - fll/commitdiff
Bugfix: closing the before at the end of the program can cause output pipe never...
authorKevin Day <thekevinday@gmail.com>
Mon, 14 Dec 2020 01:44:59 +0000 (19:44 -0600)
committerKevin Day <thekevinday@gmail.com>
Mon, 14 Dec 2020 01:44:59 +0000 (19:44 -0600)
Make sure that the output pipes (output buffers) are flushed before closing.

19 files changed:
level_3/byte_dump/c/main.c
level_3/control/c/main.c
level_3/controller/c/main.c
level_3/fake/c/main.c
level_3/fss_basic_list_read/c/main.c
level_3/fss_basic_list_write/c/main.c
level_3/fss_basic_read/c/main.c
level_3/fss_basic_write/c/main.c
level_3/fss_embedded_list_read/c/main.c
level_3/fss_embedded_list_write/c/main.c
level_3/fss_extended_list_read/c/main.c
level_3/fss_extended_list_write/c/main.c
level_3/fss_extended_read/c/main.c
level_3/fss_extended_write/c/main.c
level_3/fss_status_code/c/main.c
level_3/iki_read/c/main.c
level_3/iki_write/c/main.c
level_3/init/c/main.c
level_3/status_code/c/main.c

index 1714422..3d6d910 100644 (file)
@@ -10,6 +10,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = byte_dump_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index b0da32a..956ba14 100644 (file)
@@ -10,6 +10,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = control_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index d9cde60..9a5eef3 100644 (file)
@@ -12,6 +12,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = controller_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index bf9a47e..1091ef4 100644 (file)
@@ -45,6 +45,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   f_signal_close(&data.signal);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index c7119c8..aed5e66 100644 (file)
@@ -10,6 +10,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = fss_basic_list_read_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index 8821ae6..7d8ed20 100644 (file)
@@ -10,6 +10,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = fss_basic_list_write_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index 525f9a8..d6a5479 100644 (file)
@@ -10,6 +10,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = fss_basic_read_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index 3e3b56b..f425c45 100644 (file)
@@ -10,6 +10,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = fss_basic_write_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index 7cd347c..5e459fb 100644 (file)
@@ -10,6 +10,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = fss_embedded_list_read_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index d194dfb..8847680 100644 (file)
@@ -10,6 +10,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = fss_embedded_list_write_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index c1d0383..6d750b2 100644 (file)
@@ -10,6 +10,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = fss_extended_list_read_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index d543498..bb11a76 100644 (file)
@@ -10,6 +10,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = fss_extended_list_write_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index d9c3ea9..d4bf3e5 100644 (file)
@@ -10,6 +10,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = fss_extended_read_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index 4eee1d6..fbadc6e 100644 (file)
@@ -10,6 +10,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = fss_extended_write_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index a668c81..1880cb0 100644 (file)
@@ -10,6 +10,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = fss_status_code_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index 0a7f6b4..2b91ba5 100644 (file)
@@ -10,6 +10,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = iki_read_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index 08a68b7..b1614de 100644 (file)
@@ -10,6 +10,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = iki_write_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index cd1282b..d10b1a0 100644 (file)
@@ -28,6 +28,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   f_signal_close(&data.signal);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);
index 1126a88..0dd8145 100644 (file)
@@ -10,6 +10,10 @@ int main(const unsigned long argc, const f_string_t *argv) {
 
   const f_status_t status = status_code_main(arguments, &data);
 
+  // flush output pipes before closing.
+  fflush(f_type_output);
+  fflush(f_type_error);
+
   // close all open file descriptors.
   close(f_type_descriptor_output);
   close(f_type_descriptor_input);