1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-12-24 17:51:17 +03:00
2003-08-13  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/syscalls.list: Add time syscall.

	* elf/Makefile: Use LC_ALL=C in a few cases where we call external
	text processing tools.

	* sysdeps/pthread/aio_misc.h (struct waitlist): Don't add caller_pid
	element unless BROKEN_THREAD_SIGNALS is defined.
	(struct requestlist): Likewise.
	* sysdeps/pthread/aio_misc.c (__aio_enqueue_request): Don't fill in
	caller_pid of new request unless BROKEN_THREAD_SIGNALS is defined.
	* sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise.
	* sysdeps/pthread/aio_notify.c (__aio_notify_only): Remove caller_pid
	parameter unless BROKEN_THREAD_SIGNALS is defined.  Adjust callers.
	Pass current PID to __aio_sigqueue.
	* sysdeps/pthread/lio_listio.c (lio_listio): Adjust __aio_notify_only
	call.  Don't initialize caller_pid field of waitlist element.
This commit is contained in:
Ulrich Drepper
2003-08-14 00:14:43 +00:00
parent bbdef797ba
commit b61c8aba80
12 changed files with 83 additions and 11 deletions

View File

@@ -50,9 +50,11 @@ struct waitlist
volatile 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
};
@@ -80,9 +82,11 @@ 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;
@@ -120,8 +124,13 @@ 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)