Bugzilla – Bug 4230
DRS deadlocks in thread scheduling
Last modified: 2006-02-22 17:12:16
You need to log in before you can comment on or make changes to this bug.
Deadlock is due to non-daemon threads waiting on other non-daemon threads (and other external resources), thus not relinquishing the worker thread and thus not returning the worker thread to the work manager's thread pool. Since other threads cannot be scheduled, the net result is a deadlocked DRS (if not work manager in total).
Fix is to change Discover, Transfer, and TransferRequest {Worker}s to return true from isDaemon method.
Committed to trunk and globsu_4_0_branch