diff --git a/src/uterm_vt.c b/src/uterm_vt.c index 477772c..d920a28 100644 --- a/src/uterm_vt.c +++ b/src/uterm_vt.c @@ -110,6 +110,9 @@ static void real_enter(struct uterm_vt *vt, struct signalfd_siginfo *info) struct vt_stat vts; int ret; + if (info->ssi_code != SI_KERNEL) + return; + ret = ioctl(vt->real_fd, VT_GETSTATE, &vts); if (ret || vts.v_active != vt->real_num) return; @@ -129,6 +132,9 @@ static void real_leave(struct uterm_vt *vt, struct signalfd_siginfo *info) struct vt_stat vts; int ret; + if (info->ssi_code != SI_KERNEL) + return; + ret = ioctl(vt->real_fd, VT_GETSTATE, &vts); if (ret || vts.v_active != vt->real_num) return;