[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: guix: git: Stop using libgit2-shutdown.
From: |
Mathieu Othacehe |
Subject: |
01/01: guix: git: Stop using libgit2-shutdown. |
Date: |
Sat, 1 Jul 2017 10:32:55 -0400 (EDT) |
mothacehe pushed a commit to branch master
in repository guix.
commit b02469d298d84c665a1970f6462fe241cb4d2150
Author: Mathieu Othacehe <address@hidden>
Date: Sat Jul 1 12:14:05 2017 +0200
guix: git: Stop using libgit2-shutdown.
* guix/git.scm (with-libgit2): Stop calling (libgit2-shutdown) to prevent
segfaults when pointer finalizers are run.
---
guix/git.scm | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/guix/git.scm b/guix/git.scm
index 17a6784..406c817 100644
--- a/guix/git.scm
+++ b/guix/git.scm
@@ -34,13 +34,12 @@
(make-parameter "/var/cache/guix/checkouts"))
(define-syntax-rule (with-libgit2 thunk ...)
- (dynamic-wind
- (lambda ()
- (libgit2-init!))
- (lambda ()
- thunk ...)
- (lambda ()
- (libgit2-shutdown))))
+ (begin
+ ;; XXX: The right thing to do would be to call (libgit2-shutdown) here,
+ ;; but pointer finalizers used in guile-git may be called after shutdown,
+ ;; resulting in a segfault. Hence, let's skip shutdown call for now.
+ (libgit2-init!)
+ thunk ...))
(define* (url-cache-directory url
#:optional (cache-directory