From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk1-x729.google.com (mail-qk1-x729.google.com [IPv6:2607:f8b0:4864:20::729]) by sourceware.org (Postfix) with ESMTPS id 183E2383B410 for ; Wed, 23 Jun 2021 18:44:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 183E2383B410 Received: by mail-qk1-x729.google.com with SMTP id i68so7817953qke.3 for ; Wed, 23 Jun 2021 11:44:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=e0qZAICaawTR1BWLvAoIEDACgjK2HpNglcBPTN5F4Ek=; b=QHRqDdQcR5UJxBicfKa5qfUo/o4zqlBeRhENsuAudWHGOs4FJr49hrQkJ1YenOMIsu Qt8Wdju+ThbVGvo/FxapOl/t7K6oQAWNqtKTA9Nh1iThs9ma01JcsoZ67o4gdLYcUdVQ lIEm0+DMuuC5CGx5syW0XSsgV2QHAimffegKbAE9odv7pEEmBPA6QYWVS7QiRttrFk7M +uJ+uBnc6VsFj1ZAZmYRb7emIa/rwAXOzMlkn36XDEnBa+Ad5A04rqYpqwPngG9kp6hS INK+ADagNoTQiqjEU5xLJmq8OFMTzDmjPfBXIiJ6xzxxipDNyaFbTErefOHgfi209Gci YWcQ== X-Gm-Message-State: AOAM532Hq/pvsoSIuTGQspnIwPhEnC9K5QUp5MJJ7Bf4GDuwhFGWtx5Z gkPbrCeQte5LIBdAGcqhvwV2qSKyn0/2Yg== X-Google-Smtp-Source: ABdhPJy7/Z2GF5dycO74UPs8VpAKqSDjOZJ9w5cHde3F6LOm00cpJ8H8XSdab0uEBUrU/JnxTW9QmQ== X-Received: by 2002:a37:390:: with SMTP id 138mr1528863qkd.5.1624473840595; Wed, 23 Jun 2021 11:44:00 -0700 (PDT) Received: from birita.. ([177.194.59.218]) by smtp.gmail.com with ESMTPSA id j4sm500664qtr.72.2021.06.23.11.43.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Jun 2021 11:44:00 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH v4 2/4] posix: Do not clobber errno by atfork handlers Date: Wed, 23 Jun 2021 15:43:52 -0300 Message-Id: <20210623184354.395316-3-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210623184354.395316-1-adhemerval.zanella@linaro.org> References: <20210623184354.395316-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jun 2021 18:44:03 -0000 Checked on x86_64-linux-gnu. --- posix/fork.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/posix/fork.c b/posix/fork.c index 44caf8d166..9340511198 100644 --- a/posix/fork.c +++ b/posix/fork.c @@ -103,6 +103,9 @@ __libc_fork (void) } else { + /* If _Fork failed, preserve its errno value. */ + int save_errno = errno; + /* Release acquired locks in the multi-threaded case. */ if (multiple_threads) { @@ -115,6 +118,8 @@ __libc_fork (void) /* Run the handlers registered for the parent. */ __run_fork_handlers (atfork_run_parent, multiple_threads); + + __set_errno (save_errno); } return pid; -- 2.30.2