FreeBSD Bugzilla – Attachment 229702 Details for
Bug 260023
emulators/qemu-guest-agent: update to fix zombie processes
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
emulators/qemu-guest-agent: update to fix zombie processes
emulators-qemu-guest-agent.patch (text/plain), 3.15 KB, created by
Frank Wall
on 2021-11-24 16:16:11 UTC
(
hide
)
Description:
emulators/qemu-guest-agent: update to fix zombie processes
Filename:
MIME Type:
Creator:
Frank Wall
Created:
2021-11-24 16:16:11 UTC
Size:
3.15 KB
patch
obsolete
>commit 5fb2a92b7dde17307bc89ff9df598de475bbe77d >Author: Frank Wall <fw@moov.de> >Date: Wed Nov 24 17:15:01 2021 +0100 > > emulators/qemu-guest-agent: update to fix zombie processes > >diff --git a/emulators/qemu-guest-agent/Makefile b/emulators/qemu-guest-agent/Makefile >index 21b02023f317..5466e82bb7f7 100644 >--- a/emulators/qemu-guest-agent/Makefile >+++ b/emulators/qemu-guest-agent/Makefile >@@ -2,6 +2,7 @@ > > PORTNAME= qemu > DISTVERSION= 5.0.1 >+PORTREVISION= 1 > CATEGORIES= emulators > MASTER_SITES= https://download.qemu.org/ > PKGNAMESUFFIX= -guest-agent >diff --git a/emulators/qemu-guest-agent/files/patch-qga_commands-posix.c b/emulators/qemu-guest-agent/files/patch-qga_commands-posix.c >index 11dce8e5b8fc..58711c1a1a25 100644 >--- a/emulators/qemu-guest-agent/files/patch-qga_commands-posix.c >+++ b/emulators/qemu-guest-agent/files/patch-qga_commands-posix.c >@@ -528,40 +528,35 @@ > +{ > + FsMount *mount; > + char const *dfcmd = "/bin/df -hT"; >-+ //char buf[BUFSIZE]; > + > + FILE *fp; > + char *line = NULL; >-+ //, *dash; > + size_t n; > + int ret; >-+ //, dir_s, dir_e, type_s, type_e, dev_s, dev_e; >-+ char dev_name[30], fstype[10], size[10], used[10], free[10], load[10], mounted[30]; >-+ //int dev_name, fstype, size, used, free, load, mounted; >++ int status; >++ char dev_name[30], fstype[10], size[10], used[10], frees[10], load[10], mounted[30]; > + > + if ((fp = popen(dfcmd, "r")) == NULL) { >-+ g_debug("Cannot open '%s'!!\n", dfcmd); >++ g_debug("Cannot open '%s'!!\n", dfcmd); > + return; > + } >-+ while (getline(&line, &n, fp) != -1) { >-+ //g_debug("line '%s'", line); >-+ ret = sscanf(line, "%s%s%s%s%s%s%s", >-+ dev_name, fstype, size, used, free, load, mounted); >-+ if (g_str_equal(dev_name, "Filesystem") >-+ ||g_str_equal(fstype,"devfs") >-+ ||g_str_equal(fstype,"procfs") >-+ ||g_str_equal(fstype,"fdescfs")) { >-+ continue; >-+ } >-+ //g_debug("ret '%d'", ret); >-+ >-+ if (ret < 7) { >++ while (getline(&line, &n, fp) != -1) { >++ ret = sscanf(line, "%s%s%s%s%s%s%s", >++ dev_name, fstype, size, used, frees, load, mounted); >++ if (g_str_equal(dev_name, "Filesystem") >++ ||g_str_equal(fstype,"devfs") >++ ||g_str_equal(fstype,"procfs") >++ ||g_str_equal(fstype,"fdescfs")) { >++ continue; >++ } >++ >++ if (ret < 7) { > + continue; > + } > + mount = g_new0(FsMount, 1); > + mount->dirname = g_strdup(dev_name); > + mount->devtype = g_strdup(fstype); >-+ mount->free = g_strdup(free); >++ mount->free = g_strdup(frees); > + mount->load = g_strdup(load); > + mount->size = g_strdup(size); > + mount->used = g_strdup(used); >@@ -571,9 +566,14 @@ > + > + QTAILQ_INSERT_TAIL(mounts, mount, next); > + } >-+ //free(line); >++ free(line); >++ >++ status = pclose(fp); >++ if (status == -1) { >++ g_debug("Cannot close '%s'!!\n", dfcmd); >++ return; >++ } > + >-+ fclose(fp); > +} > + > +/* ======================================================= */
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 260023
: 229702