diff options
author | 2011-07-07 00:08:04 +0000 | |
---|---|---|
committer | 2011-07-07 00:08:04 +0000 | |
commit | 0c1260220c696b1aec8127a3a448a753c3915186 (patch) | |
tree | f4248bd1e408673996e7a868f5f5fa4570e771c3 | |
parent | rc.d(8) now handle some base daemons as well. (diff) | |
download | wireguard-openbsd-0c1260220c696b1aec8127a3a448a753c3915186.tar.xz wireguard-openbsd-0c1260220c696b1aec8127a3a448a753c3915186.zip |
another case of "clever" fiddling with ifq internals, just stumbled over
this in my monster diff and wondered that i hadn't put that in already...
claudio ryan ok
-rw-r--r-- | sys/net/if_spppsubr.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/net/if_spppsubr.c b/sys/net/if_spppsubr.c index 3c12312a1ca..35cdad33106 100644 --- a/sys/net/if_spppsubr.c +++ b/sys/net/if_spppsubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_spppsubr.c,v 1.93 2011/07/06 02:54:31 henning Exp $ */ +/* $OpenBSD: if_spppsubr.c,v 1.94 2011/07/07 00:08:04 henning Exp $ */ /* * Synchronous PPP/Cisco link level subroutines. * Keepalive protocol implemented in both Cisco and PPP modes. @@ -1056,12 +1056,14 @@ sppp_pick(struct ifnet *ifp) int s; s = splnet(); - m = sp->pp_cpq.ifq_head; + IF_POLL(&sp->pp_cpq, m); if (m == NULL && (sp->pp_phase == PHASE_NETWORK || - (sp->pp_flags & PP_CISCO) != 0)) - if ((m = sp->pp_fastq.ifq_head) == NULL) + (sp->pp_flags & PP_CISCO) != 0)) { + IF_POLL(&sp->pp_fastq, m); + if ((m) == NULL) IFQ_POLL(&sp->pp_if.if_snd, m); + } splx (s); return (m); } |