This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.27.9000-293-g9185f86


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  9185f86d8ffb37defdbea6ef616338106de6c2c8 (commit)
      from  b07367bcf8ef92ab746c70258a17d386083a274e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=9185f86d8ffb37defdbea6ef616338106de6c2c8

commit 9185f86d8ffb37defdbea6ef616338106de6c2c8
Author: Zack Weinberg <zackw@panix.com>
Date:   Wed Apr 4 12:37:23 2018 -0400

    Make sysdeps/generic/internal-signals.h less stubby.
    
    Three of the functions defined by internal-signals.h were not actually
    fulfilling their contracts when the sysdeps/generic version of that
    file was used.  Also, the Linux version included several more headers
    than the generic version, which is the root cause of a build failure
    on Hurd (already addressed in another way, but I think it is proper to
    make the headers match).
    
    	* sysdeps/generic/internal-signals.h: Include signal.h,
    	sigsetops.h, and stdbool.h.
    	(__libc_signal_block_all): Actually block all signals.
    	(__libc_signal_block_app): Likewise.
    	(__libc_signal_restore_set): Actually restore the signal mask.

diff --git a/ChangeLog b/ChangeLog
index 663e80c..43e0d6b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2018-04-04  Zack Weinberg  <zackw@panix.com>
+
+	* sysdeps/generic/internal-signals.h: Include signal.h,
+	sigsetops.h, and stdbool.h.
+	(__libc_signal_block_all): Actually block all signals.
+	(__libc_signal_block_app): Likewise.
+	(__libc_signal_restore_set): Actually restore the signal mask.
+
 2018-04-04  Florian Weimer  <fweimer@redhat.com>
 
 	inet: Actually build and run tst-deadline.
diff --git a/sysdeps/generic/internal-signals.h b/sysdeps/generic/internal-signals.h
index 17ed48c..5282cff 100644
--- a/sysdeps/generic/internal-signals.h
+++ b/sysdeps/generic/internal-signals.h
@@ -19,6 +19,10 @@
 #ifndef __INTERNAL_SIGNALS_H
 # define __INTERNAL_SIGNALS_H
 
+#include <signal.h>
+#include <sigsetops.h>
+#include <stdbool.h>
+
 static inline bool
 __is_internal_signal (int sig)
 {
@@ -33,20 +37,25 @@ __clear_internal_signals (sigset_t *set)
 static inline int
 __libc_signal_block_all (sigset_t *set)
 {
-  return 0;
+  sigset_t allset;
+  __sigfillset (&allset);
+  return __sigprocmask (SIG_BLOCK, &allset, set);
 }
 
 static inline int
 __libc_signal_block_app (sigset_t *set)
 {
-  return 0;
+  sigset_t allset;
+  __sigfillset (&allset);
+  __clear_internal_signals (&allset);
+  return __sigprocmask (SIG_BLOCK, &allset, set);
 }
 
 /* Restore current process signal mask.  */
 static inline int
 __libc_signal_restore_set (const sigset_t *set)
 {
-  return 0;
+  return __sigprocmask (SIG_SETMASK, set, NULL);
 }
 
 

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                          |    8 ++++++++
 sysdeps/generic/internal-signals.h |   15 ++++++++++++---
 2 files changed, 20 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]