public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "luto at mit dot edu" <sourceware-bugzilla@sourceware.org>
To: glibc-bugs@sources.redhat.com
Subject: [Bug nptl/14499] New: Does posix_spawn invoke atfork handlers / use vfork?
Date: Mon, 20 Aug 2012 22:24:00 -0000	[thread overview]
Message-ID: <bug-14499-131@http.sourceware.org/bugzilla/> (raw)

http://sourceware.org/bugzilla/show_bug.cgi?id=14499

             Bug #: 14499
           Summary: Does posix_spawn invoke atfork handlers / use vfork?
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: nptl
        AssignedTo: unassigned@sourceware.org
        ReportedBy: luto@mit.edu
                CC: drepper.fsp@gmail.com
    Classification: Unclassified


The resolution of bug 378 indicates that glibc's (NPTL) posix_spawn calls
atfork handlers.  This means that posix_spawn can't use vfork (or fancy clone
options), which makes it slow.  (Note that, AFAICT, this behavior is not
documented anywhere, despite being implementation-specified.)

This was apparently true when bug 378 was closed, but it changed in commit
a9f43ef464f71b0d379524b2a6294092332c9a30.  The current behavior is bizarre. 
See the attached code, which invokes atfork handlers only on the second
posix_spawn call.

IMO the right fix is to never invoke atfork handlers (since presumably nothing
relies on them getting called, since they haven't been reliably called since
2005).  That way vfork can be used unconditionally, which is faster.

See also bug 10354, which does not have a resolution that I understand.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


             reply	other threads:[~2012-08-20 22:24 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-20 22:24 luto at mit dot edu [this message]
2012-08-20 22:28 ` [Bug nptl/14499] " luto at mit dot edu
2012-08-21 13:43 ` bugdal at aerifal dot cx
2014-06-17  5:57 ` fweimer at redhat dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-14499-131@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=glibc-bugs@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).