~ chicken-core (chicken-5) 02e243abc86c35e129b7db9cf5f9f184100c88ca
commit 02e243abc86c35e129b7db9cf5f9f184100c88ca Author: Peter Bex <peter@more-magic.net> AuthorDate: Fri Nov 10 21:38:04 2017 +0100 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Mon Dec 4 19:21:00 2017 +0100 Similar to 118fce and 596332, clean up old state upon fork When fork receives a thunk to run in the child process, call it with a clean, empty continuation rather than keeping any cruft from the parent around. This should allow GC of objects that are no longer necessary and improve memory use somewhat, and perhaps prevent situations like that in #1367 when using processes instead of threads. Signed-off-by: felix <felix@call-with-current-continuation.org> diff --git a/posixunix.scm b/posixunix.scm index 9304b395..11a00e07 100644 --- a/posixunix.scm +++ b/posixunix.scm @@ -1564,8 +1564,10 @@ EOF ##sys#kill-other-threads (lambda (thunk) (thunk))) (lambda () - (thunk) - (exit 0))) + (##sys#call-with-cthulhu + (lambda () + (thunk) + (exit 0))))) pid))))) (define (process-execute filename #!optional (arglist '()) envlist)Trap