1 | if (classProviders != null) {↵ | | 1 | if (↵
|
2 | classProviders.remove(provider);↵ | | |
|
| | | 2 | threadService.getCritical()) {↵
|
| | | 3 | // If the target thread is sleeping or stopped, wake it↵
|
| | | 4 | synchronized (this) {↵
|
| | | 5 | notify();↵
|
| | | 6 | }↵
|
| | | 7 | ↵
|
| | | 8 | // interrupt the target thread in case it's blocking or waiting↵
|
| | | 9 | // WARNING: We no longer interrupt the target thread, since this usually means↵
|
| | | 10 | // interrupting IO and with NIO that means the channel is no longer usable.↵
|
| | | 11 | // We either need a new way to handle waking a target thread that's waiting↵
|
| | | 12 | // on IO, or we need to accept that we can't wake such threads and must wait↵
|
| | | 13 | // for them to complete their operation.↵
|
| | | 14 | //threadImpl.interrupt();↵
|
3 | } | | 15 | }
|