If the user starts cache walking using PMDA_CACHE_WALK_REWIND
and then calls some other pmdaCacheOp operations like PMDA_CACHE_INACTIVE
the later will move the cache walk to the end of the cache which
is not entirely obvious to the caller - reserve the 'save' pointer
in the cache header to the 'external' walkers, i.e. those who
call WALK_REWIND/WALK_NEXT and make all internal walkers use
simple loop to iterate over all elements in the cache.
Result of messing with the cache which is been walked is undefined.
Don't allow internal cache iterators change cache walking state.
If the user starts cache walking using PMDA_CACHE_WALK_REWIND
and then calls some other pmdaCacheOp operations like PMDA_CACHE_INACTIVE
the later will move the cache walk to the end of the cache which
is not entirely obvious to the caller - reserve the 'save' pointer
in the cache header to the 'external' walkers, i.e. those who
call WALK_REWIND/WALK_NEXT and make all internal walkers use
simple loop to iterate over all elements in the cache.
Result of messing with the cache which is been walked is undefined.