On Dec 29, 2010, at 4:43 AM, Roberto Ierusalimschy wrote:
The main problem is compatibility. If a program relies on the current
behavior, this change will make the program run forever with the
collector stopped. So, someone changes from Lua 5.1 to Lua 5.2 and
suddenly his program starts consuming huge ammounts of memory; this
is not good publicity :)
You could make "stop" do nothing and introduce "suspend" to pause the collector. This would mean that old code wouldn't behave quite the way intended, but it would avoid the "consuming huge amounts of memory" problem.