]> Kevux Git Server - fll/commitdiff
Update: Do not treat interrupt not being listened to as an error.
authorKevin Day <thekevinday@gmail.com>
Sun, 25 Dec 2022 01:31:32 +0000 (19:31 -0600)
committerKevin Day <thekevinday@gmail.com>
Sun, 25 Dec 2022 01:31:32 +0000 (19:31 -0600)
When the interrupt is received and the interrupt is not in the designated set then an error is being returned.
Change this behavior to return a non-error status.

level_0/f_signal/c/signal.c
level_0/f_signal/c/signal.h

index 86e28360acdfbd0cb09186937dacb85360e7e204..155ac83279881e9e2aafa77193d86b34a2eb2f15 100644 (file)
@@ -293,7 +293,7 @@ extern "C" {
   f_status_t f_signal_wait(const sigset_t * const set, siginfo_t * const information) {
 
     if (sigwaitinfo(set, information) == -1) {
-      if (errno == EINTR) return F_status_set_error(F_interrupt);
+      if (errno == EINTR) return F_interrupt;
       if (errno == EINVAL) return F_status_set_error(F_parameter);
 
       return F_status_set_error(F_failure);
@@ -308,7 +308,7 @@ extern "C" {
 
     if (sigtimedwait(set, information, timeout) == -1) {
       if (errno == EAGAIN) return F_time_out;
-      if (errno == EINTR) return F_status_set_error(F_interrupt);
+      if (errno == EINTR) return F_interrupt;
       if (errno == EINVAL) return F_status_set_error(F_parameter);
 
       return F_status_set_error(F_failure);
index feafbceae02bb21b551b536aefd48ae8e7e05b64..f78a97b9f29da01b9cf701123cd85f0657f803b1 100644 (file)
@@ -367,8 +367,8 @@ extern "C" {
  *
  * @return
  *   F_none if signal is found.
+ *   F_interrupt if interrupted by a signal other than one specified in the signal set.
  *
- *   F_interrupt (with error bit) if interrupted by a signal other than one specified in the signal set.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  *   F_failure (with error bit) for any other error.
@@ -392,9 +392,9 @@ extern "C" {
  *
  * @return
  *   F_none if signal is found before time out.
+ *   F_interrupt if interrupted by a signal other than one specified in the signal set.
  *   F_time_out if no signal is find by the time out.
  *
- *   F_interrupt (with error bit) if interrupted by a signal other than one specified in the signal set.
  *   F_parameter (with error bit) if a parameter is invalid.
  *
  *   F_failure (with error bit) for any other error.