|  |  | @ -819,6 +819,7 @@ bool _send_fd(int fd, int sockd, const char *file, const char *func, const int l | 
			
		
	
		
		
			
				
					
					|  |  |  | 	struct msghdr msg; |  |  |  | 	struct msghdr msg; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	char buf[2]; |  |  |  | 	char buf[2]; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	bool ret; |  |  |  | 	bool ret; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	int *cm; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	memset(&msg, 0, sizeof(struct msghdr)); |  |  |  | 	memset(&msg, 0, sizeof(struct msghdr)); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	iov[0].iov_base = buf; |  |  |  | 	iov[0].iov_base = buf; | 
			
		
	
	
		
		
			
				
					|  |  | @ -832,7 +833,8 @@ bool _send_fd(int fd, int sockd, const char *file, const char *func, const int l | 
			
		
	
		
		
			
				
					
					|  |  |  | 	cmptr->cmsg_level = SOL_SOCKET; |  |  |  | 	cmptr->cmsg_level = SOL_SOCKET; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	cmptr->cmsg_type = SCM_RIGHTS; |  |  |  | 	cmptr->cmsg_type = SCM_RIGHTS; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	cmptr->cmsg_len = CONTROLLLEN; |  |  |  | 	cmptr->cmsg_len = CONTROLLLEN; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	*(int *)CMSG_DATA(cmptr) = fd; |  |  |  | 	cm = (int *)CMSG_DATA(cmptr); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	*cm = fd; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	buf[1] = 0; |  |  |  | 	buf[1] = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	buf[0] = 0; |  |  |  | 	buf[0] = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	ret = send_unix_data(sockd, &msg); |  |  |  | 	ret = send_unix_data(sockd, &msg); | 
			
		
	
	
		
		
			
				
					|  |  | @ -850,6 +852,7 @@ int _get_fd(int sockd, const char *file, const char *func, const int line) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	struct iovec iov[1]; |  |  |  | 	struct iovec iov[1]; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	struct msghdr msg; |  |  |  | 	struct msghdr msg; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	struct cmsghdr *cmptr = ckzalloc(CONTROLLLEN); |  |  |  | 	struct cmsghdr *cmptr = ckzalloc(CONTROLLLEN); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	int *cm; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	memset(&msg, 0, sizeof(struct msghdr)); |  |  |  | 	memset(&msg, 0, sizeof(struct msghdr)); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	iov[0].iov_base = buf; |  |  |  | 	iov[0].iov_base = buf; | 
			
		
	
	
		
		
			
				
					|  |  | @ -865,7 +868,8 @@ int _get_fd(int sockd, const char *file, const char *func, const int line) | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | out: |  |  |  | out: | 
			
		
	
		
		
			
				
					
					|  |  |  | 	close(sockd); |  |  |  | 	close(sockd); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	newfd = *(int *)CMSG_DATA(cmptr); |  |  |  | 	cm = (int *)CMSG_DATA(cmptr); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	newfd = *cm; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	free(cmptr); |  |  |  | 	free(cmptr); | 
			
		
	
		
		
			
				
					
					|  |  |  | 	return newfd; |  |  |  | 	return newfd; | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |