On Thu, Nov 3, 2011 at 2:27 PM, Ilja Golshtein <[email protected]> wrote:
> C++ simplifies resource management so maintaining socket lifetime is not as > painful as in pure C. The problem is not C/C++ but that zmq_term requires that you explicitly set LINGER on any active sockets, and close all sockets, before calling zmq_term, otherwise applications block forever at shutdown. > I am not a big fan of Swiss knife alike tools and don't understand why > messaging library should control user threads, > why GUI library should operate with DB, etc. There are three reasons: * to enable portable code, since threading is different on POSIX and Windows * to properly track socket creation, so shutdown can work safely * to provide higher-level semantics for threads, e.g. attached (sharing same context, connected by inproc 'pipe') / detached (using their own context) threads in CZMQ Since multithreading is such an important pattern in 0MQ applications, handling this properly in the language binding makes things much easier. > Reactors are different. Also useful, because they simplify many more complex 0MQ patterns. -Pieter _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
