From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-f194.google.com (mail-lj1-f194.google.com [209.85.208.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 85002469719 for ; Tue, 10 Mar 2020 19:41:03 +0300 (MSK) Received: by mail-lj1-f194.google.com with SMTP id 19so12087868ljj.7 for ; Tue, 10 Mar 2020 09:41:03 -0700 (PDT) Date: Tue, 10 Mar 2020 19:41:00 +0300 From: Cyrill Gorcunov Message-ID: <20200310164100.GF27301@uranus> References: <20200302201227.31785-1-gorcunov@gmail.com> <20200302201227.31785-7-gorcunov@gmail.com> <20200303113853.2gmoaph7zet7rzwo@tkn_work_nb> <20200303114537.GF22649@uranus> <20200310154949.5zdpc4pcpc7evczz@tkn_work_nb> <20200310163646.3yngdlq6wzutzmri@tkn_work_nb> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200310163646.3yngdlq6wzutzmri@tkn_work_nb> Subject: Re: [Tarantool-patches] [PATCH 6/7] popen: handle setsid os specifics List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Turenko Cc: tml On Tue, Mar 10, 2020 at 07:36:46PM +0300, Alexander Turenko wrote: > > It seems that setsid() is used mainly to disassociate from a controlling > > terminal (to don't be hit by SIGHUP if it'll die). In this context > > setpgrp() would not be sufficient. > > I just realized that there is another reason to use setsid(), where > setpgrp() is applicable too: move the child into its own process group > and kill the whole group (child and its childs if any) then. I mean, use > the corresponding flag (which I proposed to add in [1]), which will > change :kill() behaviour. > > [1]: https://lists.tarantool.org/pipermail/tarantool-patches/2020-March/014608.html > > So, it seems, we should do ioctl() + setpgrp() on Mac OS? The child may generate subchildren with own groups. If I'm not missing something obvious we should provide only basic functionality whic would be enough to spawn new processes. The child may generate subchildren with own group, serisouly without pid namespace we simply do not control much. Thus I propose to leave it in the state it is right now.