summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/shepherd-hurd.patch
blob: 5043e831f28cacf03b5a50d0f60194dfdbf743cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Fixes compilation on the Hurd.

Taken from upstream: http://git.savannah.gnu.org/cgit/shepherd.git/commit/?id=232331369fe2a0495c7c777e11eecabee6257b3f

From 232331369fe2a0495c7c777e11eecabee6257b3f Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Sat, 7 Mar 2020 22:01:23 +0100
Subject: [PATCH] system: Support compilation on the Hurd.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* modules/shepherd/system.scm.in (prctl): Wrap 'dynamic-func' call in
'false-if-exception'.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
---
 modules/shepherd/system.scm.in | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/modules/shepherd/system.scm.in b/modules/shepherd/system.scm.in
index 769404a..0b2cc9d 100644
--- a/modules/shepherd/system.scm.in
+++ b/modules/shepherd/system.scm.in
@@ -1,6 +1,7 @@
 ;; system.scm -- Low-level operating system interface.
 ;; Copyright (C) 2013, 2014, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
 ;; Copyright (C) 2018 Carlo Zancanaro <carlo@zancanaro.id.au>
+;; Copyright (C) 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;
 ;; This file is part of the GNU Shepherd.
 ;;
@@ -145,7 +146,7 @@ ctrlaltdel(8) and see kernel/reboot.c in Linux."
 (define PR_SET_CHILD_SUBREAPER @PR_SET_CHILD_SUBREAPER@)
 
 (define prctl
-  (if (dynamic-func "prctl" (dynamic-link))
+  (if (false-if-exception (dynamic-func "prctl" (dynamic-link)))
       (let ((proc (syscall->procedure long "prctl" (list int int))))
         (lambda (process operation)
           "Perform an operation on the given process"
-- 
2.24.0