Note that `sceKernelWaitEventFlag()` has the property that it will *only* wait if the bits don't *already* match.

That is, if bit 1 is set on the flag already, and I wait on bit 1, nothing will happen (it won't even reschedule.)  If I specify to clear the bits if I get them (a parameter of `sceKernelWaitEventFlag()`), then it may clear the bits, though.

I suspect `DrawSync()` should also not block in some circumstances, and probably `ListSync()` as well.

-[Unknown]