Fix dawn_wire_server_and_frontend_fuzzer's timeout

This was caused by DeviceNull's APITick() always returning true leading
to the Instance.ProcessEvents() polling code looping forever.

Until we fix the DeviceNull's implementation, only call
Instance.ProcessEvents() once for now.

Bug: chromium:1424846
Bug: dawn:1712
Change-Id: Ieead95230cfd9a5ee7c977a7da2a98e7486ea4ad
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124282
Kokoro: Austin Eng <enga@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
This commit is contained in:
Le Hoang Quyen 2023-03-15 20:16:51 +00:00 committed by Dawn LUCI CQ
parent d3c9e8c0fe
commit 8a237d9566
1 changed files with 3 additions and 2 deletions

View File

@ -134,8 +134,9 @@ int DawnWireServerFuzzer::Run(const uint8_t* data,
wireServer->HandleCommands(reinterpret_cast<const char*>(data), size); wireServer->HandleCommands(reinterpret_cast<const char*>(data), size);
// Flush remaining callbacks to avoid memory leaks. // Flush remaining callbacks to avoid memory leaks.
do { // TODO(crbug.com/dawn/1712): DeviceNull's APITick() will always return true so cannot
} while (sInstance->ProcessEvents()); // do a polling loop here.
sInstance->ProcessEvents();
// Note: Deleting the server will release all created objects. // Note: Deleting the server will release all created objects.
// Deleted devices will wait for idle on destruction. // Deleted devices will wait for idle on destruction.