[Bug 214871] Man(3) system outdated

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=214871

--- Comment #2 from zatrazz@xxxxxxxxx ---
On Sat, Oct 30, 2021 at 8:55 AM Alejandro Colomar (man-pages) <
alx.manpages@xxxxxxxxx> wrote:

> [CC += Glibc, Adhemerval]
>
> Hi Adhemerval,
>
> On 10/29/21 22:37, bugzilla-daemon@xxxxxxxxxxxxxxxxxxx wrote:
> > https://bugzilla.kernel.org/show_bug.cgi?id=214871
> >
> >              Bug ID: 214871
> >             Summary: Man(3) system outdated
> >             Product: Documentation
> >             Version: unspecified
> >            Hardware: All
> >                  OS: Linux
> >              Status: NEW
> >            Severity: normal
> >            Priority: P1
> >           Component: man-pages
> >            Assignee: documentation_man-pages@xxxxxxxxxxxxxxxxxxxx
> >            Reporter: mikekearney85@xxxxxxxxxxx
> >          Regression: No
> >
> > During my recent university work, I have noticed the man (3) page for
> system
> > (https://man7.org/linux/man-pages/man3/system.3.html) states:
> >
> > The system() library function uses fork(2) to create a child process that
> > executes the shell command specified in command using execl(3) as
> follows:
> > execl("/bin/sh", "sh", "-c", command, (char *) NULL);
> >
> > On reading the source code for system, this caused me some confusion.
> > Eventually I found a commit from 2018
> > (
>
> https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=5fb7fc96350575c9adb1316833e48ca11553be49
> ),
> > in which fork and exec were replaced by posix_spawn. The explains why I
> could
> > not aline the man page with the source code.
> >
>
> I was about to change that line to say that it works "as if" using
> fork(2) and execl(3), as POSIX says, but then, reading the page further,
> it talks about many implementation details that seem to relate to when
> glibc did actually use fork(2).  They may be outdated now, so I think
> it's better if someone from glibc that knows its current details reviews
> the full page and proposes changes.
>

Hi Alejandro,

Indeed we changed glibc to use posix_spawn on system and popen on  2.29
since
to use posix_spawn (which uses clone (CLONE_VFORK | CLONE_VM)).  It plays
way better with Linux memory subsystem than fork() + exec() specially when
such
calls are used with process with large RSS.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.



[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux