In order to drop network driver lock, lets annotate which
structure items are immutable, which have self-locking
APIs and so on.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
struct _virNetworkDriverState {
virMutex lock;
+ /* Immutable pointer, self-locking APIs */
virNetworkObjListPtr networks;
+ /* Immutable pointers, Immutable objects */
char *networkConfigDir;
char *networkAutostartDir;
char *stateDir;
char *pidDir;
char *dnsmasqStateDir;
char *radvdStateDir;
+
+ /* Require lock to get a reference on the object,
+ * lockless access thereafter
+ */
dnsmasqCapsPtr dnsmasqCaps;
+ /* Immutable pointer, self-locking APIs */
virObjectEventStatePtr networkEventState;
};