Don't let parent of daemon exit until basic initialization is done
Don't let parent of daemon exit until basic initialization is done

The daemonizing code lets the parent exit almost immediately. This
means that it may think it has successfully started even when
important failures occur like not being able to acquire the PID
file. It also means network sockets are not yet open.

To address this when daemonizing the parent passes an open pipe
file descriptor to the child. The child does its basic initialization
and then writes a status code to the pipe indicating either success,
or failure. This ensures that when daemonizing, the parent does not
exit until the pidfile is acquired & basic network sockets are open.

Initialization of the libvirt drivers is still done asynchronously
since this may take a very long time.

* daemon/libvirtd.c: Force parent to stay around until basic config
  file, pidfile & network socket init is completed

jeckersb/libvirt,elmarco/libvirt,taget/libvirt,emaste/libvirt,siboulet/libvirt-openvz,rlaager/libvirt,soulxu/libvirt-xuhj,soulxu/libvirt-xuhj,agx/libvirt,leilihh/libvirt,emaste/libvirt,warewolf/libvirt,emaste/libvirt,zippy2/libvirt,libvirt/libvirt,novel/fbsd-libvirt,andreabolognani/libvirt,emaste/libvirt,jeckersb/libvirt,iam-TJ/libvirt,cbosdo/libvirt,rmarwaha/libvirt1,sshah-solarflare/Libvirt-PCI-passthrough-,rmarwaha/libvirt,jeckersb/libvirt,datto/libvirt,VenkatDatta/libvirt,iam-TJ/libvirt,jfehlig/libvirt,jardasgit/libvirt,shugaoye/libvirt,zhlcindy/libvirt-1.1.4-maintain,soulxu/libvirt-xuhj,crobinso/libvirt,novel/fbsd-libvirt,siboulet/libvirt-openvz,jfehlig/libvirt,eskultety/libvirt,wiedi/libvirt,usc-isi/libvirt,siboulet/libvirt-openvz,foomango/libvirt,crobinso/libvirt,amery/libvirt-vserver,amery/libvirt-vserver,novel/fbsd-libvirt,trainstack/libvirt,taget/libvirt,cbosdo/libvirt,bjzhang/libvirt,VenkatDatta/libvirt,danwent/libvirt-ovs,eskultety/libvirt,jeckersb/libvirt,novel/fbsd-libvirt,jeckersb/libvirt,iam-TJ/libvirt,jfehlig/libvirt,eskultety/libvirt,soulxu/libvirt-xuhj,datto/libvirt,VenkatDatta/libvirt,usc-isi/libvirt,zhlcindy/libvirt-1.1.4-maintain,libvirt/libvirt,VenkatDatta/libvirt,kantai/libvirt-vfork,shugaoye/libvirt,rmarwaha/libvirt1,fabianfreyer/libvirt,nertpinx/libvirt,foomango/libvirt,rmarwaha/libvirt,kantai/libvirt-vfork,olafhering/libvirt,iam-TJ/libvirt,rmarwaha/libvirt,dumbbell/libvirt,jeckersb/libvirt,jardasgit/libvirt,rmarwaha/libvirt,jfehlig/libvirt,iam-TJ/libvirt,novel/fbsd-libvirt,agx/libvirt,leilihh/libvirt,zhlcindy/libvirt-1.1.4-maintain,crobinso/libvirt,datto/libvirt,sshah-solarflare/Libvirt-PCI-passthrough-,jardasgit/libvirt,wiedi/libvirt,taget/libvirt,warewolf/libvirt,fabianfreyer/libvirt,zippy2/libvirt,rmarwaha/libvirt1,rbu/libvirt,trainstack/libvirt,leilihh/libvirt,jardasgit/libvirt,fabianfreyer/libvirt,cbosdo/libvirt,emaste/libvirt,andreabolognani/libvirt,sshah-solarflare/Libvirt-PCI-passthrough-,emaste/libvirt,eskultety/libvirt,rbu/libvirt,rmarwaha/libvirt,wiedi/libvirt,dumbbell/libvirt,agx/libvirt,andreabolognani/libvirt,bjzhang/libvirt,zhlcindy/libvirt-1.1.4-maintain,libvirt/libvirt,kantai/libvirt-vfork,wiedi/libvirt,leilihh/libvirt,leilihh/libvirt,iam-TJ/libvirt,usc-isi/libvirt,jardasgit/libvirt,amery/libvirt-vserver,warewolf/libvirt,nertpinx/libvirt,eskultety/libvirt,danwent/libvirt-ovs,warewolf/libvirt,olafhering/libvirt,cbosdo/libvirt,usc-isi/libvirt,andreabolognani/libvirt,danwent/libvirt-ovs,sshah-solarflare/Libvirt-PCI-passthrough-,datto/libvirt,zippy2/libvirt,taget/libvirt,usc-isi/libvirt,sshah-solarflare/Libvirt-PCI-passthrough-,rlaager/libvirt,shugaoye/libvirt,rbu/libvirt,danwent/libvirt-ovs,rmarwaha/libvirt1,fabianfreyer/libvirt,jeckersb/libvirt,agx/libvirt,cbosdo/libvirt,novel/fbsd-libvirt,libvirt/libvirt,rbu/libvirt,novel/fbsd-libvirt,dumbbell/libvirt,danwent/libvirt-ovs,elmarco/libvirt,bjzhang/libvirt,trainstack/libvirt,crobinso/libvirt,nertpinx/libvirt,dumbbell/libvirt,iam-TJ/libvirt,dumbbell/libvirt,amery/libvirt-vserver,zippy2/libvirt,wiedi/libvirt,nertpinx/libvirt,zhlcindy/libvirt-1.1.4-maintain,siboulet/libvirt-openvz,rbu/libvirt,foomango/libvirt,rlaager/libvirt,foomango/libvirt,taget/libvirt,elmarco/libvirt,warewolf/libvirt,warewolf/libvirt,olafhering/libvirt,novel/fbsd-libvirt,trainstack/libvirt,olafhering/libvirt,trainstack/libvirt,rmarwaha/libvirt,elmarco/libvirt,leilihh/libvirt,rmarwaha/libvirt1,bjzhang/libvirt,dumbbell/libvirt,kantai/libvirt-vfork,soulxu/libvirt-xuhj,trainstack/libvirt,siboulet/libvirt-openvz,foomango/libvirt,agx/libvirt,bjzhang/libvirt,andreabolognani/libvirt,wiedi/libvirt,fabianfreyer/libvirt,amery/libvirt-vserver,novel/fbsd-libvirt,rlaager/libvirt,emaste/libvirt,kantai/libvirt-vfork,VenkatDatta/libvirt,trainstack/libvirt,wiedi/libvirt,shugaoye/libvirt,datto/libvirt,nertpinx/libvirt,warewolf/libvirt,rmarwaha/libvirt1,shugaoye/libvirt,rlaager/libvirt,elmarco/libvirt