diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2023-02-08 09:41:45 -0500 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2023-02-08 09:41:45 -0500 |
commit | d88cee1d44a475b6ea276e87a4c98682255b881e (patch) | |
tree | f2e681b5211840d4eef688120041c2dd730002cc /gnu/packages/patches/guile-continuation-stack-leak.patch | |
parent | d2b9b4b861b71d11eaeaa12fe544c9ffb0b6644d (diff) | |
parent | 20059f92a97726b40d4d74e67463a64c98d1da0d (diff) |
Merge branch 'master' into staging.
With conflicts resolved in:
gnu/packages/version-control.scm
Diffstat (limited to 'gnu/packages/patches/guile-continuation-stack-leak.patch')
-rw-r--r-- | gnu/packages/patches/guile-continuation-stack-leak.patch | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/gnu/packages/patches/guile-continuation-stack-leak.patch b/gnu/packages/patches/guile-continuation-stack-leak.patch deleted file mode 100644 index 0e57b7bb4e..0000000000 --- a/gnu/packages/patches/guile-continuation-stack-leak.patch +++ /dev/null @@ -1,27 +0,0 @@ -This patch fixes a memory leak when capturing and resuming delimited -continuations intensively, as is the case with the Shepherd 0.9+: - - https://issues.guix.gnu.org/59021 - -diff --git a/libguile/vm.c b/libguile/vm.c -index 6fd5c554f..516bae773 100644 ---- a/libguile/vm.c -+++ b/libguile/vm.c -@@ -165,11 +165,13 @@ capture_stack (union scm_vm_stack_element *stack_top, - scm_t_dynstack *dynstack, uint32_t flags) - { - struct scm_vm_cont *p; -+ size_t stack_size; - -- p = scm_gc_malloc (sizeof (*p), "capture_vm_cont"); -- p->stack_size = stack_top - sp; -- p->stack_bottom = scm_gc_malloc (p->stack_size * sizeof (*p->stack_bottom), -- "capture_vm_cont"); -+ stack_size = stack_top - sp; -+ p = scm_gc_malloc (sizeof (*p) + stack_size * sizeof (*p->stack_bottom), -+ "capture_vm_cont"); -+ p->stack_size = stack_size; -+ p->stack_bottom = (void *) ((char *) p + sizeof (*p)); - p->vra = vra; - p->mra = mra; - p->fp_offset = stack_top - fp; |