Netflix/RxJava — pull request #593 by akarnokd (2013-12-09 08:53:21+00:00)
Title: Lock-free subscriptions

- Uniform naming of inner components: Issue #592
- Lock-free approach to avoid deadlocks: Issue #577

Remarks:
- IMO, an unsubscribed Single/Serial/Multiple subscription return Subscriptions.empty() instead of null. So unless the user put a null in there he/she shouldn't worry about null.
- There was a concurrency bug in @jloisel 's reimplementation of CompositeSubscription. It allowed multiple threads to enter the mutation part if the current state was already MUTATE. I've added the necessary checks to allow only NORMAL -> MUTATE transitions.