Page MenuHomeFreeBSD

D34863.id104832.diff
No OneTemporary

D34863.id104832.diff

Index: usr.sbin/bhyve/snapshot.c
===================================================================
--- usr.sbin/bhyve/snapshot.c
+++ usr.sbin/bhyve/snapshot.c
@@ -1450,14 +1450,15 @@
void *
checkpoint_thread(void *param)
{
+ int fd;
struct checkpoint_thread_info *thread_info;
nvlist_t *nvl;
pthread_set_name_np(pthread_self(), "checkpoint thread");
thread_info = (struct checkpoint_thread_info *)param;
- for (;;) {
- nvl = nvlist_recv(thread_info->socket_fd, 0);
+ while ((fd = accept(thread_info->socket_fd, NULL, NULL)) != -1) {
+ nvl = nvlist_recv(fd, 0);
if (nvl != NULL)
handle_message(thread_info->ctx, nvl);
else
@@ -1515,7 +1516,7 @@
memset(&addr, 0, sizeof(addr));
- socket_fd = socket(PF_UNIX, SOCK_DGRAM, 0);
+ socket_fd = socket(PF_UNIX, SOCK_STREAM, 0);
if (socket_fd < 0) {
EPRINTLN("Socket creation failed: %s", strerror(errno));
err = -1;
@@ -1536,6 +1537,12 @@
goto fail;
}
+ if (listen(socket_fd, 10) < 0) {
+ EPRINTLN("ipc socket listen: %s\n", strerror(errno));
+ err = errno;
+ goto fail;
+ }
+
checkpoint_info = calloc(1, sizeof(*checkpoint_info));
checkpoint_info->ctx = ctx;
checkpoint_info->socket_fd = socket_fd;
Index: usr.sbin/bhyvectl/bhyvectl.c
===================================================================
--- usr.sbin/bhyvectl/bhyvectl.c
+++ usr.sbin/bhyvectl/bhyvectl.c
@@ -1687,7 +1687,7 @@
struct sockaddr_un addr;
int err, socket_fd;
- socket_fd = socket(PF_UNIX, SOCK_DGRAM, 0);
+ socket_fd = socket(PF_UNIX, SOCK_STREAM, 0);
if (socket_fd < 0) {
perror("Error creating bhyvectl socket");
err = -1;
@@ -1699,7 +1699,7 @@
snprintf(addr.sun_path, sizeof(addr.sun_path), "%s%s", BHYVE_RUN_DIR, vmname);
- if (connect(socket_fd, (struct sockaddr *)&addr, SUN_LEN(&addr)) != 0) {
+ if (connect(socket_fd, (struct sockaddr *)&addr, sizeof(addr)) != 0) {
perror("connect() failed");
err = errno;
goto done;

File Metadata

Mime Type
text/plain
Expires
Wed, Jan 21, 2:46 PM (13 h, 14 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27809445
Default Alt Text
D34863.id104832.diff (1 KB)

Event Timeline