Issue #4983 has been reported by Motohiro KOSAKI.

----------------------------------------
Bug #4983: Fiber??®ã?¬ã?¼ã???????¼ã?¸ã?®è¨­å®????????????£ã?¦ã??
http://redmine.ruby-lang.org/issues/4983

Author: Motohiro KOSAKI
Status: Assigned
Priority: Normal
Assignee: Motohiro KOSAKI
Category: core
Target version: 1.9.3
ruby -v: trunk


以ä????®é?¢æ?°ã?§ã?¹ã?¿ã????¯ã?®ã?¢ã?­ã?±ã?¼ã?·ã?§ã?³ã?¨ã?¬ã?¼ã???????¼ã?¸ã?®è¨­å®?????????¦ã????¾ã??????????¬ã?¼ã???????¼ã?¸ã??PROT_READ|PROT_WRITE??ªã?®ã??
??ªã?«ã????®é?????????????¨æ???????¾ã??????????¨ã?§ç?´ã????¦ã???????¾ã?????


static VALUE*
fiber_machine_stack_alloc(size_t size)
{
    VALUE *ptr;
(snip)
    }
    else {
	void *page;
	STACK_GROW_DIR_DETECTION;
	ptr = (VALUE*)mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
	if (ptr == (VALUE*)(SIGNED_VALUE)-1) {
	    rb_raise(rb_eFiberError, "can't alloc machine stack to fiber");
	}
	page = ptr + STACK_DIR_UPPER((size - RB_PAGE_SIZE) / sizeof(VALUE), 0);
	if (mprotect(page, RB_PAGE_SIZE, PROT_READ | PROT_WRITE) < 0) {        // ??????ï¼?
	    rb_raise(rb_eFiberError, "mprotect failed");



-- 
http://redmine.ruby-lang.org