python: Grab all keys before zeroing
authorSasha Goldshtein <goldshtn@gmail.com>
Tue, 25 Oct 2016 14:27:38 +0000 (07:27 -0700)
committerSasha Goldshtein <goldshtn@gmail.com>
Tue, 25 Oct 2016 14:27:38 +0000 (07:27 -0700)
commit6031ccbda23993a5104b8a9724c2d994c23d0051
tree8070dbd96554463656a03090ea5ea607a8c745e4
parentdd7ec5a3a8a03872ec7aea6fc54d2397e56cdf78
python: Grab all keys before zeroing

To avoid a potential race with the key zeroing modifying
the next hash key retrieved by the loop in `Table.zero()`,
retrieve all the keys in user space first before starting
the zeroing loop. See discussion on #780.

Tested with `funccount 'SyS_*' -i 1` while running a heavy
read/write test application (`dd`) in the background for
several minutes with no visible issues.
src/python/bcc/table.py