Cap the poll timeout in the DHCP Snooping code to a max. of 10 seconds
to not hold up the libvirt shutdown longer than this.
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
const unsigned int burstRate;
const unsigned int burstInterval;
};
+#define SNOOP_POLL_MAX_TIMEOUT_MS (10 * 1000) /* milliseconds */
typedef struct _virNWFilterSnoopPcapConf virNWFilterSnoopPcapConf;
typedef virNWFilterSnoopPcapConf *virNWFilterSnoopPcapConfPtr;
break;
}
+ /* cap pollTo so we don't hold up the join for too long */
+ if (pollTo < 0 || pollTo > SNOOP_POLL_MAX_TIMEOUT_MS)
+ pollTo = SNOOP_POLL_MAX_TIMEOUT_MS;
+
n = poll(fds, ARRAY_CARDINALITY(fds), pollTo);
if (n < 0) {