[Midnightbsd-cvs] src: nmdm.c: let's make it tick
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sun Mar 29 12:33:38 EDT 2009
Log Message:
-----------
let's make it tick
Modified Files:
--------------
src/sys/dev/nmdm:
nmdm.c (r1.1.1.1 -> r1.2)
-------------- next part --------------
Index: nmdm.c
===================================================================
RCS file: /home/cvs/src/sys/dev/nmdm/nmdm.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -L sys/dev/nmdm/nmdm.c -L sys/dev/nmdm/nmdm.c -u -r1.1.1.1 -r1.2
--- sys/dev/nmdm/nmdm.c
+++ sys/dev/nmdm/nmdm.c
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/nmdm/nmdm.c,v 1.35.2.1 2005/08/13 21:24:15 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/nmdm/nmdm.c,v 1.39 2007/08/01 21:38:11 emax Exp $");
/*
* Pseudo-nulmodem driver
@@ -41,6 +41,7 @@
#include <sys/param.h>
#include <sys/systm.h>
+#include <sys/priv.h>
#include <sys/proc.h>
#include <sys/tty.h>
#include <sys/conf.h>
@@ -62,9 +63,6 @@
static t_param_t nmdmparam;
static t_stop_t nmdmstop;
-static void nmdminit(struct cdev *dev);
-
-
static struct cdevsw nmdm_cdevsw = {
.d_version = D_VERSION,
.d_open = nmdmopen,
@@ -235,7 +233,7 @@
pt->part1.dev = dev1;
pt->part2.dev = dev2;
- pt->part1.nm_tty = ttymalloc(pt->part1.nm_tty);
+ pt->part1.nm_tty = ttyalloc();
pt->part1.nm_tty->t_oproc = nmdmoproc;
pt->part1.nm_tty->t_stop = nmdmstop;
pt->part1.nm_tty->t_modem = nmdmmodem;
@@ -245,7 +243,7 @@
TASK_INIT(&pt->part1.pt_task, 0, nmdm_task_tty, pt->part1.nm_tty);
callout_init(&pt->part1.co, 0);
- pt->part2.nm_tty = ttymalloc(pt->part2.nm_tty);
+ pt->part2.nm_tty = ttyalloc();
pt->part2.nm_tty->t_oproc = nmdmoproc;
pt->part2.nm_tty->t_stop = nmdmstop;
pt->part2.nm_tty->t_modem = nmdmmodem;
@@ -289,7 +287,8 @@
if ((tp->t_state & TS_ISOPEN) == 0) {
ttyinitmode(tp, 0, 0);
ttsetwater(tp); /* XXX ? */
- } else if (tp->t_state & TS_XCLUDE && suser(td)) {
+ } else if (tp->t_state & TS_XCLUDE &&
+ priv_check(td, PRIV_TTY_EXCLUSIVE)) {
return (EBUSY);
}
@@ -402,8 +401,13 @@
static int
nmdmclose(struct cdev *dev, int flag, int mode, struct thread *td)
{
+ struct tty *tp = dev->si_tty;
+ int error;
- return (tty_close(dev->si_tty));
+ error = ttyld_close(tp, flag);
+ (void) tty_close(dev->si_tty);
+
+ return (error);
}
static void
More information about the Midnightbsd-cvs
mailing list