guix: git: Stop using libgit2-shutdown.

* guix/git.scm (with-libgit2): Stop calling (libgit2-shutdown) to prevent
segfaults when pointer finalizers are run.
This commit is contained in:
Mathieu Othacehe 2017-07-01 12:14:05 +02:00
parent ba773f65f0
commit b02469d298
No known key found for this signature in database
GPG Key ID: 8354763531769CA6
1 changed files with 6 additions and 7 deletions

View File

@ -34,13 +34,12 @@
(make-parameter "/var/cache/guix/checkouts")) (make-parameter "/var/cache/guix/checkouts"))
(define-syntax-rule (with-libgit2 thunk ...) (define-syntax-rule (with-libgit2 thunk ...)
(dynamic-wind (begin
(lambda () ;; XXX: The right thing to do would be to call (libgit2-shutdown) here,
(libgit2-init!)) ;; but pointer finalizers used in guile-git may be called after shutdown,
(lambda () ;; resulting in a segfault. Hence, let's skip shutdown call for now.
thunk ...) (libgit2-init!)
(lambda () thunk ...))
(libgit2-shutdown))))
(define* (url-cache-directory url (define* (url-cache-directory url
#:optional (cache-directory #:optional (cache-directory