]> Kevux Git Server - fll/commitdiff
Bugfix: Signal id should be -1 the id should be passed to signalfd().
authorKevin Day <thekevinday@gmail.com>
Thu, 23 Dec 2021 03:07:15 +0000 (21:07 -0600)
committerKevin Day <thekevinday@gmail.com>
Thu, 23 Dec 2021 03:15:49 +0000 (21:15 -0600)
A file descriptor should be set to -1 and not 0.
The 0 file descriptor is actually valid.

The signalfd() program accepts an id.
It makes sense to pass this along rather than always forcing -1.

22 files changed:
level_0/f_signal/c/signal-common.h
level_0/f_signal/c/signal.c
level_0/f_signal/c/signal.h
level_3/byte_dump/c/private-common.c
level_3/control/c/private-common.c
level_3/fake/c/private-common.c
level_3/firewall/c/private-common.c
level_3/fss_basic_list_read/c/private-common.c
level_3/fss_basic_list_write/c/private-common.c
level_3/fss_basic_read/c/private-common.c
level_3/fss_basic_write/c/private-common.c
level_3/fss_embedded_list_read/c/private-common.c
level_3/fss_embedded_list_write/c/private-common.c
level_3/fss_extended_list_read/c/private-common.c
level_3/fss_extended_list_write/c/private-common.c
level_3/fss_extended_read/c/private-common.c
level_3/fss_extended_write/c/private-common.c
level_3/fss_identify/c/private-common.c
level_3/fss_status_code/c/private-common.c
level_3/iki_read/c/private-common.c
level_3/iki_write/c/private-common.c
level_3/status_code/c/private-common.c

index b9c8415..8d3d67d 100644 (file)
@@ -30,13 +30,13 @@ extern "C" {
     sigset_t set;
   } f_signal_t;
 
-  #define f_signal_t_initialize {0, 0, { 0 } }
+  #define f_signal_t_initialize {0, -1, { 0 } }
 
   #define macro_f_signal_t_initialize(flags, id, set) { flags, id, set }
 
   #define macro_f_signal_t_clear(signal) \
     signal.flags = 0; \
-    signal.id = 0; \
+    signal.id = -1; \
     signal.set[0] = 0;
 #endif // _di_f_signal_t_
 
index 0bdeb85..e2ffaaa 100644 (file)
@@ -35,7 +35,7 @@ extern "C" {
       if (!signal) return F_status_set_error(F_parameter);
     #endif // _di_level_0_parameter_checking_
 
-    int result = signalfd(-1, &signal->set, signal->flags);
+    const int result = signalfd(signal->id, &signal->set, signal->flags);
 
     if (result < 0) {
       if (errno == EINVAL) return F_status_set_error(F_parameter);
index c0563df..62580a2 100644 (file)
@@ -60,6 +60,9 @@ extern "C" {
  * @param signal
  *   The signal settings.
  *
+ *   If signal.id is -1, then a new file descriptor is created.
+ *   Otherwise, signal.id is used as the file descriptor.
+ *
  * @return
  *   F_none on success but no signal found.
  *   F_device (with error bit) if could not mount the internal inode device.
index 15a0a16..1c2bf8a 100644 (file)
@@ -26,7 +26,7 @@ extern "C" {
 #ifndef _di_byte_dump_signal_received_
   f_status_t byte_dump_signal_received(byte_dump_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index 92941da..a32fd1f 100644 (file)
@@ -26,7 +26,7 @@ extern "C" {
 #ifndef _di_control_signal_received_
   f_status_t control_signal_received(control_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index 3ac996e..4ed9784 100644 (file)
@@ -258,7 +258,7 @@ extern "C" {
 #ifndef _di_fake_signal_received_
   f_status_t fake_signal_received(fake_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index 07a4227..ee858fd 100644 (file)
@@ -96,7 +96,7 @@ void firewall_print_error_on_unhandled_for_file(const fl_print_t output, const f
 #ifndef _di_firewall_signal_received_
   f_status_t firewall_signal_received(firewall_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index aa8bfbb..14ddedd 100644 (file)
@@ -78,7 +78,7 @@ extern "C" {
 #ifndef _di_fss_basic_list_read_signal_received_
   f_status_t fss_basic_list_read_signal_received(fss_basic_list_read_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index 5cea228..bf46868 100644 (file)
@@ -26,7 +26,7 @@ extern "C" {
 #ifndef _di_fss_basic_list_write_signal_received_
   f_status_t fss_basic_list_write_signal_received(fss_basic_list_write_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index 26d9f3b..276e786 100644 (file)
@@ -77,7 +77,7 @@ extern "C" {
 #ifndef _di_fss_basic_read_signal_received_
   f_status_t fss_basic_read_signal_received(fss_basic_read_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index 66cad09..c253bdc 100644 (file)
@@ -26,7 +26,7 @@ extern "C" {
 #ifndef _di_fss_basic_write_signal_received_
   f_status_t fss_basic_write_signal_received(fss_basic_write_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index 68cb82a..3f211cd 100644 (file)
@@ -26,7 +26,7 @@ extern "C" {
 #ifndef _di_fss_embedded_list_read_signal_received_
   f_status_t fss_embedded_list_read_signal_received(fss_embedded_list_read_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index c90e4f9..edbc4bb 100644 (file)
@@ -26,7 +26,7 @@ extern "C" {
 #ifndef _di_fss_embedded_list_write_signal_received_
   f_status_t fss_embedded_list_write_signal_received(fss_embedded_list_write_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index 97e73b0..49ff1b5 100644 (file)
@@ -78,7 +78,7 @@ extern "C" {
 #ifndef _di_fss_extended_list_read_signal_received_
   f_status_t fss_extended_list_read_signal_received(fss_extended_list_read_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index af21cd3..b588c36 100644 (file)
@@ -26,7 +26,7 @@ extern "C" {
 #ifndef _di_fss_extended_list_write_signal_received_
   f_status_t fss_extended_list_write_signal_received(fss_extended_list_write_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index 65b7482..2ca7672 100644 (file)
@@ -79,7 +79,7 @@ extern "C" {
 #ifndef _di_fss_extended_read_signal_received_
   f_status_t fss_extended_read_signal_received(fss_extended_read_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index dd095ea..da04e4a 100644 (file)
@@ -26,7 +26,7 @@ extern "C" {
 #ifndef _di_fss_extended_write_signal_received_
   f_status_t fss_extended_write_signal_received(fss_extended_write_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index dcf1eaa..81a8d30 100644 (file)
@@ -35,7 +35,7 @@ extern "C" {
 #ifndef _di_fss_identify_signal_received_
   f_status_t fss_identify_signal_received(fss_identify_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index 3d12c1e..b1b0e67 100644 (file)
@@ -26,7 +26,7 @@ extern "C" {
 #ifndef _di_fss_status_code_signal_received_
   f_status_t fss_status_code_signal_received(fss_status_code_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index dd4af45..1a135e4 100644 (file)
@@ -26,7 +26,7 @@ extern "C" {
 #ifndef _di_iki_read_signal_received_
   f_status_t iki_read_signal_received(iki_read_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index 3eb1880..8083e83 100644 (file)
@@ -26,7 +26,7 @@ extern "C" {
 #ifndef _di_iki_write_signal_received_
   f_status_t iki_write_signal_received(iki_write_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }
 
index 132f650..55b9867 100644 (file)
@@ -26,7 +26,7 @@ extern "C" {
 #ifndef _di_status_code_signal_received_
   f_status_t status_code_signal_received(status_code_main_t * const main) {
 
-    if (!main->signal.id) {
+    if (main->signal.id == -1) {
       return F_false;
     }