system: netd: prevent infinite loop
There is a corner case where rescan() runs between allocateServiceRef and startMonitoring. After allocateServiceRef is called the node at mHead has mReady = 0. Then when rescan runs, it loops forver waiting for mReady != 0, but startMonitoring can't run because rescan has the lock. To prevent this, allow rescan to continue to the next node if mReady == 0. Change-Id: I7538e00087c02cd6b5553c992bd3c14e1a867a99
Loading
Please register or sign in to comment