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

Alexander Turenko alexander.turenko at tarantool.org
Sun Apr 12 04:27:58 MSK 2020


> +	/*
> +	 * 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}


More information about the Tarantool-patches mailing list