Deleted Added
full compact
43c43
< __FBSDID("$FreeBSD: stable/9/sys/contrib/pf/net/pf.c 225171 2011-08-25 09:38:33Z bz $");
---
> __FBSDID("$FreeBSD: stable/9/sys/contrib/pf/net/pf.c 226796 2011-10-26 15:36:48Z bz $");
1345,1352c1345
< sx_slock(&V_pf_consistency_lock);
< PF_LOCK();
< locked = 0;
<
< if (V_pf_end_threads) {
< PF_UNLOCK();
< sx_sunlock(&V_pf_consistency_lock);
< sx_xlock(&V_pf_consistency_lock);
---
> sx_slock(&V_pf_consistency_lock);
1353a1347
> locked = 0;
1355,1358c1349,1353
< pf_purge_expired_states(V_pf_status.states, 1);
< pf_purge_expired_fragments();
< pf_purge_expired_src_nodes(1);
< V_pf_end_threads++;
---
> if (V_pf_end_threads) {
> PF_UNLOCK();
> sx_sunlock(&V_pf_consistency_lock);
> sx_xlock(&V_pf_consistency_lock);
> PF_LOCK();
1360,1364c1355,1364
< sx_xunlock(&V_pf_consistency_lock);
< PF_UNLOCK();
< wakeup(pf_purge_thread);
< kproc_exit(0);
< }
---
> pf_purge_expired_states(V_pf_status.states, 1);
> pf_purge_expired_fragments();
> pf_purge_expired_src_nodes(1);
> V_pf_end_threads++;
>
> sx_xunlock(&V_pf_consistency_lock);
> PF_UNLOCK();
> wakeup(pf_purge_thread);
> kproc_exit(0);
> }
1370,1376c1370,1376
< if (!pf_purge_expired_states(1 + (V_pf_status.states /
< V_pf_default_rule.timeout[PFTM_INTERVAL]), 0)) {
< PF_UNLOCK();
< sx_sunlock(&V_pf_consistency_lock);
< sx_xlock(&V_pf_consistency_lock);
< PF_LOCK();
< locked = 1;
---
> if (!pf_purge_expired_states(1 + (V_pf_status.states /
> V_pf_default_rule.timeout[PFTM_INTERVAL]), 0)) {
> PF_UNLOCK();
> sx_sunlock(&V_pf_consistency_lock);
> sx_xlock(&V_pf_consistency_lock);
> PF_LOCK();
> locked = 1;
1378,1380c1378,1380
< pf_purge_expired_states(1 + (V_pf_status.states /
< V_pf_default_rule.timeout[PFTM_INTERVAL]), 1);
< }
---
> pf_purge_expired_states(1 + (V_pf_status.states /
> V_pf_default_rule.timeout[PFTM_INTERVAL]), 1);
> }
1629,1630c1629,1630
< if (pfsync_state_in_use_ptr != NULL)
< pfsync_state_in_use_ptr(cur);
---
> if (pfsync_state_in_use_ptr != NULL &&
> pfsync_state_in_use_ptr(cur))