summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bhyve/mevent.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/bhyve/mevent.c')
-rw-r--r--usr.sbin/bhyve/mevent.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/usr.sbin/bhyve/mevent.c b/usr.sbin/bhyve/mevent.c
index b83ec69..07d3baf 100644
--- a/usr.sbin/bhyve/mevent.c
+++ b/usr.sbin/bhyve/mevent.c
@@ -52,9 +52,10 @@ __FBSDID("$FreeBSD$");
#define MEVENT_MAX 64
-#define MEV_ENABLE 1
-#define MEV_DISABLE 2
-#define MEV_DEL_PENDING 3
+#define MEV_ADD 1
+#define MEV_ENABLE 2
+#define MEV_DISABLE 3
+#define MEV_DEL_PENDING 4
extern char *vmname;
@@ -147,10 +148,11 @@ mevent_kq_flags(struct mevent *mevp)
int ret;
switch (mevp->me_state) {
+ case MEV_ADD:
+ ret = EV_ADD; /* implicitly enabled */
+ break;
case MEV_ENABLE:
- ret = EV_ADD;
- if (mevp->me_type == EVF_TIMER)
- ret |= EV_ENABLE;
+ ret = EV_ENABLE;
break;
case MEV_DISABLE:
ret = EV_DISABLE;
@@ -158,6 +160,9 @@ mevent_kq_flags(struct mevent *mevp)
case MEV_DEL_PENDING:
ret = EV_DELETE;
break;
+ default:
+ assert(0);
+ break;
}
return (ret);
@@ -284,7 +289,7 @@ mevent_add(int tfd, enum ev_type type,
LIST_INSERT_HEAD(&change_head, mevp, me_list);
mevp->me_cq = 1;
- mevp->me_state = MEV_ENABLE;
+ mevp->me_state = MEV_ADD;
mevent_notify();
exit:
OpenPOWER on IntegriCloud