summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorChristopher Pascoe <pascoe@cvs.openbsd.org>2005-08-03 00:55:08 +0000
committerChristopher Pascoe <pascoe@cvs.openbsd.org>2005-08-03 00:55:08 +0000
commit8bbf229360c687bb6c568c36931adcb5b36444e8 (patch)
treea6826862cd194099e4623ad6d063b6995190c508 /sys
parent72ee18dae7383b73b880889d370525a0e4c38a12 (diff)
Eliminate another case where pool routines are called without process context.
Instead of purging immediately, let the state be purged at the purge interval. ok henning
Diffstat (limited to 'sys')
-rw-r--r--sys/net/if_pfsync.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/sys/net/if_pfsync.c b/sys/net/if_pfsync.c
index d682e74074f..b69184be6fd 100644
--- a/sys/net/if_pfsync.c
+++ b/sys/net/if_pfsync.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_pfsync.c,v 1.50 2005/08/01 11:14:47 pascoe Exp $ */
+/* $OpenBSD: if_pfsync.c,v 1.51 2005/08/03 00:55:07 pascoe Exp $ */
/*
* Copyright (c) 2002 Michael Shalayeff
@@ -332,7 +332,7 @@ pfsync_input(struct mbuf *m, ...)
nexts = RB_NEXT(pf_state_tree_id, &tree_id, st);
if (st->creatorid == creatorid) {
st->timeout = PFTM_PURGE;
- pf_purge_expired_state(st);
+ st->sync_flags |= PFSTATE_FROMSYNC;
}
}
} else {
@@ -346,7 +346,7 @@ pfsync_input(struct mbuf *m, ...)
&kif->pfik_lan_ext, st);
if (st->creatorid == creatorid) {
st->timeout = PFTM_PURGE;
- pf_purge_expired_state(st);
+ st->sync_flags |= PFSTATE_FROMSYNC;
}
}
}
@@ -513,7 +513,6 @@ pfsync_input(struct mbuf *m, ...)
}
st->timeout = PFTM_PURGE;
st->sync_flags |= PFSTATE_FROMSYNC;
- pf_purge_expired_state(st);
}
splx(s);
break;
@@ -636,7 +635,6 @@ pfsync_input(struct mbuf *m, ...)
}
st->timeout = PFTM_PURGE;
st->sync_flags |= PFSTATE_FROMSYNC;
- pf_purge_expired_state(st);
}
splx(s);
break;