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.26-104-gbbf5c43


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  bbf5c4388acdd83fe651c82c6af5e1958202101f (commit)
      from  6014c65de2ac75ac4ef147754d80c7992f07ece8 (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=bbf5c4388acdd83fe651c82c6af5e1958202101f

commit bbf5c4388acdd83fe651c82c6af5e1958202101f
Author: Florian Weimer <fweimer@redhat.com>
Date:   Tue Aug 15 17:28:37 2017 +0200

    aio: Remove support for BROKEN_THREAD_SIGNALS
    
    This was originally added to support LinuxThreads and is not needed for
    NPTL.

diff --git a/ChangeLog b/ChangeLog
index 2047e4e..fdea6b6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
 2017-08-15  Florian Weimer  <fweimer@redhat.com>
 
+	Remove BROKEN_THREAD_SIGNALS support for LinuxThreads.
+	* sysdeps/pthread/aio_misc.c (__aio_enqueue_request): Remove
+	BROKEN_THREAD_SIGNALS code.
+	* sysdeps/ppthread/aio_misc.h (struct waitlist, struct
+	request_list): Remove caller_pid member used for
+	BROKEN_THREAD_SIGNALS.
+	[BROKEN_THREAD_SIGNALS] (__aio_notify_only): Remove declaration.
+	* sysdeps/pthread/aio_notify.c (__aio_notify_only, __aio_notify):
+	Remove BROKEN_THREAD_SIGNALS support.
+	* sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise.
+	* sysdeps/pthread/lio_listio.c (lio_listio_internal): Likewise.
+
+2017-08-15  Florian Weimer  <fweimer@redhat.com>
+
 	* gmon/Makefile (tests): Add tst-gmon.
 	(CFLAGS-tst-gmon.c, LDFLAGS-tst-gmon, CRT-tst-gmon, tst-gmon-ENV):
 	Set.
diff --git a/sysdeps/pthread/aio_misc.c b/sysdeps/pthread/aio_misc.c
index 98fdc66..511a097 100644
--- a/sysdeps/pthread/aio_misc.c
+++ b/sysdeps/pthread/aio_misc.c
@@ -350,10 +350,6 @@ __aio_enqueue_request (aiocb_union *aiocbp, int operation)
       return NULL;
     }
   newp->aiocbp = aiocbp;
-#ifdef BROKEN_THREAD_SIGNALS
-  newp->caller_pid = (aiocbp->aiocb.aio_sigevent.sigev_notify == SIGEV_SIGNAL
-		      ? getpid () : 0);
-#endif
   newp->waiting = NULL;
 
   aiocbp->aiocb.__abs_prio = prio;
diff --git a/sysdeps/pthread/aio_misc.h b/sysdeps/pthread/aio_misc.h
index 3315d82..6e9e06f 100644
--- a/sysdeps/pthread/aio_misc.h
+++ b/sysdeps/pthread/aio_misc.h
@@ -54,11 +54,6 @@ struct waitlist
     volatile unsigned int *counterp;
     /* The next field is used in asynchronous `lio_listio' operations.  */
     struct sigevent *sigevp;
-#ifdef BROKEN_THREAD_SIGNALS
-    /* XXX See requestlist, it's used to work around the broken signal
-       handling in Linux.  */
-    pid_t caller_pid;
-#endif
   };
 
 
@@ -86,12 +81,6 @@ struct requestlist
     /* Pointer to the actual data.  */
     aiocb_union *aiocbp;
 
-#ifdef BROKEN_THREAD_SIGNALS
-    /* PID of the initiator thread.
-       XXX This is only necessary for the broken signal handling on Linux.  */
-    pid_t caller_pid;
-#endif
-
     /* List of waiting processes.  */
     struct waitlist *waiting;
   };
@@ -128,13 +117,8 @@ extern void __aio_notify (struct requestlist *req)
      attribute_hidden internal_function;
 
 /* Notify initiator of request.  */
-#ifdef BROKEN_THREAD_SIGNALS
-extern int __aio_notify_only (struct sigevent *sigev, pid_t caller_pid)
-     attribute_hidden internal_function;
-#else
 extern int __aio_notify_only (struct sigevent *sigev)
      attribute_hidden internal_function;
-#endif
 
 /* Send the signal.  */
 extern int __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid)
diff --git a/sysdeps/pthread/aio_notify.c b/sysdeps/pthread/aio_notify.c
index 03f4e00..19a4729 100644
--- a/sysdeps/pthread/aio_notify.c
+++ b/sysdeps/pthread/aio_notify.c
@@ -49,11 +49,7 @@ notify_func_wrapper (void *arg)
 
 int
 internal_function
-#ifdef BROKEN_THREAD_SIGNALS
-__aio_notify_only (struct sigevent *sigev, pid_t caller_pid)
-#else
 __aio_notify_only (struct sigevent *sigev)
-#endif
 {
   int result = 0;
 
@@ -99,15 +95,9 @@ __aio_notify_only (struct sigevent *sigev)
 #if _POSIX_REALTIME_SIGNALS > 0
       /* Note that the standard gives us the option of using a plain
 	 non-queuing signal here when SA_SIGINFO is not set for the signal.  */
-# ifdef BROKEN_THREAD_SIGNALS
-      if (__aio_sigqueue (sigev->sigev_signo, sigev->sigev_value, caller_pid)
-	  < 0)
-	result = -1;
-# else
       if (__aio_sigqueue (sigev->sigev_signo, sigev->sigev_value, getpid ())
 	  < 0)
 	result = -1;
-# endif
 #else
       /* There are no queued signals on this system at all.  */
       result = raise (sigev->sigev_signo);
@@ -125,11 +115,7 @@ __aio_notify (struct requestlist *req)
   struct waitlist *waitlist;
   struct aiocb *aiocbp = &req->aiocbp->aiocb;
 
-#ifdef BROKEN_THREAD_SIGNALS
-  if (__aio_notify_only (&aiocbp->aio_sigevent, req->caller_pid) != 0)
-#else
   if (__aio_notify_only (&aiocbp->aio_sigevent) != 0)
-#endif
     {
       /* XXX What shall we do if already an error is set by
 	 read/write/fsync?  */
@@ -162,11 +148,7 @@ __aio_notify (struct requestlist *req)
 	   this request is the last one, send the signal.  */
 	if (--*waitlist->counterp == 0)
 	  {
-#ifdef BROKEN_THREAD_SIGNALS
-	    __aio_notify_only (waitlist->sigevp, waitlist->caller_pid);
-#else
 	    __aio_notify_only (waitlist->sigevp);
-#endif
 	    /* This is tricky.  See lio_listio.c for the reason why
 	       this works.  */
 	    free ((void *) waitlist->counterp);
diff --git a/sysdeps/pthread/aio_suspend.c b/sysdeps/pthread/aio_suspend.c
index c739285..529b0d7 100644
--- a/sysdeps/pthread/aio_suspend.c
+++ b/sysdeps/pthread/aio_suspend.c
@@ -145,9 +145,6 @@ aio_suspend (const struct aiocb *const list[], int nent,
 		waitlist[cnt].next = requestlist[cnt]->waiting;
 		waitlist[cnt].counterp = &cntr;
 		waitlist[cnt].sigevp = NULL;
-#ifdef BROKEN_THREAD_SIGNALS
-		waitlist[cnt].caller_pid = 0;	/* Not needed.  */
-#endif
 		requestlist[cnt]->waiting = &waitlist[cnt];
 		any = true;
 	      }
diff --git a/sysdeps/pthread/lio_listio.c b/sysdeps/pthread/lio_listio.c
index e30858a..e9d3f38 100644
--- a/sysdeps/pthread/lio_listio.c
+++ b/sysdeps/pthread/lio_listio.c
@@ -107,14 +107,7 @@ lio_listio_internal (int mode, struct aiocb *const list[], int nent,
       pthread_mutex_unlock (&__aio_requests_mutex);
 
       if (LIO_MODE (mode) == LIO_NOWAIT)
-	{
-#ifdef BROKEN_THREAD_SIGNALS
-	__aio_notify_only (sig,
-			   sig->sigev_notify == SIGEV_SIGNAL ? getpid () : 0);
-#else
 	__aio_notify_only (sig);
-#endif
-	}
 
       return result;
     }
@@ -140,9 +133,6 @@ lio_listio_internal (int mode, struct aiocb *const list[], int nent,
 	      waitlist[cnt].next = requests[cnt]->waiting;
 	      waitlist[cnt].counterp = &total;
 	      waitlist[cnt].sigevp = NULL;
-#ifdef BROKEN_THREAD_SIGNALS
-	      waitlist[cnt].caller_pid = 0;	/* Not needed.  */
-#endif
 	      requests[cnt]->waiting = &waitlist[cnt];
 	      ++total;
 	    }
@@ -190,9 +180,6 @@ lio_listio_internal (int mode, struct aiocb *const list[], int nent,
 	}
       else
 	{
-#ifdef BROKEN_THREAD_SIGNALS
-	  pid_t caller_pid = sig->sigev_notify == SIGEV_SIGNAL ? getpid () : 0;
-#endif
 	  total = 0;
 
 	  for (cnt = 0; cnt < nent; ++cnt)
@@ -209,9 +196,6 @@ lio_listio_internal (int mode, struct aiocb *const list[], int nent,
 		  waitlist->list[cnt].next = requests[cnt]->waiting;
 		  waitlist->list[cnt].counterp = &waitlist->counter;
 		  waitlist->list[cnt].sigevp = &waitlist->sigev;
-#ifdef BROKEN_THREAD_SIGNALS
-		  waitlist->list[cnt].caller_pid = caller_pid;
-#endif
 		  requests[cnt]->waiting = &waitlist->list[cnt];
 		  ++total;
 		}

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

Summary of changes:
 ChangeLog                     |   14 ++++++++++++++
 sysdeps/pthread/aio_misc.c    |    4 ----
 sysdeps/pthread/aio_misc.h    |   16 ----------------
 sysdeps/pthread/aio_notify.c  |   18 ------------------
 sysdeps/pthread/aio_suspend.c |    3 ---
 sysdeps/pthread/lio_listio.c  |   16 ----------------
 6 files changed, 14 insertions(+), 57 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]