Jeff Brown 0f85ce3837 Improve MessageQueue sync barrier implementation.
Instead of acquiring and releasing a barrier using an up/down
counter, we post a message to the queue that represents the
barrier.  This is a more natural representation of the barrier
and better matches what we want to do with it: stall messages
behind the barrier in the queue while allowing messages earlier
in the queue to run as usual.

Refactored the MessageQueue a little bit to simplify the quit
logic and to better encapsulate the invariant that all
messages within the queue must have a valid target.  Messages
without targets are used to represent barriers.

Bug: 5721047
Change-Id: Id297d9995474b5e3f17d24e302c58168e0a00394
2012-02-16 14:58:33 -08:00
..
2012-01-20 14:43:38 -08:00
2012-02-15 15:06:01 -08:00
2012-02-10 14:34:07 -08:00
2012-02-10 10:51:21 -08:00
2012-01-27 11:03:05 -08:00
2012-02-10 13:02:11 -08:00