On Tue, Jul 14, 2020 at 10:15:43AM +0200, Hiltjo Posthuma wrote:
> Hi,
> 
> The below patch adds an -f flag to force fork(2)ing and creating a new 
> process.
> 
> 
> From a75ef384c11b64732dd6a3adc9249ba6beb8a67e Mon Sep 17 00:00:00 2001
> From: Hiltjo Posthuma <hil...@codemadness.org>
> Date: Tue, 14 Jul 2020 10:11:43 +0200
> Subject: [PATCH] setsid: add optional -f to force fork()
> 
> ---
>  setsid.1 | 3 ++-
>  setsid.c | 9 +++++++--
>  2 files changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/setsid.1 b/setsid.1
> index d43bcfc..4df6439 100644
> --- a/setsid.1
> +++ b/setsid.1
> @@ -1,4 +1,4 @@
> -.Dd 2015-10-08
> +.Dd 2020-07-14
>  .Dt SETSID 1
>  .Os sbase
>  .Sh NAME
> @@ -6,6 +6,7 @@
>  .Nd run a command in a new session
>  .Sh SYNOPSIS
>  .Nm
> +.Op Fl f
>  .Ar cmd
>  .Op Ar arg ...
>  .Sh DESCRIPTION
> diff --git a/setsid.c b/setsid.c
> index 28d3442..3355b40 100644
> --- a/setsid.c
> +++ b/setsid.c
> @@ -4,10 +4,12 @@
>  
>  #include "util.h"
>  
> +static int fflag = 0;
> +
>  static void
>  usage(void)
>  {
> -     eprintf("usage: %s cmd [arg ...]\n", argv0);
> +     eprintf("usage: %s cmd [-f] [arg ...]\n", argv0);
>  }
>  
>  int
> @@ -16,6 +18,9 @@ main(int argc, char *argv[])
>       int savederrno;
>  
>       ARGBEGIN {
> +     case 'f':
> +             fflag = 1;
> +             break;
>       default:
>               usage();
>       } ARGEND
> @@ -23,7 +28,7 @@ main(int argc, char *argv[])
>       if (!argc)
>               usage();
>  
> -     if (getpgrp() == getpid()) {
> +     if (fflag || getpgrp() == getpid()) {
>               switch (fork()) {
>               case -1:
>                       eprintf("fork:");
> -- 
> 2.27.0
> 
> 
> -- 
> Kind regards,
> Hiltjo
> 

Bump, any response/feedback to get this in master?

-- 
Kind regards,
Hiltjo

Reply via email to