The application hangs on rpcz::application destructor, trying to destroy own zmq context. I investigated the issue a bit and found that the destroying of the context hangs because it still has open sockets. I suppose that the socket under question is the connectionmanager::socket, which has type of boost::thread_specific_ptrzmq::socket_t
I changed the type of the socket to boost::scoped_ptr and the issue gone. However I'm not sure that the fix is valid.
Hi,
The following code hangs an application that uses RPCZ:
The application hangs on rpcz::application destructor, trying to destroy own zmq context. I investigated the issue a bit and found that the destroying of the context hangs because it still has open sockets. I suppose that the socket under question is the connectionmanager::socket, which has type of boost::thread_specific_ptrzmq::socket_t
I changed the type of the socket to boost::scoped_ptr and the issue gone. However I'm not sure that the fix is valid.