From 5ebc3de217c0601355b2df86ae26421264fe7c5e Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 24 Jan 2010 21:23:02 -0800 Subject: * match.c (match_files): Workaround for GC issue discovered on Red Hat EL 4 with gcc 3.4.3. In the collect loop, set car(success) to nil. Somehow the generated code hangs on to the last matching position for a regex, preventing GC. --- ChangeLog | 8 ++++++++ match.c | 2 ++ 2 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index 695e17a6..44427204 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2010-01-24 Kaz Kylheku + + * match.c (match_files): Workaround for GC issue + discovered on Red Hat EL 4 with gcc 3.4.3. + In the collect loop, set car(success) to nil. + Somehow the generated code hangs on to the last + matching position for a regex, preventing GC. + 2010-01-24 Kaz Kylheku * stream.c (vformat_num): Fix bad width calculation. diff --git a/match.c b/match.c index 85e65cf0..bf58e416 100644 --- a/match.c +++ b/match.c @@ -1256,6 +1256,8 @@ repeat_spec_same_data: debuglf(spec_linenum, lit("collect consumed entire file"), nao); data = nil; } + + *car_l(success) = nil; } else { data = rest(data); data_lineno++; -- cgit v1.2.3