Bug #5526
SEGV: ./ruby -rfiber -ve'f=Fiber.new{f.resume};f.transfer'
| Status: | Closed | Start date: | 10/31/2011 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 100% |
||
| Category: | YARV | |||
| Target version: | - | |||
| ruby -v: | ruby -v: ruby 2.0.0dev (2011-10-31 trunk 33581) [x86_64-freebsd8.2] |
Description
FreeBSD 9 にて、./ruby -rfiber -ve'f=Fiber.new{f.resume};f.transfer' で SEGV します。
他のプラットフォームでも dead fiber call 例外なのはおかしくて、
double resume 例外になるべきでしょう。
Associated revisions
* cont.c (rb_fiber_m_transfer, rb_fiber_resume): prohibit using
"resume" after "transfer" method are used. You should not mix
"resume" fiber and "transfer" fiber.
[Bug #5526]
* NEWS: add information about this change.
History
Updated by ko1 (Koichi Sasada) 7 months ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r33684.
Yui, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
----------
* cont.c (rb_fiber_m_transfer, rb_fiber_resume): prohibit using
"resume" after "transfer" method are used. You should not mix
"resume" fiber and "transfer" fiber.
[Bug #5526]
* NEWS: add information about this change.