race condition in inproc transport shutdown fixed

This commit is contained in:
Martin Sustrik
2009-11-21 21:30:09 +01:00
parent 64634605b3
commit c41daca3da
6 changed files with 29 additions and 12 deletions

View File

@@ -83,7 +83,8 @@ void zmq::object_t::process_command (command_t &cmd_)
return;
case command_t::bind:
process_bind (cmd_.args.bind.in_pipe, cmd_.args.bind.out_pipe);
process_bind (cmd_.args.bind.in_pipe, cmd_.args.bind.out_pipe,
cmd_.args.bind.adjust_seqnum);
return;
case command_t::pipe_term:
@@ -183,13 +184,14 @@ void zmq::object_t::send_attach (session_t *destination_, i_engine *engine_)
}
void zmq::object_t::send_bind (object_t *destination_,
reader_t *in_pipe_, writer_t *out_pipe_)
reader_t *in_pipe_, writer_t *out_pipe_, bool adjust_seqnum_)
{
command_t cmd;
cmd.destination = destination_;
cmd.type = command_t::bind;
cmd.args.bind.in_pipe = in_pipe_;
cmd.args.bind.out_pipe = out_pipe_;
cmd.args.bind.adjust_seqnum = adjust_seqnum_;
send_command (cmd);
}
@@ -263,7 +265,8 @@ void zmq::object_t::process_attach (i_engine *engine_)
zmq_assert (false);
}
void zmq::object_t::process_bind (reader_t *in_pipe_, writer_t *out_pipe_)
void zmq::object_t::process_bind (reader_t *in_pipe_, writer_t *out_pipe_,
bool adjust_seqnum_)
{
zmq_assert (false);
}