guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/24: syscalls: set-thread-name, thread-name: Stub for the Hurd.


From: guix-commits
Subject: 02/24: syscalls: set-thread-name, thread-name: Stub for the Hurd.
Date: Mon, 8 Jun 2020 08:37:25 -0400 (EDT)

janneke pushed a commit to branch wip-hurd-vm
in repository guix.

commit 1428926f1f0d7577cd2de8d019a27f8082855d03
Author: Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
AuthorDate: Sat May 30 15:11:49 2020 +0200

    syscalls: set-thread-name, thread-name: Stub for the Hurd.
    
    Avoid crash
    
        Backtrace:
        guix/build/syscalls.scm:405:8: In procedure prctl: Function not 
implemented
    
    because of missing prctl on the Hurd.
    
    * guix/build/syscalls.scm (set-thread-name, thread-name): Rename to ...
    (set-thread-name!/linux,thread-name/linux): ...this.
    (set-thread-name, thread-name): Swtich between linux implementation and or
    stub.
---
 guix/build/syscalls.scm | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index d69b178..549346c 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -1218,7 +1218,7 @@ handler if the lock is already held by another process."
   ;; zero.
   16)
 
-(define (set-thread-name name)
+(define (set-thread-name!/linux name)
   "Set the name of the calling thread to NAME.  NAME is truncated to 15
 bytes."
   (let ((ptr (string->pointer name)))
@@ -1231,7 +1231,7 @@ bytes."
                (list (strerror err))
                (list err))))))
 
-(define (thread-name)
+(define (thread-name/linux)
   "Return the name of the calling thread as a string."
   (let ((buf (make-bytevector %max-thread-name-length)))
     (let-values (((ret err)
@@ -1245,6 +1245,16 @@ bytes."
                  (list (strerror err))
                  (list err))))))
 
+(define set-thread-name
+  (if (string-contains %host-type "linux")
+      set-thread-name!/linux
+      (cute const #f)))
+
+(define thread-name
+  (if (string-contains %host-type "linux")
+      thread-name/linux
+      (cute const "")))
+
 
 ;;;
 ;;; Network interfaces.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]