qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: [PATCH 04/14] Zero initialize timespec struct expli


From: malc
Subject: Re: [Qemu-devel] Re: [PATCH 04/14] Zero initialize timespec struct explicitly
Date: Mon, 30 Aug 2010 21:43:31 +0400 (MSD)
User-agent: Alpine 2.00 (LNX 1167 2008-08-23)

On Mon, 30 Aug 2010, Jes Sorensen wrote:

> On 08/30/10 18:56, malc wrote:
> > On Mon, 30 Aug 2010, Anthony Liguori wrote:
> > 
> >> On 08/30/2010 10:35 AM, address@hidden wrote:
> >>> From: Jes Sorensen<address@hidden>
> >>> diff --git a/linux-aio.c b/linux-aio.c
> >>> index 68f4b3d..3240996 100644
> >>> --- a/linux-aio.c
> >>> +++ b/linux-aio.c
> >>> @@ -118,7 +118,7 @@ static void qemu_laio_completion_cb(void *opaque)
> >>>           struct io_event events[MAX_EVENTS];
> >>>           uint64_t val;
> >>>           ssize_t ret;
> >>> -        struct timespec ts = { 0 };
> >>> +        struct timespec ts = { 0, 0 };
> >>>    
> >>
> >> I don't like these.  What's wrong with { } or { 0 }?  Implicit zeroing of
> >> members is a critical feature of structure initialization so if there is
> >> something wrong with this, it's important to know why because otherwise 
> >> we've
> >> got a massive amount of broken code.
> >>
> > 
> > Apart from gcc complaining about fields not being initialized explicitly
> > there's nothing wrong with it.
> 
> Sure it compiles, it works, but it's not pretty. What does it mean if
> you write = { 1 } in the above case?

It means exactly what standard says it should mean, i.e. set tv_sec to 1
and tv_nsec to 0.

> 
> Anyway the whole point of my patch is this, if we fix things like these,
> we are much more likely to be able to catch real bugs using some of
> gcc's checking. The patch I submitted is harmless code wise, but it
> makes it that bit easier to catch other bugs in the code. In my book
> that adds a lot of value.

FWIW I wasn't arguing against the patch.

-- 
mailto:address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]