~ruther/guix-local

8444b44a8c7ae67c11dee22f99b0a7b6a431d29d — Maxim Cournoyer 4 years ago 83580b9
build: syscalls: Add a SET-CHILD-SUBREAPER! procedure.

* guix/build/syscalls.scm (PR_SET_CHILD_SUBREAPER): New variable.
(set-child-subreaper!): New procedure.
1 files changed, 7 insertions(+), 0 deletions(-)

M guix/build/syscalls.scm
M guix/build/syscalls.scm => guix/build/syscalls.scm +7 -0
@@ 120,6 120,8 @@
            with-file-lock
            with-file-lock/no-wait

            set-child-subreaper!

            set-thread-name
            thread-name



@@ 1421,6 1423,11 @@ handler if the lock is already held by another process."

(define PR_SET_NAME 15)                           ;<linux/prctl.h>
(define PR_GET_NAME 16)
(define PR_SET_CHILD_SUBREAPER 36)

(define (set-child-subreaper!)
  "Set the CHILD_SUBREAPER capability for the current process."
  (%prctl PR_SET_CHILD_SUBREAPER 1 0 0 0))

(define %max-thread-name-length
  ;; Maximum length in bytes of the process name, including the terminating