GNU bug report logs -
#49839
[PATCH] shepherd: add keep-tty flag to skip setsid
Previous Next
Reported by: muradm <mail <at> muradm.net>
Date: Tue, 3 Aug 2021 01:08:02 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hi,
Basically it is samething, should work.
Any idea when to expect it in public?
Thanks in advance,
muradm
Ludovic Courtès <ludo <at> gnu.org> writes:
> Hi,
>
> muradm <mail <at> muradm.net> skribis:
>
>> * modules/shepherd/service.scm: add keep-tty flag to skip
>> setsid
>>
>> when using shepherd as user, programs like xorg server,
>> potentially
>> any
>> program which ends up interacting with user, require terminal
>> to
>> remain.
>>
>> currently, setsid is called unconditionally from exec-command
>> function,
>> making it impossible to have such process.
>>
>> this adds keep-tty flag to make-forkexec-constructor up to
>> exec-command
>> function where setsid is actually called.
>>
>> diff --git a/modules/shepherd/service.scm
>> b/modules/shepherd/service.scm
>> index 587ff68..1ae9544 100644
>> --- a/modules/shepherd/service.scm
>> +++ b/modules/shepherd/service.scm
>> @@ -786,6 +786,7 @@ daemon writing FILE is running in a
>> separate PID namespace."
>> (log-file #f)
>> (directory (default-service-directory))
>> (file-creation-mask #f)
>> + (keep-tty #f)
>> (environment-variables (default-environment-variables)))
>> "Run COMMAND as the current process from DIRECTORY, with
>> FILE-CREATION-MASK
>> if it's true, and with ENVIRONMENT-VARIABLES (a list of
>> strings like
>> @@ -804,7 +805,7 @@ false."
>> ((program args ...)
>> ;; Become the leader of a new session and session group.
>> ;; Programs such as 'mingetty' expect this.
>> - (setsid)
>> + (unless keep-tty (setsid))
>
> I did that slightly differently:
>
> https://git.savannah.gnu.org/cgit/shepherd.git/commit/?id=c43f81794344dbac31bcb8b8f1c0d266f47f14fa
>
> Let me know if it works for you.
>
> Thanks,
> Ludo’.
This bug report was last modified 3 years and 286 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.