Page MenuHomeFreeBSD

D36715.id110993.diff
No OneTemporary

D36715.id110993.diff

diff --git a/sys/dev/vt/vt.h b/sys/dev/vt/vt.h
--- a/sys/dev/vt/vt.h
+++ b/sys/dev/vt/vt.h
@@ -48,6 +48,7 @@
#include <sys/terminal.h>
#include <sys/sysctl.h>
#include <sys/font.h>
+#include <sys/taskqueue.h>
#include "opt_syscons.h"
#include "opt_splash.h"
@@ -311,7 +312,7 @@
pid_t vw_pid; /* Terminal holding process */
struct proc *vw_proc;
struct vt_mode vw_smode; /* switch mode */
- struct callout vw_proc_dead_timer;
+ struct timeout_task vw_timeout_task_dead;
struct vt_window *vw_switch_to;
int vw_bell_pitch; /* (?) Bell pitch */
sbintime_t vw_bell_duration; /* (?) Bell duration */
diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c
--- a/sys/dev/vt/vt_core.c
+++ b/sys/dev/vt/vt_core.c
@@ -442,8 +442,7 @@
DPRINTF(40, "%s\n", __func__);
curvw->vw_switch_to = vw;
/* Set timer to allow switch in case when process hang. */
- callout_reset(&vw->vw_proc_dead_timer, hz * vt_deadtimer,
- vt_switch_timer, (void *)vw);
+ taskqueue_enqueue_timeout(taskqueue_thread, &vw->vw_timeout_task_dead, hz * vt_deadtimer);
/* Notify process about vt switch attempt. */
DPRINTF(30, "%s: Notify process.\n", __func__);
signal_vt_rel(curvw);
@@ -466,7 +465,7 @@
struct vt_window *curvw;
int ret;
- callout_stop(&vw->vw_proc_dead_timer);
+ taskqueue_cancel_timeout(taskqueue_thread, &vw->vw_timeout_task_dead, NULL);
ret = vt_window_switch(vw);
if (ret != 0) {
@@ -2045,7 +2044,7 @@
if (vw->vw_flags & VWF_SWWAIT_REL) {
vw->vw_flags &= ~VWF_SWWAIT_REL;
if (release) {
- callout_drain(&vw->vw_proc_dead_timer);
+ taskqueue_drain_timeout(taskqueue_thread, &vw->vw_timeout_task_dead);
(void)vt_late_window_switch(vw->vw_switch_to);
}
return (0);
@@ -2929,7 +2928,7 @@
terminal_set_winsize(tm, &wsz);
vd->vd_windows[window] = vw;
- callout_init(&vw->vw_proc_dead_timer, 1);
+ TIMEOUT_TASK_INIT(taskqueue_thread, &vw->vw_timeout_task_dead, 0, &vt_switch_timer, vw);
return (vw);
}
@@ -2953,7 +2952,7 @@
vw = vt_allocate_window(vd, i);
}
if (!(vw->vw_flags & VWF_READY)) {
- callout_init(&vw->vw_proc_dead_timer, 1);
+ TIMEOUT_TASK_INIT(taskqueue_thread, &vw->vw_timeout_task_dead, 0, &vt_switch_timer, vw);
terminal_maketty(vw->vw_terminal, "v%r", VT_UNIT(vw));
vw->vw_flags |= VWF_READY;
if (vw->vw_flags & VWF_CONSOLE) {
diff --git a/sys/dev/vt/vt_cpulogos.c b/sys/dev/vt/vt_cpulogos.c
--- a/sys/dev/vt/vt_cpulogos.c
+++ b/sys/dev/vt/vt_cpulogos.c
@@ -35,7 +35,6 @@
#include <sys/mutex.h>
#include <sys/smp.h>
#include <sys/systm.h>
-#include <sys/taskqueue.h>
#include <sys/terminal.h>
#include <dev/vt/vt.h>

File Metadata

Mime Type
text/plain
Expires
Sat, Feb 22, 5:34 AM (5 h, 9 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16766450
Default Alt Text
D36715.id110993.diff (2 KB)

Event Timeline