The second argument of poll(2) is the number of file descriptors. POLLIN
is defined as 1 so it happens to work. Also reduce the size of array to
one as there is only one file descriptor.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Charles Arnold <carnold@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
static int qmp_read(int qfd, unsigned char **qstats)
{
unsigned char buf[1024], *ptr;
- struct pollfd pfd[2];
+ struct pollfd pfd[1];
int n, qsize = 0;
*qstats = NULL;
pfd[0].fd = qfd;
pfd[0].events = POLLIN;
- while ((n = poll(pfd, POLLIN, 10)) > 0) {
+ while ((n = poll(pfd, 1, 10)) > 0) {
if (pfd[0].revents & POLLIN) {
if ((n = read(qfd, buf, sizeof(buf))) < 0) {
free(*qstats);