aboutsummaryrefslogtreecommitdiff
path: root/sys/net/if_tun.c
diff options
context:
space:
mode:
authorAlfred Perlstein <alfred@FreeBSD.org>2002-05-01 20:44:46 +0000
committerAlfred Perlstein <alfred@FreeBSD.org>2002-05-01 20:44:46 +0000
commitf132072368c112104e35151ee7a1c30a1b74a107 (patch)
tree47fe7acf6ad89bf88d96ff3e57b5a8e31207cbf6 /sys/net/if_tun.c
parent3498b5ed098ffe6c6bc8e1679da55335a40e055d (diff)
downloadsrc-f132072368c112104e35151ee7a1c30a1b74a107.tar.gz
src-f132072368c112104e35151ee7a1c30a1b74a107.zip
Redo the sigio locking.
Turn the sigio sx into a mutex. Sigio lock is really only needed to protect interrupts from dereferencing the sigio pointer in an object when the sigio itself is being destroyed. In order to do this in the most unintrusive manner change pgsigio's sigio * argument into a **, that way we can lock internally to the function.
Notes
Notes: svn path=/head/; revision=95883
Diffstat (limited to 'sys/net/if_tun.c')
-rw-r--r--sys/net/if_tun.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/net/if_tun.c b/sys/net/if_tun.c
index b6c76680a010..a6c89fb01fb8 100644
--- a/sys/net/if_tun.c
+++ b/sys/net/if_tun.c
@@ -223,7 +223,7 @@ tunstart(struct ifnet *ifp)
wakeup((caddr_t)tp);
}
if (tp->tun_flags & TUN_ASYNC && tp->tun_sigio)
- pgsigio(tp->tun_sigio, SIGIO, 0);
+ pgsigio(&tp->tun_sigio, SIGIO, 0);
selwakeup(&tp->tun_rsel);
}