mirror of https://gitee.com/openkylin/libvirt.git
075bb5f1aa
The virStateInitialize() call for starting up stateful drivers may require that the event loop is running already. This it is neccessary to start the event loop before this call. At the same time, network clients must not be processed until afte virStateInitialize has completed. The qemudListenUnix() and remoteListenTCP() methods must therefore not register file handle watches, merely open the network sockets & listen() on them. This means clients can connected and are queued, pending completion of initialization The qemudRunLoop() method is moved into a background thread that is started early to allow access to the event loop during driver initialization. The main process thread leader pretty much does nothing once the daemon is running, merely waits for the event loop thread to quit * daemon/libvirtd.c, daemon/libvirtd.h: Move event loop into a background thread * daemon/THREADING.txt: Rewrite docs to better reflect reality |
||
---|---|---|
.. | ||
.gitignore | ||
Makefile.am | ||
THREADING.txt | ||
dispatch.c | ||
dispatch.h | ||
event.c | ||
event.h | ||
libvirtd.aug | ||
libvirtd.c | ||
libvirtd.conf | ||
libvirtd.h | ||
libvirtd.init.in | ||
libvirtd.logrotate.in | ||
libvirtd.policy-0 | ||
libvirtd.policy-1 | ||
libvirtd.sasl | ||
libvirtd.sysconf | ||
mdns.c | ||
mdns.h | ||
remote.c | ||
remote.h | ||
remote_dispatch_args.h | ||
remote_dispatch_prototypes.h | ||
remote_dispatch_ret.h | ||
remote_dispatch_table.h | ||
remote_generate_stubs.pl | ||
stream.c | ||
stream.h | ||
test_libvirtd.aug |