Olaf Hering
169a723b60
OBS-URL: https://build.opensuse.org/package/show/Virtualization/hyper-v?expand=0&rev=25
23 lines
730 B
Diff
23 lines
730 B
Diff
--- hv_kvp_daemon.c.orig 2012-05-16 20:11:10.000000000 +0200
|
|
+++ hv_kvp_daemon.c 2012-05-16 20:40:08.000000000 +0200
|
|
@@ -701,14 +701,16 @@ int main(void)
|
|
pfd.fd = fd;
|
|
|
|
while (1) {
|
|
+ struct sockaddr *addr_p = (struct sockaddr *) &addr;
|
|
+ socklen_t addr_l = sizeof(addr);
|
|
pfd.events = POLLIN;
|
|
pfd.revents = 0;
|
|
poll(&pfd, 1, -1);
|
|
|
|
- len = recv(fd, kvp_recv_buffer, sizeof(kvp_recv_buffer), 0);
|
|
+ len = recvfrom(fd, kvp_recv_buffer, sizeof(kvp_recv_buffer), 0, addr_p, &addr_l);
|
|
|
|
- if (len < 0) {
|
|
- syslog(LOG_ERR, "recv failed; error:%d", len);
|
|
+ if (len < 0 || addr.nl_pid) {
|
|
+ syslog(LOG_ERR, "recvfrom failed; pid:%u error:%d %s", addr.nl_pid, errno, strerror(errno));
|
|
close(fd);
|
|
return -1;
|
|
}
|