On Tue, Jul 31, 2012 at 01:06:59PM -0600, Eric Blake wrote:
On 07/31/2012 10:58 AM, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange(a)redhat.com>
>
> Remove the use of a manually run virLogStartup and
> virNodeSuspendInitialize methods. Instead make sure they
> are automatically run using VIR_ONCE_GLOBAL_INIT
>
> Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
> ---
> daemon/libvirtd.c | 1 -
> src/libvirt.c | 4 +---
> src/libvirt_private.syms | 3 ---
> src/util/logging.c | 54 +++++++++++++--------------------------------
> src/util/logging.h | 2 --
> src/util/virnodesuspend.c | 25 +++++++++++----------
> src/util/virnodesuspend.h | 1 -
> 7 files changed, 29 insertions(+), 61 deletions(-)
ACK, what you have is a strict improvement. But given commit a22a36e8,
> @@ -407,8 +406,7 @@ virInitialize(void)
>
> if (virThreadInitialize() < 0 ||
> virErrorInitialize() < 0 ||
> - virRandomInitialize(time(NULL) ^ getpid()) ||
> - virNodeSuspendInit() < 0)
> + virRandomInitialize(time(NULL) ^ getpid()))
...should we be getting rid of virRandomInitialize and doing that in a
one-shot initializer as well, since at least seclabeltest would have
benefitted from it?
I did wonder about that when I wrote this. I didn't do it because
obviously virRandomInitialize has a parameter passed in. Now I see
that every single caller just does the same 'time(NULL) ^ getpid()'
we might as well just make virRandomInitialize be 'void' and used
the fixed pattern for seed.
I'll do this as a followup patch though
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|