Commit 17132f03 authored by Luca Boccassi's avatar Luca Boccassi

Problem: read-after-free when closing socket

Solution: use socket object's mutex before the send_reap() call that
might deallocate it
parent e9380b5a
......@@ -1290,12 +1290,13 @@ int zmq::socket_base_t::close ()
// Mark the socket as dead
tag = 0xdeadbeef;
EXIT_MUTEX ();
// Transfer the ownership of the socket from this application thread
// to the reaper thread which will take care of the rest of shutdown
// process.
send_reap (this);
EXIT_MUTEX ();
return 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment