[PATCH] sysdeps/wait: Use the waitid syscall if required

Dmitry V. Levin ldv@altlinux.org
Wed Oct 16 18:36:00 GMT 2019


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.


-- 
ldv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20191016/d5d62143/attachment.sig>


More information about the Libc-alpha mailing list