summaryrefslogtreecommitdiff
path: root/aserver/aserver.c
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2003-03-18 18:00:05 +0000
committerJaroslav Kysela <perex@perex.cz>2003-03-18 18:00:05 +0000
commit2e7fe2865ad49e531fe07abb96fd3c66f6e07e91 (patch)
tree3c70cf4df1f02b3a86d4edec906965334f88245f /aserver/aserver.c
parentad49e473ec4c2b4822849f6f01db60af658ee6a2 (diff)
downloadalsa-lib-2e7fe2865ad49e531fe07abb96fd3c66f6e07e91.tar.gz
Moved send_fd/receive_fd routines to src/socket.c .
Diffstat (limited to 'aserver/aserver.c')
-rw-r--r--aserver/aserver.c35
1 files changed, 1 insertions, 34 deletions
diff --git a/aserver/aserver.c b/aserver/aserver.c
index cef3641c..14d90a28 100644
--- a/aserver/aserver.c
+++ b/aserver/aserver.c
@@ -106,39 +106,6 @@ static int make_inet_socket(int port)
return sock;
}
-static int send_fd(int sock, void *data, size_t len, int fd)
-{
- int ret;
- size_t cmsg_len = CMSG_LEN(sizeof(int));
- struct cmsghdr *cmsg = alloca(cmsg_len);
- int *fds = (int *) CMSG_DATA(cmsg);
- struct msghdr msghdr;
- struct iovec vec;
-
- vec.iov_base = (void *)&data;
- vec.iov_len = len;
-
- cmsg->cmsg_len = cmsg_len;
- cmsg->cmsg_level = SOL_SOCKET;
- cmsg->cmsg_type = SCM_RIGHTS;
- *fds = fd;
-
- msghdr.msg_name = NULL;
- msghdr.msg_namelen = 0;
- msghdr.msg_iov = &vec;
- msghdr.msg_iovlen = 1;
- msghdr.msg_control = cmsg;
- msghdr.msg_controllen = cmsg_len;
- msghdr.msg_flags = 0;
-
- ret = sendmsg(sock, &msghdr, 0 );
- if (ret < 0) {
- SYSERROR("sendmsg failed");
- return -errno;
- }
- return ret;
-}
-
struct pollfd *pollfds;
unsigned int pollfds_count = 0;
typedef struct waiter waiter_t;
@@ -397,7 +364,7 @@ static int shm_ack_fd(client_t *client, int fd)
pfd.events = POLLHUP;
if (poll(&pfd, 1, 0) == 1)
return -EBADFD;
- err = send_fd(client->ctrl_fd, buf, 1, fd);
+ err = snd_send_fd(client->ctrl_fd, buf, 1, fd);
if (err != 1)
return -EBADFD;
return 0;