mirror of
https://github.com/zeromq/libzmq.git
synced 2025-11-06 21:56:25 +01:00
Problem: ZMQ_BINDTODEVICE not used for ZMQ_DISH
Solution: apply the option outside of the send/recv_enabled blocks so that it is used for all types of UDP sockets
This commit is contained in:
@@ -101,6 +101,10 @@ void zmq::udp_engine_t::plug (io_thread_t* io_thread_, session_base_t *session_)
|
||||
io_object_t::plug (io_thread_);
|
||||
handle = add_fd (fd);
|
||||
|
||||
// Bind the socket to a device if applicable
|
||||
if (!options.bound_device.empty ())
|
||||
bind_to_device (fd, options.bound_device);
|
||||
|
||||
if (send_enabled) {
|
||||
if (!options.raw_socket) {
|
||||
out_address = address->resolved.udp_addr->dest_addr ();
|
||||
@@ -123,10 +127,6 @@ void zmq::udp_engine_t::plug (io_thread_t* io_thread_, session_base_t *session_)
|
||||
errno_assert (rc == 0);
|
||||
#endif
|
||||
|
||||
// Bind the socket to a device if applicable
|
||||
if (!options.bound_device.empty ())
|
||||
bind_to_device (fd, options.bound_device);
|
||||
|
||||
rc = bind (fd, address->resolved.udp_addr->bind_addr (),
|
||||
address->resolved.udp_addr->bind_addrlen ());
|
||||
#ifdef ZMQ_HAVE_WINDOWS
|
||||
|
||||
Reference in New Issue
Block a user