Searched hist:241039 (Results 1 - 1 of 1) sorted by relevance
/freebsd-10.3-release/sys/netpfil/pf/ | ||
H A D | pf.c | diff 241039 Fri Sep 28 20:48:54 MDT 2012 glebius Simplify and somewhat redesign interaction between pf_purge_thread() and pf_purge_expired_states(). Now pf purging daemon stores the current hash table index on stack in pf_purge_thread(), and supplies it to next iteration of pf_purge_expired_states(). The latter returns new index back. The important change is that whenever pf_purge_expired_states() wraps around the array it returns immediately. This makes our knowledge about status of states expiry run more consistent. Prior to this change it could happen that n-th run stopped on i-th entry, and returned (1) as full run complete, then next (n+1) full run stopped on j-th entry, where j < i, and that broke the mark-and-sweep algorythm that saves references rules. A referenced rule was freed, and this later lead to a crash. |
Completed in 61 milliseconds