From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 2756F398A435 for ; Wed, 9 Jun 2021 06:41:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2756F398A435 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-376-L1cvcfInNWyM62Ib02EywA-1; Wed, 09 Jun 2021 02:41:19 -0400 X-MC-Unique: L1cvcfInNWyM62Ib02EywA-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D49C218D6A2C; Wed, 9 Jun 2021 06:41:18 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-115-60.ams2.redhat.com [10.36.115.60]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C80FD5C1C2; Wed, 9 Jun 2021 06:41:17 +0000 (UTC) From: Florian Weimer To: Godmar Back via Libc-help Subject: Re: supporting terminal ownership assignment (tcsetpgrp()) in posix_spawn References: <7298cb72-becb-80bb-b2df-d97bdb201e95@linaro.org> <11145e53-3fbc-0f04-33f8-b2d9981f0ea8@linaro.org> Date: Wed, 09 Jun 2021 08:41:15 +0200 In-Reply-To: (Godmar Back via Libc-help's message of "Tue, 8 Jun 2021 18:11:33 -0400") Message-ID: <87tum78rqs.fsf@oldenburg.str.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-help@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-help mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jun 2021 06:41:24 -0000 * Godmar Back via Libc-help: > I haven't checked how the current implementation works. Do you use a > pipe or something for the child to report back if something went > wrong, or does the parent somehow check if the asked-for actions in > the child will likely succeed? If the former, doing setsid first, and > then, if given, doing the tcsetpgrp call will fail as you say and this > failure would be reported back to the caller. Then they know they've > misused the API. It's the first. We use shared memory (the side effect of vfork) to communicate errno to the original process. Thanks, Florian