|
|
Created:
4 years, 3 months ago by brucedawson Modified:
4 years, 3 months ago Reviewers:
scheib CC:
chromium-reviews, scheib+watch_chromium.org, ortuno+watch_chromium.org Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionFix bluetooth callback function declaration
The PFNBLUETOOTH_GATT_EVENT_CALLBACK typedef has been incorrect for
years and was fixed in the Windows 10.0.14393 SDK. This leads to
compile errors when building with this SDK. The incorrect function
declaration is missing CALLBACK which can lead to stack mismatches
so fixing the code to use the new declaration is important. A fixed
typedef needs to be used throughout Chromium to ensure consistent
stack cleanup. A cast is needed when calling into Windows (so that
Chrome will continue to build with the Windows 10.0.10586 SDK) and
that is the only time that the SDK supplied typedef should be used.
BUG=644321
Committed: https://crrev.com/2181e0ecc3172fc2a5f4eee62a125f784f5993f5
Cr-Commit-Position: refs/heads/master@{#418138}
Patch Set 1 #Patch Set 2 : Brand new fix - use correct prototype throughout Chrome #Patch Set 3 : Add comment to explain and justify cast #
Total comments: 1
Patch Set 4 : Updating typedef comment per code-review feedback #
Messages
Total messages: 38 (23 generated)
The CQ bit was checked by brucedawson@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Fix bluetooth callback function declaration The PFNBLUETOOTH_GATT_EVENT_CALLBACK typedef has been incorrect for years and was fixed in the Windows 10.0.14393 SDK. This leads to compile errors when building with this SDK. The incorrect function declaration is missing CALLBACK which can lead to stack mismatches so fixing the code to use the new declaration is important. A cast is needed so that Chrome will continue to build with the Windows 10.0.10586 SDK. BUG=644321 ========== to ========== Fix bluetooth callback function declaration The PFNBLUETOOTH_GATT_EVENT_CALLBACK typedef has been incorrect for years and was fixed in the Windows 10.0.14393 SDK. This leads to compile errors when building with this SDK. The incorrect function declaration is missing CALLBACK which can lead to stack mismatches so fixing the code to use the new declaration is important. A cast is needed so that Chrome will continue to build with the Windows 10.0.10586 SDK. BUG=644321 ==========
brucedawson@chromium.org changed reviewers: + scheib@chromium.org
PTAL
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
Thanks and LGTM
The CQ bit was checked by scheib@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by brucedawson@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by brucedawson@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by brucedawson@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by brucedawson@chromium.org
I'd thought that the failures were test flakiness but now realize that they are not. Two bluetooth tests crash reliably with this change. I can reproduce this locally. Investigating...
The CQ bit was checked by brucedawson@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Fix bluetooth callback function declaration The PFNBLUETOOTH_GATT_EVENT_CALLBACK typedef has been incorrect for years and was fixed in the Windows 10.0.14393 SDK. This leads to compile errors when building with this SDK. The incorrect function declaration is missing CALLBACK which can lead to stack mismatches so fixing the code to use the new declaration is important. A cast is needed so that Chrome will continue to build with the Windows 10.0.10586 SDK. BUG=644321 ========== to ========== Fix bluetooth callback function declaration The PFNBLUETOOTH_GATT_EVENT_CALLBACK typedef has been incorrect for years and was fixed in the Windows 10.0.14393 SDK. This leads to compile errors when building with this SDK. The incorrect function declaration is missing CALLBACK which can lead to stack mismatches so fixing the code to use the new declaration is important. A fixed typedef needs to be used throughout Chromium to ensure consistent stack cleanup. A cast is needed when calling into Windows (so that Chrome will continue to build with the Windows 10.0.10586 SDK) and that is the only time that the SDK supplied typedef should be used. BUG=644321 ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The initial change fixed one calling convention mismatched but introduced others. That was not progress. This change fixes the mismatches. One cast is still needed but now it is at the interface between our code and Windows, where it should be, and now all of the tests pass, and the code builds with both SDKs. PTAL at the new fix.
LGTM again. Also a comment suggestion: https://codereview.chromium.org/2317773002/diff/40001/device/bluetooth/blueto... File device/bluetooth/bluetooth_low_energy_win.h (right): https://codereview.chromium.org/2317773002/diff/40001/device/bluetooth/blueto... device/bluetooth/bluetooth_low_energy_win.h:26: // modifier. This typedef should be used throughout Chromium except when casting Would be nice to include the 'why' you mention in the change description, "CALLBACK which can lead to stack mismatches ... A fixed typedef needs to be used throughout Chromium to ensure consistent stack cleanup", in this comment.
The CQ bit was checked by brucedawson@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from scheib@chromium.org Link to the patchset: https://codereview.chromium.org/2317773002/#ps60001 (title: "Updating typedef comment per code-review feedback")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== Fix bluetooth callback function declaration The PFNBLUETOOTH_GATT_EVENT_CALLBACK typedef has been incorrect for years and was fixed in the Windows 10.0.14393 SDK. This leads to compile errors when building with this SDK. The incorrect function declaration is missing CALLBACK which can lead to stack mismatches so fixing the code to use the new declaration is important. A fixed typedef needs to be used throughout Chromium to ensure consistent stack cleanup. A cast is needed when calling into Windows (so that Chrome will continue to build with the Windows 10.0.10586 SDK) and that is the only time that the SDK supplied typedef should be used. BUG=644321 ========== to ========== Fix bluetooth callback function declaration The PFNBLUETOOTH_GATT_EVENT_CALLBACK typedef has been incorrect for years and was fixed in the Windows 10.0.14393 SDK. This leads to compile errors when building with this SDK. The incorrect function declaration is missing CALLBACK which can lead to stack mismatches so fixing the code to use the new declaration is important. A fixed typedef needs to be used throughout Chromium to ensure consistent stack cleanup. A cast is needed when calling into Windows (so that Chrome will continue to build with the Windows 10.0.10586 SDK) and that is the only time that the SDK supplied typedef should be used. BUG=644321 ==========
Message was sent while issue was closed.
Committed patchset #4 (id:60001)
Message was sent while issue was closed.
Description was changed from ========== Fix bluetooth callback function declaration The PFNBLUETOOTH_GATT_EVENT_CALLBACK typedef has been incorrect for years and was fixed in the Windows 10.0.14393 SDK. This leads to compile errors when building with this SDK. The incorrect function declaration is missing CALLBACK which can lead to stack mismatches so fixing the code to use the new declaration is important. A fixed typedef needs to be used throughout Chromium to ensure consistent stack cleanup. A cast is needed when calling into Windows (so that Chrome will continue to build with the Windows 10.0.10586 SDK) and that is the only time that the SDK supplied typedef should be used. BUG=644321 ========== to ========== Fix bluetooth callback function declaration The PFNBLUETOOTH_GATT_EVENT_CALLBACK typedef has been incorrect for years and was fixed in the Windows 10.0.14393 SDK. This leads to compile errors when building with this SDK. The incorrect function declaration is missing CALLBACK which can lead to stack mismatches so fixing the code to use the new declaration is important. A fixed typedef needs to be used throughout Chromium to ensure consistent stack cleanup. A cast is needed when calling into Windows (so that Chrome will continue to build with the Windows 10.0.10586 SDK) and that is the only time that the SDK supplied typedef should be used. BUG=644321 Committed: https://crrev.com/2181e0ecc3172fc2a5f4eee62a125f784f5993f5 Cr-Commit-Position: refs/heads/master@{#418138} ==========
Message was sent while issue was closed.
Patchset 4 (id:??) landed as https://crrev.com/2181e0ecc3172fc2a5f4eee62a125f784f5993f5 Cr-Commit-Position: refs/heads/master@{#418138} |