libvirt/daemon
Daniel P. Berrange 075bb5f1aa Move libvirtd event loop into background thread
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
2009-11-03 14:45:43 -05:00
..
.gitignore Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
Makefile.am Fix --with-init-script configure option 2009-11-02 17:57:05 +01:00
THREADING.txt Move libvirtd event loop into background thread 2009-11-03 14:45:43 -05:00
dispatch.c Pass remote_message_header to the dispatch functions. 2009-09-30 14:05:57 +02:00
dispatch.h Change signature of remoteSendStreamData() to fix compile warning 2009-09-30 12:37:10 +02:00
event.c Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
event.h Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.aug Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.c Move libvirtd event loop into background thread 2009-11-03 14:45:43 -05:00
libvirtd.conf Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.h Move libvirtd event loop into background thread 2009-11-03 14:45:43 -05:00
libvirtd.init.in Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.logrotate.in Do not log rotate very small logs 2009-10-21 13:56:04 +02:00
libvirtd.policy-0 Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.policy-1 Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.sasl Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.sysconf Allow control over QEMU audio backend 2009-09-29 15:53:10 +01:00
mdns.c Rename daemon main code 2009-09-21 14:41:45 +01:00
mdns.h Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
remote.c Remove unneccessary uri_in parameter from virMigratePrepareTunnel 2009-10-09 12:35:06 +01:00
remote.h Pass remote_message_header to the dispatch functions. 2009-09-30 14:05:57 +02:00
remote_dispatch_args.h Tunnelled migration. 2009-10-02 11:43:26 +02:00
remote_dispatch_prototypes.h Tunnelled migration. 2009-10-02 11:43:26 +02:00
remote_dispatch_ret.h Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
remote_dispatch_table.h Tunnelled migration. 2009-10-02 11:43:26 +02:00
remote_generate_stubs.pl Pass remote_message_header to the dispatch functions. 2009-09-30 14:05:57 +02:00
stream.c Let remoteClientStream only do RX if requested. 2009-09-30 14:05:41 +02:00
stream.h Let remoteClientStream only do RX if requested. 2009-09-30 14:05:41 +02:00
test_libvirtd.aug Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00