Commit ec337a8
Wake timer to create new SNT when needed for dedicated task (ruby#16009)
When removing a thread from `running_threads`, if we're on a shared
native thread and we're running a dedicated task, we need to wake
the timer thread so it can create a new SNT if necessary. We only
do this if it's waiting forever without the 10ms quantum timeout
for now, because max 10ms of wait is considered "good enough".
In the future, perhaps we can force the timer thread to wake if this
becomes an issue (`timer_thread_wakeup_force`).
Fixes [Bug #21504]1 parent c795ee4 commit ec337a8
3 files changed
Lines changed: 73 additions & 20 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
201 | 201 | | |
202 | 202 | | |
203 | 203 | | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
204 | 243 | | |
205 | 244 | | |
206 | 245 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
93 | 98 | | |
94 | 99 | | |
95 | 100 | | |
| |||
554 | 559 | | |
555 | 560 | | |
556 | 561 | | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
557 | 576 | | |
558 | 577 | | |
559 | 578 | | |
| |||
564 | 583 | | |
565 | 584 | | |
566 | 585 | | |
| 586 | + | |
567 | 587 | | |
568 | 588 | | |
569 | 589 | | |
| |||
592 | 612 | | |
593 | 613 | | |
594 | 614 | | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
595 | 621 | | |
596 | 622 | | |
597 | 623 | | |
| |||
616 | 642 | | |
617 | 643 | | |
618 | 644 | | |
619 | | - | |
| 645 | + | |
620 | 646 | | |
621 | 647 | | |
622 | 648 | | |
| |||
625 | 651 | | |
626 | 652 | | |
627 | 653 | | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
628 | 658 | | |
629 | 659 | | |
630 | 660 | | |
| |||
1264 | 1294 | | |
1265 | 1295 | | |
1266 | 1296 | | |
1267 | | - | |
1268 | | - | |
1269 | | - | |
1270 | | - | |
1271 | | - | |
1272 | 1297 | | |
1273 | 1298 | | |
1274 | 1299 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
394 | 394 | | |
395 | 395 | | |
396 | 396 | | |
397 | | - | |
398 | 397 | | |
399 | 398 | | |
400 | 399 | | |
401 | 400 | | |
402 | 401 | | |
403 | | - | |
| 402 | + | |
404 | 403 | | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | | - | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | | - | |
414 | | - | |
415 | | - | |
| 404 | + | |
416 | 405 | | |
417 | 406 | | |
418 | 407 | | |
| |||
426 | 415 | | |
427 | 416 | | |
428 | 417 | | |
429 | | - | |
| 418 | + | |
430 | 419 | | |
431 | 420 | | |
432 | 421 | | |
| |||
0 commit comments