zeromq/czmq — pull request #251 by hintjens (2013-09-29 09:29:20+00:00)
Title: Various cleanups to zctx

* Asserts that zocket isn't null when destroying it; the tolerance for
null sockets is a bogus workaround against corruption of zctx from
unprotected use in multiple threads.

* Renamed 'main' to 'shadow' to make more explicit (negative property
names are not good).

* Renamed 'socketsMutex' to 'mutex' since (a) camelCase breaks our style
guidelines, and (b) we have one mutex to protect the object, there is
no value in qualifying the name.

* Cleaned up constructors, the code was messy.

* All methods that modify or read zctx properties needed to be protected
by the mutex, otherwise we'll get random outcomes.

* I still do not like the multithreaded zctx; it is incompatible with the
current code in zthreads (e.g. we don't need shadow contexts) and is
not sufficiently tested IMO. Also, I still don't see a valid use case
for it.