mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
thread_pthread.c: reset timeslice delay when uncontended
This matches the behavior of old timer thread more closely and seems to fix [Bug #14999] when limited to a single CPU. I cannot reproduce the error on a multi-core system unless I use schedtool to force affinity to a single CPU: schedtool -a 0x01 -e make test-spec \ MSPECOPT='-R1000 spec/ruby/library/conditionvariable/wait_spec.rb' While it may be good enough to pass the spec, I don't have huge degree of confidence in the interrupt handling robustness under extremely heavy load (these may be ancient bugs, though). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
77038f9f82
commit
d2afeb9445
2 changed files with 7 additions and 3 deletions
|
@ -53,6 +53,7 @@ typedef struct rb_global_vm_lock_struct {
|
|||
/* slow path */
|
||||
struct list_head waitq;
|
||||
const struct rb_thread_struct *timer;
|
||||
int timer_err;
|
||||
|
||||
/* yield */
|
||||
rb_nativethread_cond_t switch_cond;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue