[PATCH] sysdeps/wait: Use the waitid syscall if required
Alistair Francis
alistair23@gmail.com
Tue Oct 22 22:30:00 GMT 2019
On Wed, Oct 16, 2019 at 11:36 AM Dmitry V. Levin <ldv@altlinux.org> wrote:
>
> On Wed, Oct 16, 2019 at 11:17:47AM -0700, Alistair Francis wrote:
> > On Wed, Oct 16, 2019 at 10:35 AM Dmitry V. Levin wrote:
> > > On Wed, Oct 16, 2019 at 08:54:08AM -0700, Alistair Francis wrote:
> > > > On Sat, Oct 12, 2019 at 5:24 AM Dmitry V. Levin wrote:
> > > > > On Wed, Sep 25, 2019 at 03:55:14PM -0700, Alistair Francis wrote:
> > > > > > If the waitpid and wait4 syscalls aren't avaliable (such as y2038 safe
> > > > > > 32-bit systems) let us use the waitid syscall isntead.
> > > > > >
> > > > > > Unfortunately waitid is substantially differnt to waitpid and wait4, so
> > > > > > the conversion ends up being complex.
> > > > > >
> > > > > > For full support we need the 5.4+ kernel as that allows a pid of 0 with
> > > > > > the P_PGID idtype.
> > > > > >
> > > > > > 2019-09-16 Alistair Francis <alistair.francis@wdc.com>
> > > > > >
> > > > > > * sysdeps/unix/sysv/linux/wait.c: Use the waitid syscall if required.
> > > > > > * sysdeps/unix/sysv/linux/waitpid.c: Likewise.
> > > > > > * sysdeps/unix/sysv/linux/waitpid_nocancel.c: Likewise.
> > > > >
> > > > > If wait4 is not available, shouldn't it be emulated as well as waitpid?
> > > >
> > > > Yes, it is by the changed in wait.c.
> > >
> > > This change of wait.c affects __libc_wait only, I don't see how it makes
> > > wait4 emulated.
> >
> > I'm not clear on what you mean. Do you mean the direct syscall from
> > sysdeps/unix/sysv/linux/syscalls.list?
>
> Yes, I mean that since wait4(3) cannot be implemented as a direct syscall
> on this architecture, this function has to be emulated.
I'm still a little lost here.
How would I do this? The only option I can see is for RISC-V to have
it's own syscall.list that removes the wait4 call. Is there a better
way to override these?
Alistair
>
>
> --
> ldv
More information about the Libc-alpha
mailing list