Gleb Smirnoff e2cfe42430 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.
2012-09-28 20:43:03 +00:00
..
2012-09-26 09:37:58 +00:00
2012-09-27 18:15:01 +00:00
2012-09-14 22:00:03 +00:00
2012-09-23 19:40:58 +00:00
2012-09-18 08:00:43 +00:00
2012-08-16 19:22:34 +00:00
2012-08-16 13:01:56 +00:00
2012-09-23 09:13:57 +00:00
2012-09-27 19:10:25 +00:00