The previous code to block the socket from receiving on that pipe during a disconnect was vulnerable to a race condition. This code calls with the terminate functions of both ends of the pipe - I believe this should be safer. This required storing a pointer to the socket end of the pipe

This commit is contained in:
Ian Barber
2012-06-05 21:44:23 +01:00
parent 5008f385ba
commit 336f72720a
2 changed files with 7 additions and 2 deletions

View File

@@ -103,6 +103,9 @@ namespace zmq
// Pipe connecting the session to its socket.
zmq::pipe_t *pipe;
// Socket end of the pipe, for delay attach scenario
zmq::pipe_t *outpipe;
// This flag is true if the remainder of the message being processed
// is still in the in pipe.