[Tarantool-patches] [PATCH 1/2] popen: Allow to kill process group

Alexander Turenko alexander.turenko at tarantool.org
Sun Apr 12 04:40:30 MSK 2020


On Sun, Apr 12, 2020 at 04:27:59AM +0300, Alexander Turenko wrote:
> > +	/*
> > +	 * Killing group of signals allowed for a new
> > +	 * session only where it makes sense, otherwise
> > +	 * child gonna inherit group and we will be killing
> > +	 * ourself.
> > +	 */
> > +	if (opts->flags & POPEN_FLAG_GROUP_SIGNAL &&
> > +	    (opts->flags & POPEN_FLAG_SETSID) == 0) {
> > +		diag_set(IllegalParams,
> > +			 "popen: group signal without setting sid");
> > +		return NULL;
> > +	}
> > +
> 
> Since the patchset with the preliminary patches is land to master and it
> contains formal list of possible errors for popen_new(), I propose the
> following addition:
> 
> diff --git a/src/lib/core/popen.c b/src/lib/core/popen.c
> index 593e72d4d..fcc562734 100644
> --- a/src/lib/core/popen.c
> +++ b/src/lib/core/popen.c
> @@ -812,6 +812,8 @@ signal_reset(void)
>   *
>   * Possible errors:
>   *
> + * - IllegalParams: a parameter check fails:
> + *   - group signal is set, while setsid is not.
>   * - SystemError: dup(), fcntl(), pipe(), vfork() or close() fails
>   *   in the parent process.
>   * - SystemError: (temporary restriction) one of std{in,out,err}

Ouch, no, ignore it.

I added the list in the another patchset, which is under development for
now.

So I'll add the IllegalParams error to the list together with other
errors.

Sorry for noise.

WBR, Alexander Turenko.


More information about the Tarantool-patches mailing list