{"push_id":625492412,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"6e57d9cda74e5c9f48b466e2fab7cd3331aa58a9","before":"c7070cb3d5a28bf078adab70015928cdf58d6276","commits":[{"sha":"6e57d9cda74e5c9f48b466e2fab7cd3331aa58a9","author":{"email":"df7f457f1cbbce7949b853d0dedaa77cd3977422@chromium.org","name":"James Robinson"},"message":"Gather trace data by waiting on handles with a fixed timeout\n\nThe tracing service collects to an arbitrary number of collectors and,\nwhen requested, asks all of these collectors to please send in all data\nthey have available and signal they are done by closing a collector\nmessage pipe. When this happens the tracing service would like to wait\nfor some period of time for all collectors to provide as much data as\npossible and then signal its caller as soon as it knows it has received\nand forwarded all data it will receive.\n\nThis behavior was implemented by posting a delayed task 5 seconds into\nthe future and then serving incoming calls as normal until the task ran.\nThis meant that the tracing service always waited for 5 seconds to\nsignal that all data was collected, even when all collectors complete\nmuch faster, and since the message loop is running handling overlapping\ncalls on message pipes other than the collectors is tricky.\n\nThis instead performs a blocking gather operation on the collector pipes\nby issuing a MojoWaitMany on only those message pipe handles and, when a\nhandle is signaled as readable, reading and dispatching a single message\nin a non-blocking fashion by using WaitForIncomingMethodCall() with a\ndeadline of 0.  This requires exposing a raw handle value from\nmojo::Binding so MojoWaitMany calls can be issued directly and exposing\na deadline parameter in WaitForIncomingMethodCall().\n\nR=viettrungluu@chromium.org\n\nReview URL: https://codereview.chromium.org/1055703002\n\nCr-Mirrored-From: https://github.com/domokit/mojo\nCr-Mirrored-Commit: 115caf812397a3347ca813dfec1a06b8e61f5494","distinct":true,"url":"https://api.github.com/repos/domokit/mojo_sdk/commits/6e57d9cda74e5c9f48b466e2fab7cd3331aa58a9"}]}