X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=drm-lease-manager%2Ftest%2Ftest-socket-client.c;h=fa26500eef1c8a7156a39848b0d95f5c92063080;hb=refs%2Fchanges%2F65%2F27365%2F5;hp=9d191ff3d64a0348ef15b3c1519a2af8d51bc5bf;hpb=abb27e7774e3cd12bd3cfe3d4858bbe590e59be0;p=src%2Fdrm-lease-manager.git diff --git a/drm-lease-manager/test/test-socket-client.c b/drm-lease-manager/test/test-socket-client.c index 9d191ff..fa26500 100644 --- a/drm-lease-manager/test/test-socket-client.c +++ b/drm-lease-manager/test/test-socket-client.c @@ -66,40 +66,6 @@ static void client_gst_socket_status(int socket_fd, struct test_config *config) return; } -static int receive_fd_from_socket(int sockfd) -{ - union { - struct cmsghdr align; - char buf[CMSG_SPACE(sizeof(int))]; - } u; - - char data; - struct iovec iov = {.iov_base = &data, .iov_len = sizeof(data)}; - struct msghdr msg = { - .msg_iov = &iov, - .msg_iovlen = 1, - .msg_control = u.buf, - .msg_controllen = sizeof(u.buf), - }; - - if (recvmsg(sockfd, &msg, 0) < 0) - return -1; - - int recv_fd = -1; - for (struct cmsghdr *cmsg = CMSG_FIRSTHDR(&msg); cmsg != NULL; - cmsg = CMSG_NXTHDR(&msg, cmsg)) { - ck_assert_int_eq(cmsg->cmsg_level, SOL_SOCKET); - - if (cmsg->cmsg_type != SCM_RIGHTS) - continue; - - int nfds = (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int); - ck_assert_int_eq(nfds, 1); - recv_fd = *(int *)CMSG_DATA(cmsg); - } - return recv_fd; -} - static void *test_client_thread(void *arg) { struct client_state *cstate = arg; @@ -132,7 +98,7 @@ static void *test_client_thread(void *arg) client_gst_socket_status(client, config); if (config->has_data) { - config->received_fd = receive_fd_from_socket(client); + config->received_fd = receive_lease_fd(client); } cstate->socket_fd = client;