1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00
1999-08-15  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/aio_sigqueue.c: Take extra parameter and
	initialize si_pid from it.
	* sysdeps/generic/aio_sigqueue.c (__aio_sigqueue): Take extra
	parameter.
	* rt/aio_misc.c (__aio_enqueue_request): Initialize caller_pid.
	* rt/aio_misc.h (struct waitlist): Add caller_pid element.
	(struct requestlist): Likewise.
	Adjust prototypes of __aio_notify_only and __aio_sigqueue.
	* rt/notify.c (__aio_notify_only): Take extra parameter.  Pass it
	to __aio_sigqueue.
	(__aio_notify): Pass caller PID to __aio_notify_only.
	* rt/aio_suspend.c: Initialize caller_pid.
	* rt/lio_listio.c: Likewise.
	* rt/lio_listio64.c: Likewise.

	* rt/lio_listio.c: If nothing has to be done free mutex before
	signalling.
	* rt/lio_listio64.c: Likewise.
This commit is contained in:
Ulrich Drepper
1999-08-15 18:14:36 +00:00
parent 0cc70fcf82
commit 3a9eb648bb
9 changed files with 79 additions and 18 deletions

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -32,9 +32,10 @@ extern int __syscall_rt_sigqueueinfo (int, int, siginfo_t *);
/* Return any pending signal or wait for one for the given time. */
int
__aio_sigqueue (sig, val)
__aio_sigqueue (sig, val, caller_pid)
int sig;
const union sigval val;
pid_t caller_pid;
{
siginfo_t info;
@ -42,7 +43,7 @@ __aio_sigqueue (sig, val)
info.si_signo = sig;
info.si_errno = 0;
info.si_code = SI_ASYNCIO;
info.si_pid = getpid ();
info.si_pid = caller_pid;
info.si_uid = getuid ();
info.si_value = val;