diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-07-19 03:18:44 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-07-19 03:18:44 +0000 |
commit | adec8b726cb6a9e7b053b83592358cb8c0d2c537 (patch) | |
tree | ec52ae93b7033cfd076924885263d8ed99a84cc3 /eval.c | |
parent | 3b1e7ac7855a2d5cb4a075d652835cf52ea123a6 (diff) | |
download | ruby-adec8b726cb6a9e7b053b83592358cb8c0d2c537.tar.gz |
* eval.c (thgroup_add): do not raise ThreadError on terminated
thread addition for compatibility. just warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -9937,9 +9937,6 @@ thgroup_add(group, thread) if (OBJ_FROZEN(th->thgroup)) { rb_raise(rb_eThreadError, "can't move from the frozen thread group"); } - if (!th->thgroup) { - rb_raise(rb_eThreadError, "terminated thread"); - } Data_Get_Struct(th->thgroup, struct thgroup, data); if (data->enclosed) { rb_raise(rb_eThreadError, "can't move from the enclosed thread group"); @@ -9953,6 +9950,10 @@ thgroup_add(group, thread) rb_raise(rb_eThreadError, "can't move to the enclosed thread group"); } + if (!th->thgroup) { + rb_warn(rb_eThreadError, "terminated thread"); + return; + } th->thgroup = group; return group; } |