Revert "Revert^6 "Thread suspension cleanup and deadlock fix""

This reverts commit fe9b34f845e8e439b4ae47ae999ef2cfdbd66462.

Reason for revert: Breaks full-eng build

Change-Id: I230b31809e274740b8fae9358c260787462efe4d
26 files changed