patch 8.1.0868: crash if triggering garbage collector after a function call
Problem: Crash if triggering garbage collector after a function call.
(Michael Henry)
Solution: Don't call the garbage collector right away, do it later.
(closes #3894)
diff --git a/src/userfunc.c b/src/userfunc.c
index aae3fd3..acbab90 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -679,10 +679,10 @@
{
// We have made a lot of copies. This can happen when
// repetitively calling a function that creates a reference to
- // itself somehow. Call the garbage collector here to avoid using
+ // itself somehow. Call the garbage collector soon to avoid using
// too much memory.
made_copy = 0;
- (void)garbage_collect(FALSE);
+ want_garbage_collect = TRUE;
}
}
}