diff options
| author | Johan Hedberg <johan.hedberg@nokia.com> | 2007-09-05 14:27:18 +0000 | 
|---|---|---|
| committer | Johan Hedberg <johan.hedberg@nokia.com> | 2007-09-05 14:27:18 +0000 | 
| commit | c4e21c814832ea94f64821a2360a28074d03be1a (patch) | |
| tree | 5e0292327179920ca4b7dbc39d4539168a1f3b56 /audio/unix.c | |
| parent | 5e4e6d23323b869b36fb02d815dd4b928f94eacb (diff) | |
Cleanup fd passing a little
Diffstat (limited to 'audio/unix.c')
| -rw-r--r-- | audio/unix.c | 26 | 
1 files changed, 10 insertions, 16 deletions
| diff --git a/audio/unix.c b/audio/unix.c index accf6efb..cf225ae5 100644 --- a/audio/unix.c +++ b/audio/unix.c @@ -122,24 +122,18 @@ static void client_free(struct unix_client *client)  and the sendmsg() system call with the cmsg_type field of a "struct cmsghdr" set  to SCM_RIGHTS and the data being an integer value equal to the handle of the   file descriptor to be passed.*/ -static int unix_sendmsg_fd(int sock, int fd, struct ipc_packet *pkt) +static int unix_sendmsg_fd(int sock, int fd)  { -	char cmsg_b[CMSG_SPACE(sizeof(int))]; +	char cmsg_b[CMSG_SPACE(sizeof(int))], m = 'm';  	struct cmsghdr *cmsg; -	struct iovec iov =  { -		.iov_base = pkt, -		.iov_len  = sizeof(struct ipc_packet) -	}; +	struct iovec iov = { &m, sizeof(m) }; +	struct msghdr msgh; -	struct msghdr msgh = { -		.msg_name       = 0, -		.msg_namelen    = 0, -		.msg_iov        = &iov, -		.msg_iovlen     = 1, -		.msg_control    = &cmsg_b, -		.msg_controllen = CMSG_LEN(sizeof(int)), -		.msg_flags      = 0 -	}; +	memset(&msgh, 0, sizeof(msgh)); +	msgh.msg_iov = &iov; +	msgh.msg_iovlen = 1; +	msgh.msg_control = &cmsg_b; +	msgh.msg_controllen = CMSG_LEN(sizeof(int));  	cmsg = CMSG_FIRSTHDR(&msgh);  	cmsg->cmsg_level = SOL_SOCKET; @@ -237,7 +231,7 @@ static int unix_send_cfg(int sock, struct ipc_data_cfg *cfg, int fd)  	debug("%d bytes sent", len);  	if (fd != -1) { -		len = unix_sendmsg_fd(sock, fd, pkt); +		len = unix_sendmsg_fd(sock, fd);  		if (len < 0)  			error("Error %s(%d)", strerror(errno), errno);  		debug("%d bytes sent", len); | 
