Commit 480a0631 authored by Antoine Kaufmann's avatar Antoine Kaufmann
Browse files

dist/sockets: two fixes after refactor

fixes corrupted intro message and re-enables build of proxy in all
target.
parent ce1e69dd
......@@ -350,17 +350,19 @@ int BasePeerEvent(struct Peer *peer, uint32_t events) {
}
// receive intro message
ssize_t ret;
if (!peer->is_listener) {
/* not a listener, so we're expecting an fd for the shm region */
if (UxsocketRecvFd(peer->sock_fd, peer->intro_local,
sizeof(peer->intro_local), &peer->shm_fd))
ret = UxsocketRecvFd(peer->sock_fd, peer->intro_local,
sizeof(peer->intro_local), &peer->shm_fd);
if (ret <= 0)
return 1;
if (!(peer->shm_base = ShmMap(peer->shm_fd, &peer->shm_size)))
return 1;
} else {
/* as a listener, we use our local shm region, so no fd is sent to us */
ssize_t ret = recv(peer->sock_fd, peer->intro_local,
ret = recv(peer->sock_fd, peer->intro_local,
sizeof(peer->intro_local), 0);
if (ret <= 0) {
perror("PeerEvent: recv failed");
......@@ -368,6 +370,7 @@ int BasePeerEvent(struct Peer *peer, uint32_t events) {
}
}
peer->intro_local_len = ret;
peer->intro_valid_local = true;
// pass intro along
......
......@@ -35,9 +35,9 @@ $(bin_net_sockets): $(SOCKETS_OBJS) $(COMMON_OBJS) -lpthread
CLEAN := $(bin_net_rdma) $(bin_net_sockets) \
$(RDMA_OBJS) $(SOCKETS_OBJS) $(COMMON_OBJS)
ALL :=
ALL := $(bin_net_sockets)
ifeq ($(ENABLE_DIST),y)
ALL += $(bin_net_sockets) $(bin_net_rdma)
ALL += $(bin_net_rdma)
endif
include mk/subdir_post.mk
......@@ -488,7 +488,7 @@ int BaseOpPassIntro(struct Peer *peer) {
if (!msg)
return 1;
msg->msg_len = offsetof(struct SockMsg, entries.data) + peer->intro_local_len;
msg->msg_len = offsetof(struct SockMsg, intro.data) + peer->intro_local_len;
msg->id = peer - peers;
msg->msg_type = kMsgIntro;
msg->intro.payload_len = peer->intro_local_len;
......
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