❦ 10 avril 2018 08:27 +0200, Vincent Bernat <vincent(a)bernat.im> :
This is the responsability of the caller to apply the correct lock
before using these functions. Moreover, the use of a simple boolean
was still racy: two threads may check the boolean and "lock" it
simultaneously.
Users of functions from src/util/virhash.c have to be checked for
correctness. Lookups and iteration should hold a RO
lock. Modifications should hold a RW lock.
Most important uses seem to be covered. Callers have now a greater
responsability, notably the ability to execute some operations while
iterating were reliably forbidden before are now accepted.
Signed-off-by: Vincent Bernat <vincent(a)bernat.im>
Michal, is it enough or should I resend the patch with the added line?
--
Make your program read from top to bottom.
- The Elements of Programming Style (Kernighan & Plauger)