mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 17:23:56 -06:00
qga: replace qemu_open_old() with qga_open_cloexec()
qemu_open_old() uses qemu_open_internal() which handles special "/dev/fdset/" path for monitor fd sets, set CLOEXEC, and uses Error reporting (and some O_DIRECT special error casing). The monitor fdset handling is unnecessary for qga, use qga_open_cloexec() instead. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com> Message-Id: <20220525144140.591926-9-marcandre.lureau@redhat.com>
This commit is contained in:
parent
87ed8b2c2c
commit
b9947c9ce7
2 changed files with 13 additions and 8 deletions
|
@ -1,8 +1,10 @@
|
|||
#include "qemu/osdep.h"
|
||||
#include "qemu/cutils.h"
|
||||
#include <termios.h>
|
||||
#include "qapi/error.h"
|
||||
#include "qemu/sockets.h"
|
||||
#include "channel.h"
|
||||
#include "cutils.h"
|
||||
|
||||
#ifdef CONFIG_SOLARIS
|
||||
#include <stropts.h>
|
||||
|
@ -127,11 +129,14 @@ static gboolean ga_channel_open(GAChannel *c, const gchar *path,
|
|||
switch (c->method) {
|
||||
case GA_CHANNEL_VIRTIO_SERIAL: {
|
||||
assert(fd < 0);
|
||||
fd = qemu_open_old(path, O_RDWR | O_NONBLOCK
|
||||
fd = qga_open_cloexec(
|
||||
path,
|
||||
#ifndef CONFIG_SOLARIS
|
||||
| O_ASYNC
|
||||
O_ASYNC |
|
||||
#endif
|
||||
);
|
||||
O_RDWR | O_NONBLOCK,
|
||||
0
|
||||
);
|
||||
if (fd == -1) {
|
||||
error_setg_errno(errp, errno, "error opening channel");
|
||||
return false;
|
||||
|
@ -156,7 +161,7 @@ static gboolean ga_channel_open(GAChannel *c, const gchar *path,
|
|||
struct termios tio;
|
||||
|
||||
assert(fd < 0);
|
||||
fd = qemu_open_old(path, O_RDWR | O_NOCTTY | O_NONBLOCK);
|
||||
fd = qga_open_cloexec(path, O_RDWR | O_NOCTTY | O_NONBLOCK, 0);
|
||||
if (fd == -1) {
|
||||
error_setg_errno(errp, errno, "error opening channel");
|
||||
return false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue