tree fe9f76c4ea7bf31fe1c6bef106c63adf4e10a019
parent 5b9b1b89e900fd6f830d25965b1e6a20da559c7f
author Pavlin Radoslavov <pavlin@google.com> 1444266468 -0700
committer Scott James Remnant <keybuk@google.com> 1445276195 -0700

Update the usage of fixed_queue.

 * Relax non-NULL requirements for fixed_queue by eliminating
   some of the asserts.
   Now, when semantically possible, fixed_queue - related function
   will return the appropriate value even if the queue pointer is NULL.
   This reduces clutter in the code where we had to do anyway
   "if (queue != NULL)" checks.

 * Add non-NULL guards in the few remaining places where
   fixed_queue_get_list(). For now, we need to use this function,
   hence the extra check.
   That function should be eliminated in the future, because all the
   code where it is used violates the semantics of using a queue.

Bug: 24723840
Change-Id: I47632a3515f3d27856d4870e18723d345c040d64
