[bug #51400] SIGCHLD gets unblocked

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[bug #51400] SIGCHLD gets unblocked

Robert Morell
URL:
  <http://savannah.gnu.org/bugs/?51400>

                 Summary: SIGCHLD gets unblocked
                 Project: make
            Submitted by: kvho
            Submitted on: Thu 06 Jul 2017 11:29:48 AM CEST
                Severity: 3 - Normal
              Item Group: Bug
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
       Component Version: 4.2.1
        Operating System: POSIX-Based
           Fixed Release: None
           Triage Status: None

    _______________________________________________________

Details:

in main.c SIGCHLD is blocked.
in unblock_sigs in job.c, the signal is unblocked again.

solution:
diff --git a/src/job.c b/src/job.c
--- a/src/job.c
+++ b/src/job.c
@@ -1051,9 +1051,7 @@ block_sigs (void)
 void
 unblock_sigs (void)
 {
-  sigset_t empty;
-  sigemptyset (&empty);
-  sigprocmask (SIG_SETMASK, &empty, (sigset_t *) 0);
+  (void) sigprocmask (SIG_UNBLOCK, &fatal_signal_set, (sigset_t *) 0);
 }
 #endif





    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?51400>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/


_______________________________________________
Bug-make mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-make
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[bug #51400] SIGCHLD gets unblocked

Robert Morell
Update of bug #51400 (project make):

                  Status:                    None => Fixed                  
             Assigned to:                    None => psmith                
             Open/Closed:                    Open => Closed                
           Fixed Release:                    None => SCM                    
           Triage Status:                    None => Medium Effort          

    _______________________________________________________

Follow-up Comment #1:

Thanks for the report!

The change needs to be slightly more complicated, since there are some parts
of the code (after fork, in the child process) where we really do want to
unblock all signals.

The fix has been pushed to Git and will be available in the next release.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?51400>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/


_______________________________________________
Bug-make mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-make
Loading...