[ruby-core:81024] Re: [Ruby trunk Feature#13517] [PATCH] reduce rb_mutex_t size from 160 to 80 bytes on 64-bit

From: SASADA Koichi <ko1@...>
Date: 2017-05-07 19:04:17 UTC
List: ruby-core #81024
sorry for late response.
I have no objection about this patch. thank you.

one question.

```
	list_for_each_safe(&mutex->waitq, cur, next, node) {
	    list_del_init(&cur->node);
	    switch (cur->th->state) {
	    case THREAD_KILLED:
		continue;
	    case THREAD_STOPPED:
	    case THREAD_RUNNABLE:
	    case THREAD_STOPPED_FOREVER:
		rb_threadptr_interrupt(cur->th);
		goto found;
	    }
	}
```
`rb_mutex_lock()` set `th->status` as `THREAD_STOPPED_FOREVER` before
native sleep, but the above code quoted from `rb_mutex_unlock_th()`.

What kind of situation do you assume when the thread status is other
than `THREAD_STOPPED_FOREVER`?

Thanks,
Koichi

-- 
// SASADA Koichi at atdot dot net

Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread