Skip to content

Commit 30daa31

Browse files
authored
fix GC issue: release []rune when reusing the runner. which leads to 'runtext' and 'runmatch.text' inability to be garbage collected until next use. (#81)
1 parent 5d49e36 commit 30daa31

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

runner.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1604,6 +1604,10 @@ func (re *Regexp) getRunner() *runner {
16041604
// run using re. (The cache empties when re gets garbage collected.)
16051605
func (re *Regexp) putRunner(r *runner) {
16061606
re.muRun.Lock()
1607+
r.runtext = nil
1608+
if r.runmatch != nil {
1609+
r.runmatch.text = nil
1610+
}
16071611
re.runner = append(re.runner, r)
16081612
re.muRun.Unlock()
16091613
}

0 commit comments

Comments
 (0)