Fix reentrancy in BluetoothDeviceWinrt::ClearGattServices()
This change fixes a crash due to reentrancy in the ClearGattServices() method when called during disconnect. Destroying a GATT service object and associated characteristic and descriptor objects can run callbacks for pending read or write operations. If these themselves attempt to close the connection an unsafe reentrancy into std::map::clear() will occur. This change reverts the temporary fix for this issue. Bug: 950204 Change-Id: I3b1028389c58dc49e5aefc9ab77fd6be51d86fb3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1597345 Commit-Queue: Reilly Grant <reillyg@chromium.org> Reviewed-by:Ovidio de Jesús Ruiz-Henríquez <odejesush@chromium.org> Cr-Commit-Position: refs/heads/master@{#657379}
Showing
Please register or sign in to comment