summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-07-05 15:57:20 +0000
committermame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-07-05 15:57:20 +0000
commit68ab3ede30d3e644c220a6fe3b0732b2442bcc6c (patch)
tree53464bddba60588071ed60c124a7ded8d01b4515
parent0fa3c65b66f6f14436803fd480812d26cddb9cc9 (diff)
* vm.c (thread_free): free altstack to prevent memory leak. a patch
from Tomoyuki Chikanaga in [ruby-dev:41815]. [Bug #3537] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--vm.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c08b060138..0119c9a8f1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Jul 6 00:34:50 2010 Yusuke Endoh <mame@tsg.ne.jp>
+
+ * vm.c (thread_free): free altstack to prevent memory leak. a patch
+ from Tomoyuki Chikanaga in [ruby-dev:41815]. [Bug #3537]
+
Tue Jul 6 00:29:27 2010 Yusuke Endoh <mame@tsg.ne.jp>
* string.c (NONASCII_MASK): NONASCII_MASK must be unsigned.
diff --git a/vm.c b/vm.c
index dd5de1f4b7..8e93963a39 100644
--- a/vm.c
+++ b/vm.c
@@ -1726,6 +1726,11 @@ thread_free(void *ptr)
RUBY_GC_INFO("main thread\n");
}
else {
+#ifdef USE_SIGALTSTACK
+ if (th->altstack) {
+ free(th->altstack);
+ }
+#endif
ruby_xfree(ptr);
}
}