* Protect the true', false' and `__overrides' constants. Without

an ATprotect call, these could be garbage collected, leading to
  weird crashes or wrong results.
This commit is contained in:
Eelco Dolstra 2010-03-02 20:09:12 +00:00
parent 3f9e647ae8
commit 56af8e86e3

View file

@ -147,7 +147,8 @@ while (<STDIN>) {
print HEADER "extern ATerm $name;\n"; print HEADER "extern ATerm $name;\n";
print IMPL "ATerm $name = 0;\n"; print IMPL "ATerm $name = 0;\n";
$init .= " $name = $value;\n"; $init .= " $name = $value;\n";
} $init .= " ATprotect(&$name);\n";
}
elsif (/^\s*init\s+(\w+)\s*$/) { elsif (/^\s*init\s+(\w+)\s*$/) {
$initFun = $1; $initFun = $1;